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:
- Nomor transaksi yang urut terus walau berubah bulan akan berlanjut terus.
- 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

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