/**
* 财务自动编号
*
* @return
*/
public String caiwuAutoCode() {
//设置前缀
String prefix = "N" + TjDateUtils.getTodayStringForCode();
//自动编号的长度
int numbers = 5;
//1.拼接SQL查询的where语句
// "code LIKE '${prefix}_____'"
StringBuffer sb = new StringBuffer();
sb.append("code LIKE \'").append(prefix);
for (Integer i = 0; i < numbers; i++) {
sb.append("_");
}
sb.append("\'");
LambdaQueryWrapper<Caiwu> lqw = new LambdaQueryWrapper<>();
lqw.apply(sb.toString());
//查询记录
List<Caiwu> list = list(lqw);
if (list != null && list.size() > 0) {
Caiwu caiwu = list.get(list.size() - 1);//取最后1条数据
String code = caiwu.getCode();
log.info("编号:{}", code);
String substring = StringUtils.substring(code, prefix.length());
log.info("截取后的:{}", substring);
Integer codeNumber = Integer.valueOf(substring);
log.info("转换后的:{}", codeNumber);
return prefix + TjStringUtils.getNumberStringWithZero(codeNumber + 1, numbers);
} else {
return prefix + TjStringUtils.getNumberStringWithZero(1, numbers);
}
}