根据日期生成简单的单据号


//单据号生成
public static String getReceiptId(String type){
StringBuilder id = new StringBuilder();
id.append(type);
Date date = new Date();
Calendar cale = Calendar.getInstance();
cale.setTime(date);
String year = cale.get(Calendar.YEAR)+"";
id.append(year.substring(2,year.length()));
String month = (cale.get(Calendar.MONTH) < 9)?"0" + (cale.get(Calendar.MONTH)+1):"" + (cale.get(Calendar.MONTH)+1);
id.append(month);
String day = (cale.get(Calendar.DAY_OF_MONTH) < 10)?"0"+cale.get(Calendar.DAY_OF_MONTH):""+cale.get(Calendar.DAY_OF_MONTH);
id.append(day);
//查看数据库的单据
String sql = "select c_batchnoid from (select c_batchnoid from bas_batchno where C_BATCHNOTYPE = '"+type+"' order by D_CREATDATE DESC) where rownum = 1";
DbConnectionCache db = DbConnectionCache.getInstance();
Map<String, String> mp = new HashMap<String, String>();
String upid = DBUtil.SingleValue(db.getConnection(), sql, mp);
if(upid!=""){
if((upid.substring(1, 3)).equals(year.substring(2,year.length()))&&upid.substring(3, 5).equals(month)&&upid.substring(5, 7).equals(day)){
int seq = Integer.parseInt(upid.substring(upid.length() - 3,upid.length()))+1;
if(Integer.parseInt(upid.substring(upid.length() - 3,upid.length()))!=000){
seq = Integer.parseInt(upid.substring(upid.length() - 3,upid.length()))+1;
}else{
seq = Integer.parseInt(upid.substring(upid.length() - 4,upid.length()))+1;
}
if(seq<10){
id.append("00"+seq);
}else if(seq<100){
id.append("0"+seq);
}else{
id.append(seq);
}
}else{
id.append("001");
}
}else{
id.append("001");
}
return id.toString();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值