jinlin
2024-01-12 bb3bc1c8508dc28d1780c2b0e068595baedb5100
修改
12个文件已修改
155 ■■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderMeasuredController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDeliverableDao.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderMeasuredDao.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/Project-AddOrUpdate.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/pages/login.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/java/com/zt/security/service/SysUserTokenService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/resources/mapper/sys/SysUserDao.xml 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
@@ -92,9 +92,6 @@
        if (data.getBizDeptId() == null) {
            data.setBizDeptId(UserContext.getDeptId().toString());
        }
        User user = UserContext.getUser();
        Integer secretClass = user.getSecretClass();
        data.setUsersecretClass(secretClass);
        return Result.ok(data);
    }
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderMeasuredController.java
@@ -33,7 +33,7 @@
 * @since 1.0.0 2023-11-09
 */
@RestController
@RequestMapping("/project/SoftwareTestOrderMeasured/")
@RequestMapping("/project/SoftwareTestOrderMeasured")
@Api(tags="software_test_order_measured")
public class SoftwareTestOrderMeasuredController {
    @Autowired
modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
@@ -84,9 +84,4 @@
    @ApiModelProperty(value = "是否签署合同")
    private Integer isContract;
    @TableField(exist = false)
    @ApiModelProperty(value = "用户密级")
    private Integer usersecretClass;
}
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
@@ -16,6 +16,7 @@
import com.zt.life.modules.project.model.SoftwareTestOrder;
import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable;
import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
import com.zt.life.modules.qaAuditReport.model.QaAuditReportIncongruent;
import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
import com.zt.life.sys.service.SysOssConfigService;
import com.zt.modules.coderule.service.SysCodeRuleService;
@@ -117,7 +118,10 @@
        for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getMeasuredList()) {
            softwareTestOrderMeasured.setOrderId(softwareTestOrderId);
            if (softwareTestOrderMeasured.getId() != null) {
                SoftwareTestOrderMeasured Measured = softwareTestOrderMeasuredService.get(softwareTestOrderMeasured.getId());
                    if (CommonUtils.isActureChangeData(softwareTestOrderMeasured,Measured)) {
                softwareTestOrderMeasuredService.update(softwareTestOrderMeasured);
                    }
            } else {
                softwareTestOrderMeasured.setOrderId(softwareTestOrderId);
                softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured);
modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml
@@ -20,6 +20,7 @@
        SELECT m.*, p.secret_class
        FROM software_test_order_measured m
        JOIN software_test_order s ON s.id = m.order_id
        JOIN software_test_order_deliverable d ON d.ord_id = m.order_id
        JOIN project p ON p.id = ${projectId}
        <where>
            s.is_delete = 0 and m.is_delete = 0
modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDeliverableDao.xml
@@ -4,7 +4,8 @@
<mapper namespace="com.zt.life.modules.project.dao.SoftwareTestOrderDeliverableDao">
    <select id="getList" resultType="com.zt.life.modules.project.model.SoftwareTestOrderDeliverable">
        select a.*
        SET @row_number = 0;
        select a.*,(@row_number := @row_number + 1) AS no
        from software_test_order_deliverable a
        <where>
            a.is_delete = 0
modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderMeasuredDao.xml
@@ -4,7 +4,8 @@
<mapper namespace="com.zt.life.modules.project.dao.SoftwareTestOrderMeasuredDao">
    <select id="getList" resultType="com.zt.life.modules.project.model.SoftwareTestOrderMeasured">
        select a.*
        SET @row_number = 0;
        select (@row_number := @row_number + 1) AS no,a.*
        from software_test_order_measured a
        <where>
            a.is_delete = 0
web/src/views/modules/project/Project-AddOrUpdate.vue
@@ -104,7 +104,7 @@
          <div class="DSTOld-1-Form">
            <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="所属部门" prop="bizDeptId"
                          style="width: 48%">
              <zt-select v-model="dataForm.bizDeptId" :datas="bizDeptList" onchange="getUserList()" placeholder="所属部门"/>
              <zt-select v-model="dataForm.bizDeptId" :datas="bizDeptList" placeholder="所属部门"/>
            </zt-form-item>
            <!-- 是否签署合同 -->
            <zt-form-item label-width="120px" label="是否签署合同" prop="isContract" style="width: 48%">
@@ -167,7 +167,6 @@
          projectConfiger: '',
          bizDeptId: '',
          isContract: '',
          usersecretClass: ''
        },
        projectLeaderList: [],
        projectTestersList: [],
