1、初始化编码位数
private final static String FORMAT_CODE = "00000";
2、业务逻辑
public PmEmployeeInfoVo selectPmEmployeeInfoById(String id)
{
PmEmployeeInfoVo pmEmployeeInfoVo = new PmEmployeeInfoVo();
PmEmployeeInfo pmEmployeeInfo = pmEmployeeInfoMapper.selectPmEmployeeInfoById(id);
if (pmEmployeeInfo.getEmpCode() == null || "".equals(pmEmployeeInfo.getEmpCode())){
String empCode = pmEmployeeInfoMapper.selectPmEmployeeInfoEmpCode();
if(empCode == null){
int count = 1; // 流水号
DecimalFormat dft = new DecimalFormat(FORMAT_CODE);
String code = dft.format(count); // 格式化为四位流水号 code: 0001
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
String str = String.valueOf(year).substring(2,4);
String codeEnd = str + code;
pmEmployeeInfo.setEmpCode(codeEnd);
}else {
String empCodeOne = pmEmployeeInfoMapper.selectPmEmployeeInfoEmpCode();
int code = parseInt(empCodeOne)+1;
String codeONe = String.valueOf(code);
pmEmployeeInfo.setEmpCode(codeONe);
}
}
3、SQL
select MAX(emp_code) from pm_employee_info