jinlin
2024-01-29 7a0c5479c363a10f573aa15a54dc8130eabd47ff
zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java
@@ -46,19 +46,23 @@
    public String getNewCode(Map<String, String> map) {
        SysCodeRule codeRule = baseDao.getCodeRule(map);
        String newCodeTemplet = codeRule.getCodeRule();
        if (map.get("projectId")!=null){
            String projectIdentity = baseDao.getProjectIdentity(map.get("projectId"));
            newCodeTemplet = newCodeTemplet.replace("[项目编号]",projectIdentity);
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
        String year = sdf.format(new Date());
        if (map.get("year")!=null){
            year = map.get("year");
        }
        if (map.get("projectId")!=null){
            Map<String, String> mapProject = baseDao.getMapProjectIdentity(map.get("projectId"));
            newCodeTemplet = newCodeTemplet.replace("[项目编号]",mapProject.get("software_identity"));
            year = mapProject.get("year");
        }
        newCodeTemplet = newCodeTemplet.replace("[年份]",year);
        String xhTemplet = StringUtils.substring("__________",0,codeRule.getNoByteNum());
        newCodeTemplet = newCodeTemplet.replace("[序号]",xhTemplet);
        int xhStartPosition = newCodeTemplet.indexOf(xhTemplet);
        String maxCode = baseDao.getMaxCode(codeRule.getTableName(),newCodeTemplet);
        String maxCode = baseDao.getMaxCode(codeRule.getTableName(),codeRule.getCodeFieldName(),newCodeTemplet);
        String maxCodeXh = "0";
        if (StringUtils.isNotBlank(maxCode))
            maxCodeXh = StringUtils.substring(maxCode,xhStartPosition,xhStartPosition+codeRule.getNoByteNum());