编码自动生成

/**
* 编码 + 时间 + 自增数值 如果是当天编码,则自增,如果是新的一天,数值重新从00001开始自增
* @param prefix 前缀
* @param code 编码
*/
public static String test(String prefix, String code) {
StringBuffer sb = new StringBuffer();
if (code == null) {
String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
sb.append(prefix + "-");
sb.append(date);
sb.append("-00001");
} else {
if (code.split("-")[1].equals(new SimpleDateFormat("yyyyMMdd").format(new Date()))) {//如果编码是当天的
int count = Integer.parseInt(code.split("-")[2]);
count++;
sb.append(code.split("-")[0] + "-");
sb.append(code.split("-")[1] + "-");
if (count > 0 && count < 10) {
sb.append("0000");
} else if (count >= 10 && count < 100) {
sb.append("000");
} else if (count >= 100 && count < 1000) {
sb.append("00");
} else if (count >= 1000 && count < 10000) {
sb.append("0");
}
sb.append(count);
} else {
sb.append(code.split("-")[0] + "-");
String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
sb.append(date);
sb.append("-00001");
}
}
return sb.toString();
}
public static void main(String[] args) {
String code = test("ZLZG", "ZLZG-20201109-18970");
System.out.println(code);
}

结果集:ZLZG-20201110-00001














posted @ 2020-11-10 08:38  懂得归零  阅读(296)  评论(0)    收藏  举报