public synchronized String getNextBatchNo() throws Exception {
String sql = "";
String no = "001";
String monthSql = "";
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
if(month < 10){
monthSql = year+"0"+month;
}
else{
monthSql = year+""+month;
}
sql = "select max(substr(batch_no,length(batch_no)-2,length(batch_no))) as no from Hy_Month_Inquiry t where t.batch_no like '"+monthSql+"%' ";
DboList list = this.getHyMonthInquiryDAO().getObjectsBySql(sql);
if(list != null && list.size() > 0){
GenericDO gen = list.get(0);
String temp = StringTools.getString(gen.getAttrString("NO"), "");
if(temp.equals("")){
no = "001";
}
else
{
int seq = Integer.valueOf(temp)+1;
if(seq < 10){
no = "00"+seq;
}
else if(seq < 100){
no = "0"+seq;
}
else{
no = seq+"";
}
}
}
else{
no = "001";
}
return monthSql+no;
}
生成出的如
20220517001
20220517002
20220517003