Cara Membuat Nomor Faktur Otomatis dan Setiap Bulan Berganti Keawal Lagi || Java Swing - PemainMusiman
loading...

Wednesday, February 27, 2019

Cara Membuat Nomor Faktur Otomatis dan Setiap Bulan Berganti Keawal Lagi || Java Swing

Cara Membuat Nomor Faktur Otomatis dan Setiap Bulan Berganti Keawal Lagi || Java Swing





Hai gaes..

Pada setiap transaksi pasti akan ada nomor transaksi yang digunakan sebagai nomor unik. Nomor transaksi tersebut sangat membatu bila dibuat otomatis sehingga kita tidak perlu mengurutkannya lagi. Biasanya nomor transaksi akan ada 2 versi:
  1. Nomor transaksi yang urut terus walau berubah bulan akan berlanjut terus.
  2. Nomor transaksi yang urut dan akan mengikuti saat bulan berubah kembali ke awal lagi
Seperti penggunaan nomor faktur penjualan pada beberapa instansi akan menggunakan nomor transaksi pada versi ke dua. Versi kedua tersebut lebih banyak digunakan karena akan lebih mudah dalam melakukan tracking / pencarian suatu data. 

Disini saya akan membuat implementasi nomor otomatis yang berubah keawal saat bulan berubah dengan menggunakan Java. 

NOMOR PADA BULAN FEBRUARI 2019


NOMOR PADA BULAN MARET 2019


Bagaimana Cara Membuat Nomor Transaksi Otomatis Yang Setiap Berubah Bulan Nomor Kembali Keawal Pada JAVA SWING ?

1. Pertama saya membuat method nomor otomatis.
    no transaksi tersebut memiliki format SJPT-bulan tahun-nomor urut 
    (contoh= SJPT-0219-0006)
 private void noOtomatis(){
        try {
            DateFormat vblnth = new SimpleDateFormat("MMyy");
            String blnth = vblnth.format(Calendar.getInstance().getTime());
            int my = Integer.parseInt(tnoakhir.getText());
            int mmyy = Integer.parseInt(blnth);
            int urut = Integer.parseInt(tnourut.getText());
            Statement eksekusi = koneksi.getConnection().createStatement();
            String sql = " select max(kode_keluarbj)from tbkeluarbarangjadi";
            ResultSet rs = eksekusi.executeQuery(sql);
            while (rs.next()) {
                if(rs.first()==false){
                tkode.setText("SJPT-"+blnth+"-"+"0001");
                } else if (my!=mmyy) {
                      tkode.setText("SJPT-"+blnth+"-"+"0001");
                } else {
                      rs.last();
                      int autoid = urut ;
                      autoid   = autoid + 1;
                      String nomor = String.valueOf(autoid);
                      int noLong = nomor.length();
                      for(int a=0;a<4-noLong;a++){
                          nomor = "0" + nomor;
                      }
                      tkode.setText("SJPT-"+blnth+"-"+nomor);
                }
            }
            rs.close();
            eksekusi.close(); 
        } catch (Exception e) {
        }
    }
2. Kedua saya membuat method untuk mencari no transaksi yang terakhir disimpan di DB
    - Method tersebut saya beri nama tampilnoakhir.
    - Pada method ini saya akan pecah format no transaksi agar mendapatkan nilai dari bulan tahun 
      transaksi dan nomor urut transaksi.
    - Setelah dipecah saya juga panggil method nootomatis pada bagian bawah metod tampilnoakhir  
      agar setelah memilah bulan dan tahun kita panggin nomor otomatisnya.
private void tampilnoakir(){
    try{
        Statement eksekusi = koneksi.getConnection().createStatement();
        ResultSet rs = eksekusi.executeQuery("select kode_keluarbj from tbkeluarbarangjadi order by kode_keluarbj desc limit 1");
        DateFormat tgl=new SimpleDateFormat("MMyy");
        String htgl=tgl.format(Calendar.getInstance().getTime());
           if (!rs.next()) {
                    tnoakhir.setText(htgl);
                    tnourut.setText("0000");
            }else{
                    String no = rs.getString("kode_keluarbj");
                    String kosong ="";
                    String a = tnoakhir.getText();
                    String blth = no.substring(5, 9);
                    tnoakhir.setText(blth);
                    String urut = no.substring(10, 14);
                    tnourut.setText(urut);
            }
        noOtomatis();
    } catch (SQLException ex){
        JOptionPane.showMessageDialog(null, ex);
    }
    }

Semoga bermanfaat
pasti bisa


1 comment:

  1. Mas, itu kalo misalkan ya kita udah insert dengan no faktur INV-20190005, nah trus kita hapus tuh dari database, ketika kita mau nambah lagi apakah id nya akan meneruskan jadi inv-20190006, atau akan jadi inv-20190005?

    ReplyDelete

loading...

Cara Menambahkan JDateChooser Java Netbeans

Cara Menambahkan JDateChooser Java Netbeans hai gaes. Setiap transaksi pasti akan memberikan proses tanggal transaksi. Tanggal te...