jinlin
2023-12-11 fe2f3011f3f5d3ea760b6520e9e95a2c419e4b78
修改
13个文件已修改
113 ■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/sys/codeRule/SysCodeRule-AddOrUpdate.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/sys/codeRule/SysCodeRule.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/sys/task/stay-task.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/common/src/main/java/com/zt/common/utils/CommonUtils.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/java/com/zt/modules/coderule/dao/SysCodeRuleDao.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/java/com/zt/modules/coderule/model/SysCodeRule.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/resources/mapper/coderule/SysCodeRuleDao.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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);
                }
            } 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);
                }
            }
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) {
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -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]
        // 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)
      },
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: ''
        }
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"/>
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') {
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
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;
    }
}
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);
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 = "")
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());
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">