java自定義單據編號自增,規則如:銷售單("XSD20170614001"),
阿新 • • 發佈:2019-01-27
/**
* 自動生成單據編號,規則如:XSD+20170614+001,第二天的單據從001開始
* @param billType 單據型別如"XSD",DbBillCode "資料庫中取出來的單據號"
* @return
*/
public static String generateBillCode(String billType,String DbBillCode){
//存放最終生成的單據編號的字串
String billCode=new String();
String dateString = new SimpleDateFormat("yyyyMMdd").format(new Date());
if("".equals(DbBillCode)||DbBillCode==null){
//如果單號不存在,則設定每天的第一個單號
billCode=billType+dateString+"001";
}else{
//取出單據號中的固定位
String str=billType+DbBillCode.substring(0,8);
//取出流水號
String temp=DbBillCode.substring(DbBillCode.length()-3,DbBillCode.length());
//取出當天的所有單號中最大的單號擷取後自增1
if(Integer.parseInt(temp)>=1&&Integer.parseInt(temp)<999){
temp=String.valueOf(Integer.parseInt(temp)+1);
}
switch (temp.length()) {
case 1:
temp="00"+temp;
break;
case 2:
temp="0"+temp;
break;
default:
break;
}
billCode=str+temp;
}
* 自動生成單據編號,規則如:XSD+20170614+001,第二天的單據從001開始
* @param billType 單據型別如"XSD",DbBillCode "資料庫中取出來的單據號"
* @return
*/
public static String generateBillCode(String billType,String DbBillCode){
//存放最終生成的單據編號的字串
String billCode=new String();
String dateString = new SimpleDateFormat("yyyyMMdd").format(new Date());
if("".equals(DbBillCode)||DbBillCode==null){
//如果單號不存在,則設定每天的第一個單號
billCode=billType+dateString+"001";
}else{
//取出單據號中的固定位
String str=billType+DbBillCode.substring(0,8);
//取出流水號
String temp=DbBillCode.substring(DbBillCode.length()-3,DbBillCode.length());
//取出當天的所有單號中最大的單號擷取後自增1
if(Integer.parseInt(temp)>=1&&Integer.parseInt(temp)<999){
temp=String.valueOf(Integer.parseInt(temp)+1);
}
switch (temp.length()) {
case 1:
temp="00"+temp;
break;
case 2:
temp="0"+temp;
break;
default:
break;
}
billCode=str+temp;
}