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