From fe2f3011f3f5d3ea760b6520e9e95a2c419e4b78 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期一, 11 十二月 2023 12:56:30 +0800
Subject: [PATCH] 修改

---
 zt/core/src/main/java/com/zt/modules/coderule/dao/SysCodeRuleDao.java                                          |    2 
 zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java                                  |    8 ++
 zt/core/src/main/resources/mapper/coderule/SysCodeRuleDao.xml                                                  |    2 
 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java |   27 ++++----
 zt/core/src/main/java/com/zt/modules/coderule/model/SysCodeRule.java                                           |    3 +
 web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue                                            |    7 ++
 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java          |    3 +
 web/src/views/modules/sys/task/stay-task.vue                                                                   |    2 
 web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue                                        |    2 
 web/src/views/modules/sys/codeRule/SysCodeRule-AddOrUpdate.vue                                                 |    4 +
 web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue                                  |   24 ++++----
 web/src/views/modules/sys/codeRule/SysCodeRule.vue                                                             |    1 
 zt/common/src/main/java/com/zt/common/utils/CommonUtils.java                                                   |   46 +++++++++++++++
 13 files changed, 98 insertions(+), 33 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
index d84cd7d..6eccada 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
@@ -32,6 +32,9 @@
 	@ApiModelProperty(value = "妫�鏌ュ崟ID")
 	private Long checkId;
 
+	@ApiModelProperty(value = "鍏ュ簱鏄庣粏绫诲瀷")
+	private String pageCode;
+
 	@ApiModelProperty(value = "搴忓彿")
 	private Integer no;
 
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
index 234f400..6c6234f 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
@@ -1,6 +1,7 @@
 package com.zt.life.modules.configItemWarehouse.service;
 
 import com.zt.common.service.BaseService;
+import com.zt.common.utils.CommonUtils;
 import com.zt.life.modules.configItemWarehouse.dao.ConfigItemWarehouseDao;
 import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto;
 import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
@@ -22,6 +23,7 @@
 import com.zt.modules.oss.service.SysOssService;
 import com.zt.modules.workflow.dto.FlowInfoDto;
 import com.zt.modules.workflow.service.WorkflowService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.zt.common.db.query.QueryFilter;
