欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

自动生成编号、ID、序列号,使用不同策略生成 -2: 流式编号

最编程 2024-05-05 09:01:22
...
 1  public static String getstr(){
 2          String Orderno = null;
 3          String maxOrderno = "NO201601270001"; // 从数据库查询出的最大编号
 4          SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); // 时间字符串产生方式
 5          String uid_pfix = "NO" + format.format(new Date()); // 组合流水号前一部分,NO+时间字符串,如:NO20160126
 6          if (maxOrderno != null && maxOrderno.contains(uid_pfix)) {
 7              String uid_end = maxOrderno.substring(10, 14); // 截取字符串最后四位,结果:0001
 8              System.out.println("uid_end=" + uid_end);
 9              int endNum = Integer.parseInt(uid_end); // 把String类型的0001转化为int类型的1
10              System.out.println("endNum=" + endNum);
11              int tmpNum = 10000 + endNum + 1; // 结果10002
12              System.out.println("tmpNum=" + tmpNum);
13              Orderno = uid_pfix +subStr("" + tmpNum, 1);// 把10002首位的1去掉,再拼成NO201601260002字符串
14          } else {
15              Orderno = uid_pfix + "0001";
16          }
17         return Orderno;
18     }
19     
20     public static String subStr(String str, int start) {
21         if (str == null || str.equals("") || str.length() == 0)
22             return "";
23         if (start < str.length()) {
24             return str.substring(start);
25         } else {
26             return "";
27         }
28     }

 

 

推荐阅读