@@ -178,10 +177,9 @@
      }
    },
    watch: {
      /*      bizDeptId(val, oldval) {
              alert(1)
      "dataForm.bizDeptId"(){
              this.getUserList()
            },*/
      }
    },
    methods: {
      init() {
@@ -202,6 +200,7 @@
          }
          await this.getUserList()
        }
        console.log(this.dataForm, "async getInfo() dataForm")
      },
      async getUserList() {
        let res = await this.$http.get(`/project/Project/getUsersLists?deptId=${this.dataForm.bizDeptId}`)
@@ -222,7 +221,8 @@
      },
      // 表单提交
      async formSubmit() {
        if (this.dataForm.secretClass>this.dataForm.usersecretClass){
        console.log(localStorage.getItem('userSecretClass'),"formSubmit")
        if (this.dataForm.secretClass>localStorage.getItem('userSecretClass')){
          this.$alert("当前项目设置的密级高于当前用户的密级,请重新设置")
          return
        }
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -90,11 +90,20 @@
                    <el-table ref="tableMeasuredList" class="el-software"  border :data="dataForm.measuredList"
                              @cell-click="handleCellClick"
                              stripe>
                      <el-table-column prop="no"  align="center"  width="80" label="序号"/>
                      <el-table-column prop="name" min-width="300" label="名称"/>
                      <el-table-column prop="no" align="center" width="80" label="序号">
                        <template slot-scope="scope">
                          <span v-html="indexFormat(scope.$index)"></span>
                        </template>
                      </el-table-column>
                      <el-table-column prop="name" min-width="300" label="名称">
                        <template v-slot="{ row }">
                          <el-input v-model="row.name" placeholder="名称"></el-input>
                        </template>
                      </el-table-column>
                      <el-table-column align="center" prop="identify" width="180" label="标识/版本">
                        <template slot-scope="scope">
                          <span v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
                          <span
                            v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
                            <el-input ref="editInput" v-model="scope.row.identify" placeholder="标识/版本"></el-input>
                          </span>
                          <span v-else>{{ scope.row.identify }}</span>
@@ -107,7 +116,7 @@
                      </el-table-column>
                      <el-table-column fixed="right" label="操作" align="center">
                        <template slot-scope="scope">
                          <zt-table-button @click="deleteMeasuredRow(scope.$index)">删除</zt-table-button>
                          <zt-table-button @click="deleteMeasuredRow(scope.$index,scope.row.id)">删除</zt-table-button>
                        </template>
                      </el-table-column>
                    </el-table>
@@ -140,7 +149,8 @@
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item style="width: 20%;padding-left:5%;margin-bottom: 0">
                      <zt-dict v-model="dataForm.softwareTestOrder.testBasis" :radio="true" dict="test_basis"
                               clearable  :inputName="dataForm.softwareTestOrder.otherBasis" origin="otherBasis" @getChangeInputData="getChangeInputData"></zt-dict>
                               clearable :inputName="dataForm.softwareTestOrder.otherBasis" origin="otherBasis"
                               @getChangeInputData="getChangeInputData"></zt-dict>
                    </el-form-item>
                  </div>
                </div>
@@ -153,7 +163,8 @@
                      <zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType1" column="2" dict="test_type1"
                                        clearable></zt-dict-checkbox>
                    </el-form-item>
                    <el-form-item style="width: 60%;padding-left: 15%;border-left: 1px solid rgba(0,0,0,.2);margin-bottom: 0">
                    <el-form-item
                      style="width: 60%;padding-left: 15%;border-left: 1px solid rgba(0,0,0,.2);margin-bottom: 0">
                      <zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType2" dict="test_type2"
                                        clearable></zt-dict-checkbox>
                    </el-form-item>
@@ -226,7 +237,8 @@
                    <el-form-item label="是否盖CNAS章" label-width="130px" style="padding-left:5%;margin-bottom:0">
                      <zt-dict v-model="dataForm.softwareTestOrder.otherRequire" :radio="true"
                               dict="is_or_not"></zt-dict>
                      <span>其他:<el-input class="requireOther" v-model="dataForm.softwareTestOrder.requireOther"></el-input></span>
                      <span>其他:<el-input class="requireOther"
                                         v-model="dataForm.softwareTestOrder.requireOther"></el-input></span>
                    </el-form-item>
                  </div>
                </div>
@@ -331,12 +343,24 @@
                  <div class="table-container" style="width: calc(100% - 120px);padding: 5px">
                    <el-table ref="tableDeliverableList" class="el-software" border :data="dataForm.deliverableList"
                              stripe>
                      <el-table-column type="index" align="center" width="80" label="序号"/>
                      <el-table-column prop="name" min-width="300" label="名称"></el-table-column>
                      <el-table-column prop="identify" align="center" width="380" label="标识/版本"></el-table-column>
                      <el-table-column type="index" align="center" width="80" label="序号">
                        <template slot-scope="scope">
                          <span v-html="indexFormat(scope.$index)"></span>
                        </template>
                      </el-table-column>
                      <el-table-column prop="name" min-width="300" label="名称">
                        <template v-slot="{ row }">
                          <el-input v-model="row.name" placeholder="名称"></el-input>
                        </template>
                      </el-table-column>
                      <el-table-column prop="identify" align="center" width="380" label="标识/版本">
                        <template v-slot="{ row }">
                          <el-input v-model="row.identify" placeholder="标识/版本"></el-input>
                        </template>
                      </el-table-column>
                      <el-table-column fixed="right" label="操作" align="center">
                        <template slot-scope="scope">
                          <zt-table-button @click="deleteDeliverableRow(scope.$index)">删除</zt-table-button>
                          <zt-table-button @click="deleteDeliverableRow(scope.$index,scope.row.id)">删除</zt-table-button>
                        </template>
                      </el-table-column>
                    </el-table>
@@ -395,7 +419,8 @@
              <div class="" style="width: 100%;">
                <div class="el-flex" style="height: 40px">
                  <div style="width: 60%">
                    <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" placeholder="承托方人员"/>
                    <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList"
                               placeholder="承托方人员"/>
<!--                    <span>{{ dataForm.contractSign }}</span>-->
                  </div>
                  <div class="el-flex" style="margin-left: 10%">
@@ -446,6 +471,7 @@
<script>
  import Cookies from 'js-cookie'
  import qs from 'qs'
export default {
  data() {
    return {
@@ -586,6 +612,9 @@
      // console.log(this.dataForm, "this.dataForm")
      console.log(this.dataForm,"getInfo this.dataForm")
    },
      indexFormat(index) {
        return index += 1
      },
    addDeliverableRow() {
      this.dataForm.deliverableList.push({})
      this.$nextTick(() => {
@@ -593,7 +622,12 @@
        tableBody.scrollTop = tableBody.scrollHeight
      })
    },
    deleteDeliverableRow(index){
      async deleteDeliverableRow(index,id) {
        if (id != null) {
          if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) {
            let res = await this.$http.delete('/project/SoftwareTestOrderDeliverable/', {data: [id]})
          }
        }
      this.dataForm.deliverableList.splice(index, 1)
    },
    addMeasuredRow() {
@@ -603,7 +637,12 @@
        tableBody.scrollTop = tableBody.scrollHeight
      })
    },
    deleteMeasuredRow(index){
      async deleteMeasuredRow(index, id) {
        if (id != null) {
          if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) {
            let res = await this.$http.delete('/project/SoftwareTestOrderMeasured/', {data: [id]})
          }
        }
      this.dataForm.measuredList.splice(index, 1)
    },
    async print(){
@@ -644,7 +683,8 @@
<style>
.weiTuoDanAuto {
  width: 70%;
//border: 1px solid; margin: 0 auto;
    /*border: 1 px solid;*/
    margin: 0 auto;
}
.weiTuoDanAuto .el-radio {
@@ -701,18 +741,23 @@
.DOldForm > .el-form-item > .el-form-item__content {
  width: calc(100% - 120px);
}
.startDate > .el-form-item > .el-form-item__content {
  width: 95%;
}
.endDate > .el-form-item > .el-form-item__content {
  width: 95%;
}
.testCost > .el-form-item > .el-form-item__content {
  width: 100%;
}
.testVenue > .el-form-item > .el-form-item__content {
  width: 100%;
}
.el-border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}
@@ -742,19 +787,24 @@
  margin-top: -10px !important;
  margin-bottom: 10px !important;
}
.weiTuoDanAuto .marginTopAndMarginBottom3 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}
.csjgxx > .el-form-item > .el-form-item__content {
  width: calc(100% - 130px);
}
.order-sc > .el-form-item > .el-form-item__content {
  width:100%;
}
.test-type-line-height>.el-form-item>.el-form-item__content{
  line-height: 30px;
}
.requireOther.el-input{
  position: absolute;
}
web/src/views/pages/login.vue
@@ -237,8 +237,11 @@
                  }
                }
                let roleName = res.data.roleName
                let userSecretClass = res.data.userSecretClass
                localStorage.setItem('roleName', roleName)
                localStorage.setItem('userSecretClass', userSecretClass)
                console.log(localStorage.getItem('roleName'),'localStorage.getItem(\'roleName\')')
                console.log(localStorage.getItem('userSecretClass'),'localStorage.getItem(\'userSecretClass\')')
              }
            }
          })
