From 4cf3993f3eea8cda587b7d760991a81bbbfc7c8b Mon Sep 17 00:00:00 2001
From: zzw <wander.zheng@qq.com>
Date: 星期一, 20 十一月 2023 10:27:33 +0800
Subject: [PATCH] 编号

---
 zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 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..f905dbe 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,25 @@
 
     public String getNewCode(Map<String, String> map) {
         SysCodeRule codeRule = baseDao.getCodeRule(map);
-        String newCodeTemplet = codeRule.getFunCode();
+        String newCodeTemplet = codeRule.getCodeRule();
+        String year = map.get("year");
         if (map.get("projectId")!=null){
-            String projectIdentity = baseDao.getProjectIdentity(map.get("projectId"));
-            newCodeTemplet = newCodeTemplet.replace("[椤圭洰缂栧彿]",projectIdentity);
+            Map<String, String> mapProject = baseDao.getMapProjectIdentity(map.get("projectId"));
+            newCodeTemplet = newCodeTemplet.replace("[椤圭洰缂栧彿]",mapProject.get("identity"));
+            year = mapProject.get("year");
         }
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
-        String year = sdf.format(new Date());
         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 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