Copy kode kodenya sebagai berikut:
impor java.teks.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.lang3.StringUtils;
/**
* Hasilkan kelas alat nomor seri
* @versi V1.0
* @tanggal: 16-11-2013 17:21:37
*/
kelas publik Nomor Seri {
jumlah String statis pribadi = "000";
String statis pribadi dateValue = "20131115";
/**
* Hasilkan nomor seri
*/
String statis tersinkronisasi publik getMoveOrderNo() {
panjang Tidak = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String nowdate = sdf.format(Tanggal baru());
Tidak = Long.parseLong(tanggal sekarang);
if (!(String.valueOf(No)).equals(dateValue)) {
hitungan = "000";
dateValue = String.valueOf(Tidak);
}
String nomor = String.valueOf(Tidak);
angka += getNo(hitungan);
angka = "CB" + angka;
nomor pengembalian;
}
/**
* Dapatkan nomor seri perintah pindah
*/
String statis tersinkronisasi publik getMoveOrderNo(String serialNum) {
String nyr = StringUtils.substring(serialNum, 2, 10); // Dapatkan string tahun, bulan dan hari
String countV = StringUtils.substring(serialNum, 10);
if (Integer.valueOf(countV) > Integer.valueOf(count)) {
dateValue = nyr;
hitungan = String.valueOf(countV);
}
kembalikan getMoveOrderNo();
}
/**
* Mengembalikan jumlah pesanan untuk hari itu +1
*/
String statis publik getNo(String s) {
Tali rs = s;
int i = Integer.parseInt(rs);
saya += 1;
rs = "" + saya;
untuk (int j = rs.panjang(); j < 3; j++) {
rs = "0" + rs;
}
hitungan = rs;
kembalikan rs;
}
public static void main(String[] args) {
untuk (int saya = 0; saya < 10; saya++) {
Sistem.keluar.println(getMoveOrderNo());
}
}
}
Catatan: Program di atas tidak akan menimbulkan masalah apa pun jika server selalu dapat berjalan normal. Jika server di-restart atau ada kegagalan dalam proses dan layanan perlu di-restart, hal ini dapat menyebabkan duplikat nomor seri untuk memastikan keunikan, kita perlu bekerja sama dengan query database, menanyakan record terakhir, lalu mengeluarkan nomor seri dan memanggil metode getMoveOrderNo(String serialNum) untuk memastikan bahwa nomor seri yang dihasilkan benar dan unik dalam keadaan apa pun. .