From 52a302b11c08cbc564ff3931038ae57a305a95d6 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 23 一月 2024 09:23:52 +0800 Subject: [PATCH] 修改 --- zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java b/zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java index c8668e9..d317ee6 100644 --- a/zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java +++ b/zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java @@ -45,24 +45,29 @@ public String getNewCode(Map<String, String> map) { SysCodeRule codeRule = baseDao.getCodeRule(map); - String newCodeTemplet = codeRule.getFunCode(); - if (map.get("projectId")!=null){ - String projectIdentity = baseDao.getProjectIdentity(map.get("projectId")); - newCodeTemplet = newCodeTemplet.replace("[椤圭洰缂栧彿]",projectIdentity); - } + String newCodeTemplet = codeRule.getCodeRule(); 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()-1); + 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()-1); - String newCodeXh = String.format("%0"+codeRule.getNoByteNum()+"d", Convert.toInt(maxCodeXh)+1); + maxCodeXh = StringUtils.substring(maxCode,xhStartPosition,xhStartPosition+codeRule.getNoByteNum()); + Integer a = Convert.toInt(maxCodeXh)+1; + String newCodeXh = String.format("%0"+codeRule.getNoByteNum()+"d", a); String newCode = newCodeTemplet.replace(xhTemplet,newCodeXh); return newCode; } -- Gitblit v1.9.1