public static String addNum(String str) {
String numStr = str.substring(str.length() - 4); //取出最后四位数字
if (!StringUtils.isEmpty(numStr)) { //如果最后四位不是数字,抛NumberFormatException异常
int n = numStr.length(); //取出字符串的长度
int num = Integer.parseInt(numStr) + 1; //将该数字加一
String added = String.valueOf(num);
n = Math.min(n, added.length());
//拼接字符串
return str.subSequence(0, str.length() - n) + added;
} else {
throw new NumberFormatException();
}
}
//根据年月查询最近一条数据中是否存在code
String overhaulCode = overhaulMapper.findOverhaulCode(new SimpleDateFormat("yyyy-MM").format(new Date()));
//不存在
if (StringUtils.isEmpty(overhaulCode)) {
entity.setOverhaulCode("JX" + new SimpleDateFormat("yyyyMM").format(new Date()) + "0001");
//存在
} else {
entity.setOverhaulCode(NumAddUtil.addNum(overhaulCode));
}
效果: