java生成一定12位递增的流水号

项目需求中有时需要生成一定规则递增编号。例如系统中唯一订单号组成规则可能是:机构代码+时间+12位编号。例如:000000120221115000000000001/000000120221115000000000002之类的,如何处理12位编码递增呢?

实现方法:初始一个01的订单号,然后去数据库中查询当天订单号中最大的值,截取12位编号并转换成int型,在转换后的整形数上+1并返回。该方法可能效率不够高。

 

 1     public static String getNewEquipmentNo(String type,String no){
 2         String newEquipmentNo = type + "0000000000000001";
 3 
 4         if(no != null && !no.isEmpty()){
 5             int newNo = Integer.parseInt(no);
 6             int newEquipment = ++newNo;
 7             newEquipmentNo = String.format(type + "%012d", newEquipment);
 8         }
 9         return newEquipmentNo;
10     }

 

posted @ 2022-11-15 10:17  安然mlg  阅读(2025)  评论(1编辑  收藏  举报