@@ -103,22 +105,18 @@
         for (WarehouseConfigItem configItem : configItemDto.getConfigItemList()) {
             configItem.setWarehouseId(warehouseId);
             if (configItem.getId() != null) {
-                if (configItem.getCheckId()!=null){
-                    String code ="719CTC-09-ST";
-                    String projectCode = configItemDto.getProject().getCode();
-                    if (configItem.getItemName().equals("杞欢娴嬭瘯璁″垝")){
-                        code=code+"P";
-                    }else if (configItem.getItemName().equals("杞欢娴嬭瘯璇存槑")){
-                        code=code+"D";
-                    }else if (configItem.getItemName().equals("杞欢娴嬭瘯璁板綍")){
-                        code=code+"H";
-                    }else if (configItem.getItemName().equals("杞欢娴嬭瘯鎶ュ憡")){
-                        code=code+"R";
-                    }
-                    configItem.setItemIdentify(code+"-"+projectCode);
+                WarehouseConfigItem configItem2 = configItemService.get(configItem.getId());
+                if (CommonUtils.isActureChangeData(configItem,configItem2)) {
+                    configItemService.update(configItem);
                 }
-                configItemService.update(configItem);
             } else {
+                Map<String, String> map = new HashMap<>();
+                String pageCode = configItem.getPageCode();
+                if (StringUtils.isNotBlank(pageCode) && "plan,explain,record,report".contains(pageCode)) {
+                    map.put("funCode", "test_" + pageCode);
+                    //map.put("projectId",configItemDto.getProjectId().toString());
+                    configItem.setItemIdentify(sysCodeRuleService.getNewCode(map));
+                }
                 configItem.setWarehouseId(warehouseId);
                 configItem.setProjectId(configItemDto.getConfigItemWarehouse().getProjectId());
                 configItemService.insert(configItem);
@@ -129,6 +127,7 @@
                 if (testCheckOrder.getConfigItemId() == null) {
                     Long configItemId = configItem.getId();
                     testCheckOrder.setConfigItemId(configItemId);
+                    testCheckOrder.setConfigOrderId(warehouseId);
                     testCheckOrderService.update(testCheckOrder);
                 }
             }
diff --git a/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue b/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue
index eeb60d3..b91c86c 100644
--- a/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue
+++ b/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue
@@ -401,6 +401,7 @@
       handleCommand() {
         this.$nextTick(()=>{
           console.log(this.dataForm.projectId,'this.dataForm.projectId')
+          this.ids = this.dataForm.configChangeList.map(item=>item.selectId).join(',')
           this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,this.ids)
         })
         // this.dataForm.configItemList.push({})
@@ -414,7 +415,6 @@
         if(data.configChangeList){
           this.dataForm.configChangeList=this.dataForm.configChangeList.concat(data.configChangeList)
         }
-        this.ids = this.dataForm.configChangeList.map(item=>item.selectId).join(',')
         console.log(this.dataForm.configChangeList,ids,'this.dataForm.configChangeList')
       },
       openCheckOrderWin(row) {
diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
index adca568..462cae9 100644
--- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
+++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -53,25 +53,25 @@
                 </el-table-column>
                 <el-table-column prop="itemIdentify" align="center" min-width="290" label="閰嶇疆椤规爣璇�">
                   <template v-slot="{ row }">
-                    <el-input  v-if="showAddAndEdit" v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
+                    <el-input v-if="showAddAndEdit" v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
                     <span v-else>{{row.itemIdentify}}</span>
                   </template>
                 </el-table-column>
                 <el-table-column prop="version" align="center" width="120" label="鐗堟湰">
                   <template v-slot="{ row }">
-                    <el-input  v-if="showAddAndEdit" v-model="row.version" placeholder="鐗堟湰"></el-input>
+                    <el-input v-if="showAddAndEdit" v-model="row.version" placeholder="鐗堟湰"></el-input>
                     <span v-else>{{row.version}}</span>
                   </template>
                 </el-table-column>
                 <el-table-column prop="retrospectVersion" label="涓婃函鐗�" width="120" align="center">
                   <template v-slot="{ row }">
-                    <el-input  v-if="showAddAndEdit" v-model="row.retrospectVersion" placeholder="涓婃函鐗�"></el-input>
+                    <el-input v-if="showAddAndEdit" v-model="row.retrospectVersion" placeholder="涓婃函鐗�"></el-input>
                     <span v-else>{{row.retrospectVersion}}</span>
                   </template>
                 </el-table-column>
                 <el-table-column prop="secretClass" label="瀵嗙骇" width="100" align="center">
                   <template v-slot="{ row }">
-                    <zt-dict  :disabled="!showAddAndEdit" v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class"
+                    <zt-dict :disabled="!showAddAndEdit" v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class"
                              clearable></zt-dict>
                   </template>
                 </el-table-column>
@@ -251,9 +251,9 @@
         stepMarker: '',
         title: '鏌ョ湅',
         showColumn: false,
-        showAddAndEdit:false,
+        showAddAndEdit: false,
         menuOptions: [
-          {pageCode: 'plan', name: '杞欢娴嬭瘯璁″垝',itemIdentify:''},
+          {pageCode: 'plan', name: '杞欢娴嬭瘯璁″垝', itemIdentify: ''},
           {pageCode: 'explain', name: '杞欢娴嬭瘯璇存槑'},
           {pageCode: 'record', name: '杞欢娴嬭瘯璁板綍'},
           {pageCode: 'report', name: '杞欢娴嬭瘯鎶ュ憡'},
@@ -355,13 +355,13 @@
       openCheckOrderWin(row) {
         console.log(row, "openCheckOrderWin(row)")
         row.projectId = this.dataForm.projectId
-        if (!row.pageCode) {
-          if (!row.checkId) {
-            row.checkId = -1
-          }
-          row.pageCode = this.pageNameCode[row.itemName]
-          console.log(row.itemName, row.pageCode, "row.itemName,openCheckOrderWin(row) row.pageCode")
+        if (!row.checkId) {
+          row.checkId = -1
         }
+        // if (!row.pageCode) {//鍏跺疄杩欓噷鏄病鐢ㄧ殑
+        //   row.pageCode = this.pageNameCode[row.itemName]
+        // }
+        console.log(row.itemName, row.pageCode, "row.itemName,openCheckOrderWin(row) row.pageCode")
         this.$refs.addOrUpdate.$refs.dialog.init(null, row)
 
       },
diff --git a/web/src/views/modules/sys/codeRule/SysCodeRule-AddOrUpdate.vue b/web/src/views/modules/sys/codeRule/SysCodeRule-AddOrUpdate.vue
index 5b62675..5d7f79e 100644
--- a/web/src/views/modules/sys/codeRule/SysCodeRule-AddOrUpdate.vue
+++ b/web/src/views/modules/sys/codeRule/SysCodeRule-AddOrUpdate.vue
@@ -13,6 +13,9 @@
       <zt-form-item label="鏁版嵁琛ㄥ悕绉�" prop="tableName" rules="required">
                         <el-input v-model="dataForm.tableName"></el-input>
                 </zt-form-item>
+      <zt-form-item label="缂栧彿瀛楁鍚嶇О" prop="tableName" rules="required">
+        <el-input v-model="dataForm.codeFieldName"></el-input>
+      </zt-form-item>
       <zt-form-item label="搴忓彿浣嶆暟" prop="noByteNum" rules="required">
                         <el-input v-model="dataForm.noByteNum"></el-input>
                 </zt-form-item>
@@ -33,6 +36,7 @@
           name: '',
           codeRule: '',
           tableName: '',
+          codeFieldName:'',
           noByteNum: '',
           remark: ''
         }
diff --git a/web/src/views/modules/sys/codeRule/SysCodeRule.vue b/web/src/views/modules/sys/codeRule/SysCodeRule.vue
index 1a7c793..f3fd61a 100644
--- a/web/src/views/modules/sys/codeRule/SysCodeRule.vue
+++ b/web/src/views/modules/sys/codeRule/SysCodeRule.vue
@@ -15,6 +15,7 @@
                 <el-table-column prop="name" label="鍔熻兘鍚嶇О"/>
                 <el-table-column prop="codeRule" label="缂栧彿瑙勫垯"/>
                 <el-table-column prop="tableName" label="鏁版嵁琛ㄥ悕绉�"/>
+                <el-table-column prop="codeFieldName" label="缂栧彿瀛楁鍚嶇О"/>
                 <el-table-column prop="noByteNum" label="搴忓彿浣嶆暟"/>
                 <el-table-column prop="remark" label="澶囨敞"/>
               <zt-table-column-handle :table="table" edit-perm="coderule:update" delete-perm="coderule::delete"/>
diff --git a/web/src/views/modules/sys/task/stay-task.vue b/web/src/views/modules/sys/task/stay-task.vue
index 9bf70ea..83872bb 100644
--- a/web/src/views/modules/sys/task/stay-task.vue
+++ b/web/src/views/modules/sys/task/stay-task.vue
@@ -222,7 +222,7 @@
         if (row.flowCode === 'wplz') {
           this.$refs.itemCirculatOrder.$refs.dialog.init(row.bizId, row)
         } else if (row.flowCode === 'pzxrk') {
-          this.$refs.ConfigItemWarehouse.$refs.dialog.init(row.bizId, row)
+          this.$refs.configItemWarehouse.$refs.dialog.init(row.bizId, row)
         }else if (row.flowCode === 'csjcd') {
           this.$refs.testCheckOrder.$refs.dialog.init(row.bizId, row)
         } else if (row.flowCode === 'pzxbg') {
diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
index f5a4aa4..c2b6344 100644
--- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
@@ -30,7 +30,7 @@
         </div>
         <div style="border-bottom: 1px solid rgba(0,0,0,.2);">
           <div style="padding-left:5px;padding-right:5px;">
-            <div style="padding: 5px">{{subtitle}}</div>
+            <div style="padding: 5px">妫�鏌ラ」鐩�:{{subtitle}}</div>
             <div class="table-container">
               <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border
                         :data="dataForm.checkOrderList"
@@ -148,14 +148,19 @@
     },
     methods: {
       init(id, row) {
+        console.log(row,'TestCheckOrder-AddOrUpdate.vue init row')
         this.configDetailRow = row
         if (row.checkId) {
+          console.log('閰嶇疆椤瑰叆搴撳鏍歌繘鏉ョ殑 TestCheckOrder-AddOrUpdate.vue init row.checkId')
           if (row.checkId != -1) {
+            console.log('TestCheckOrder-AddOrUpdate.vue init row.checkId!=-1')
             this.dataForm.id = row.checkId
           }
         } else if (id) {
+          console.log(this.dataForm,'浠庢鏌ュ崟杩涙潵鐨� TestCheckOrder-AddOrUpdate.vue init this.dataForm')
           this.dataForm.id = id
         } else {
+          console.log(this.dataForm,'浠庢鏌ュ崟杩涙潵鐨� TestCheckOrder-AddOrUpdate.vue init this.dataForm')
           this.dataForm.id = row.id
         }
         this.pageCode = row.pageCode
diff --git a/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java b/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java
index e9cde03..fd9805b 100644
--- a/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java
+++ b/zt/common/src/main/java/com/zt/common/utils/CommonUtils.java
@@ -1,10 +1,12 @@
 package com.zt.common.utils;
 
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.ReflectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.zt.common.entity.MapData;
 import org.apache.commons.lang3.StringUtils;
 
+import java.lang.reflect.Field;
 import java.text.NumberFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -170,4 +172,48 @@
         long msec = diff % 1000;
         return hour + "灏忔椂" + min + "鍒嗛挓" + sec + "绉�" + msec + "姣";
     }
+
+    public static boolean isActureChangeData(Object pageData, Object dbData) {
+        if (dbData == null)
+            return true;
+        Field[] fields = ReflectUtil.getFields(pageData.getClass());
+        for (Field field : fields) {
+            field.setAccessible(true);
+            String fieldName = field.getName();
+            String typeName = field.getType().getName().toLowerCase();
+            String fieldsList = "serialversionuid,updater,updatedate,creator,createdate,tenantid,companyid,files,isdelete";
+            if (!typeName.contains("com.zt.life.modules") && !typeName.equals("java.util.List") && !fieldsList.contains(fieldName.toLowerCase())) {
+                Object staticFieldValue = ReflectUtil.getFieldValue(pageData, field.getName());
+                try {
+                    Object staticFieldValue2 = ReflectUtil.getFieldValue(dbData, field.getName());
+                    if ("java.lang.string,java.lang.long".contains(typeName)) {
+                        if ((staticFieldValue == null && staticFieldValue2 != null) || (staticFieldValue != null && staticFieldValue2 == null)) {
+                            System.out.println(fieldName);
+                            System.out.println(staticFieldValue);
+                            System.out.println(staticFieldValue2);
+                            return true;
+                        }
+                        if (staticFieldValue != null && staticFieldValue2 != null) {
+                            if (!staticFieldValue.equals(staticFieldValue2)) {
+                                System.out.println(fieldName);
+                                System.out.println(staticFieldValue);
+                                System.out.println(staticFieldValue2);
+                                return true;
+                            }
+                        }
+                    } else {
+                        if (staticFieldValue != staticFieldValue2) {
+                            System.out.println(fieldName);
+                            System.out.println(staticFieldValue);
+                            System.out.println(staticFieldValue2);
+                            return true;
+                        }
+                    }
+                } catch (Exception ex) {
+
+                }
+            }
+        }
+        return false;
+    }
 }
diff --git a/zt/core/src/main/java/com/zt/modules/coderule/dao/SysCodeRuleDao.java b/zt/core/src/main/java/com/zt/modules/coderule/dao/SysCodeRuleDao.java
index 908c0ee..dd26c67 100644
--- a/zt/core/src/main/java/com/zt/modules/coderule/dao/SysCodeRuleDao.java
+++ b/zt/core/src/main/java/com/zt/modules/coderule/dao/SysCodeRuleDao.java
@@ -25,7 +25,7 @@
 
     String getProjectIdentity(String projectId);
 
-    String getMaxCode(String tableName, String newCodeTemplet);
+    String getMaxCode(String tableName, String CodeFieldName, String newCodeTemplet);
 
     String getProjectYear(Map<String, String> map);
 
diff --git a/zt/core/src/main/java/com/zt/modules/coderule/model/SysCodeRule.java b/zt/core/src/main/java/com/zt/modules/coderule/model/SysCodeRule.java
index 0272406..c61eee1 100644
--- a/zt/core/src/main/java/com/zt/modules/coderule/model/SysCodeRule.java
+++ b/zt/core/src/main/java/com/zt/modules/coderule/model/SysCodeRule.java
@@ -34,6 +34,9 @@
 	private String tableName;
 
 	@ApiModelProperty(value = "")
+	private String codeFieldName;
+
+	@ApiModelProperty(value = "")
 	private Integer noByteNum;
 
 	@ApiModelProperty(value = "")
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 23af6e9..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
@@ -46,7 +46,11 @@
     public String getNewCode(Map<String, String> map) {
         SysCodeRule codeRule = baseDao.getCodeRule(map);
         String newCodeTemplet = codeRule.getCodeRule();
-        String year = map.get("year");
+        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"));
@@ -58,7 +62,7 @@
         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());
diff --git a/zt/core/src/main/resources/mapper/coderule/SysCodeRuleDao.xml b/zt/core/src/main/resources/mapper/coderule/SysCodeRuleDao.xml
index be85e5c..b931486 100644
--- a/zt/core/src/main/resources/mapper/coderule/SysCodeRuleDao.xml
+++ b/zt/core/src/main/resources/mapper/coderule/SysCodeRuleDao.xml
@@ -23,7 +23,7 @@
         select software_identity from project where id = ${projectId}
     </select>
     <select id="getMaxCode" resultType="java.lang.String">
-        select max(code) from ${tableName} where code like '${newCodeTemplet}'
+        select max(${CodeFieldName}) from ${tableName} where ${CodeFieldName} like '${newCodeTemplet}'
     </select>
     <select id="getProjectYear" resultType="java.lang.String">
 

--
Gitblit v1.9.1