//工号code自增规则: WQ地区入职年份月份日+001 (自增加1)
@Override
public ReturnData queryCode(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String timeName = format.format(new Date());
//自增加1后的工号
String code = "";
QueryWrapper<WqPersonnelInformation> queryWrapper = new QueryWrapper<WqPersonnelInformation>();
queryWrapper.lambda().like(WqPersonnelInformation::getCode, "WQ" + timeName + "%").orderByDesc(WqPersonnelInformation::getCode).last("limit 0,1");
//查询最新的一条工号
WqPersonnelInformation personnelInformation = getOne(queryWrapper);
if (personnelInformation != null && personnelInformation.getCode() != null) {
//对最新的工号进行截取然后自增最后补零
String num = personnelInformation.getCode().substring(10);
int number = Integer.parseInt(num);
number++;
String str = String.format("%03d", number);//如果小于3位左边补0后的结果
code = personnelInformation.getCode().substring(0, 10) + str;
} else {
code = personnelInformation.getCode().substring(0, 10) + "001";
}
return new ReturnData(new Date(), HttpStatus.OK.value(), "最新工号查询成功!", httpServletRequest.getRequestURI(), code);
} catch (RuntimeException runtimeException) {
return new ReturnData(new Date(), HttpStatus.INTERNAL_SERVER_ERROR.value(), "最新工号查询失败!", httpServletRequest.getRequestURI(), "");
}
}
06-18
5760