有序的订单流水号写发

一,orderStart=定义当前 年月日 为开头的订单号根据业务要求,也有可能是年月日时分秒的订单号

二,orderEnd=规定最后几位是递增的订单号,加上前面orderStart 组成一条订单号。

三,根据当前日期做模糊查询,查看是否有今天的订单。如果没有今天的订单号,orderStart+“***001”为第一条。 如果有那么久就截取到orderEnd,然后转化为数字类型(去掉orderEnd前面的0)orderEnd(数字类型)+1,此时orderEnd仍为数字,然后根据规定  的orderEnd的位数前面补0组成字符串。完成尾数+1的效果。最后orderEnd+orderStart组成完整的订单号。
    代码如下:
 
 
//定义完成的订单号 String orderNo = null; SimpleDateFormat curDate = new SimpleDateFormat("yyyyMMdd"); // 取当前日期
String dateString = curDate.format(new Date());
//查询数据库,,根据当前日期做模糊查询,查看是否有今天的订单
String sql = "select max(BO_ACT_RWGL0.BIANHAO) from BO_ACT_RWGL0 where BO_ACT_RWGL0.BIANHAO like ?";
//取出数据完整的订单号 String id = DBSql.getString(sql, new Object[] { "%"+dateString+"%" });
//判断字符串是否为空
if(id ==null || id =="" || id.equals("")){ orderNo = curDate + "0001"; }else{ String serialNo = id.substring(id.length() - 5); //最后的结果
orderNo = dateString + String.format( "%05d", Integer.decode(serialNo) + 1);
}

猜你喜欢

转载自blog.csdn.net/PanPa_WoNiu/article/details/80082253