zt/core/src/main/java/com/zt/security/service/SysUserTokenService.java
@@ -73,6 +73,7 @@
        // String token;
        String roleNames = sysUserService.getRoleNames(userId);
        // 当前时间
        Date now = new Date();
        // 过期时间
@@ -146,12 +147,14 @@
        CacheUtils.removeAll(Constant.Cache.TOKEN);
        //CacheUtils.remove(Constant.Cache.TOKEN,token);
        //CacheUtils.put(Constant.Cache.TOKEN,token,tokenEntity);
        User user = UserContext.getUser();
        Integer secretClass = user.getSecretClass();
        Map<String, Object> map = new HashMap<>();
        map.put(Constant.Sys.TOKEN_HEADER, token);
        map.put("expire", EXPIRE);
        map.put("test", test);
        map.put("roleName", roleNames);
        map.put("userSecretClass", secretClass);
        map.put("info", "OK");
        loginProcess();
        return Result.ok().ok(map);
zt/core/src/main/resources/mapper/sys/SysUserDao.xml
@@ -214,23 +214,17 @@
                            and b.code = 'tybm')
    </select>
    <select id="checkTestHome" resultType="java.lang.Integer">
        SELECT
            count( 1 )
        FROM
            sys_user
        WHERE
            is_delete = 0
        SELECT count(1)
        FROM sys_user
        WHERE is_delete = 0
          AND id = #{userId}
          AND (
                user_name IN ( 'admin', 'yszl' )
                OR id IN (
                SELECT
                    user_id
                FROM
                    sys_role_user b,
                SELECT user_id
                FROM sys_role_user b,
                    sys_role c
                WHERE
                    b.is_delete = 0
                WHERE b.is_delete = 0
                  AND c.is_delete = 0
                  AND c.id = b.role_id
                  AND c.`code` IN ( 'xtglybm', 'ztsxlbm', 'dbsbm', 'zlbm', 'bzbm', 'czbm' )
@@ -243,7 +237,8 @@
        <if test="type == null or type == ''">
            and id not in (
            select user_id from sys_role_user where role_id
            in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm','rx')))
            in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm','rx')and is_delete=0)and
            is_delete=0)and is_delete=0
        </if>
        <if test="deptId != null and deptId != ''">
            and dept_id = #{deptId}
@@ -251,26 +246,29 @@
        <if test="type == 'zrr'">
            and id in (
            select user_id from sys_role_user where role_id
            in (select id from sys_role where code in ('jcry')))
            in (select id from sys_role where code in ('jcry')and is_delete=0)and is_delete=0)and is_delete=0
        </if>
        <if test="type == 'csry'">
            and id in (
            select user_id from sys_role_user where role_id
            in (select id from sys_role where code in ('jcry')))
            in (select id from sys_role where code in ('jcry')and is_delete=0)and is_delete=0)and is_delete=0
        </if>
        <if test="type == 'shry'">
            and id in (
            select user_id from sys_role_user where role_id
            in (select id from sys_role where code in ('jcry','zljdy','shry')))
            in (select id from sys_role where code in ('jcry','zljdy','shry')and is_delete=0)and is_delete=0) and
            is_delete=0
        </if>
        <if test="type == 'pzry'">
            and id in (
            select user_id from sys_role_user where role_id
            in (select id from sys_role where code in ('jcry','shry')))
            in (select id from sys_role where code in ('jcry','shry')and is_delete=0)and is_delete=0)and is_delete=0
        </if>
    </select>
    <select id="getUsersName" resultType="java.lang.String">
        select real_name from sys_user WHERE id=${id}
        select real_name
        from sys_user
        WHERE id = ${id}
    </select>
    <update id="updatePassword">
        update