1. 程式人生 > >java自定義單據編號自增,規則如:銷售單("XSD20170614001"),

java自定義單據編號自增,規則如:銷售單("XSD20170614001"),

/**
* 自動生成單據編號,規則如: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;
}