簡單流水號生成 當天8位 yyyymmdd+ 當天5位00001,遞增。 第二天重置00001
阿新 • • 發佈:2019-01-25
3、生成流水號的程式
/**
* 生成流水號
* @return
*/
public String generateSerialNumber() {
//當天的初始化流水號為1
Integer serialNo = 1;
//查詢當天的下一個流水號
String hql = “SELECT max(t.serialNo+1) FROM SerialNumber t WHERE t.generateDate=?”;
String generateDate = DateUtils.formatDate(new Date(), “yyyyMMdd”);
Object obj = session.createQuery(hql)。setParameter(0, generateDate)。uniqueResult();
if(obj != null) {
serialNo = (Integer) obj;
}
//將當前序列號儲存到資料庫
SerialNumber sn = new SerialNumber();
sn.setSerialNo(serialNo);
sn.setGenerateDate(generateDate);
session.save(sn);
//將流水號格式化為 “00001” 5位長度返回
return String.format(“%05d”, serialNo);
}
/**
* 生成流水號
* @return
*/
public String generateSerialNumber() {
//當天的初始化流水號為1
Integer serialNo = 1;
//查詢當天的下一個流水號
String hql = “SELECT max(t.serialNo+1) FROM SerialNumber t WHERE t.generateDate=?”;
String generateDate = DateUtils.formatDate(new Date(), “yyyyMMdd”);
Object obj = session.createQuery(hql)。setParameter(0, generateDate)。uniqueResult();
if(obj != null) {
serialNo = (Integer) obj;
}
//將當前序列號儲存到資料庫
SerialNumber sn = new SerialNumber();
sn.setSerialNo(serialNo);
sn.setGenerateDate(generateDate);
session.save(sn);
//將流水號格式化為 “00001” 5位長度返回
return String.format(“%05d”, serialNo);
}