From f491d30b0a69148bd0991b3d5b1c4cf9f8216949 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 12 一月 2024 09:52:39 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java                         |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java       |    4 
 modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java           |    5 
 modules/mainPart/src/main/resources/mapper/testReviewComment/TestReviewCommentDao.xml                          |    3 
 modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml                              |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java               |    5 
 modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml                                              |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/service/ConfigItemOutboundService.java   |    5 
 zt/common/src/main/java/com/zt/core/context/User.java                                                          |    1 
 modules/mainPart/src/main/java/com/zt/life/modules/testReviewComment/service/TestReviewCommentService.java     |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java                       |    7 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java             |    9 
 web/packages/i18n/zh-CN.js                                                                                     |    1 
 web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue                                            |  170 ++++++++++++----
 modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml                                |    5 
 modules/mainPart/src/main/resources/mapper/testCheckOrder/TestCheckOrderDao.xml                                |    5 
 web/src/views/modules/project/Project-AddOrUpdate.vue                                                          |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java             |   15 +
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java     |   15 +
 web/src/views/modules/riskTraceRecord/RiskTraceItem.vue                                                        |    4 
 modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java         |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java                   |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java                    |    1 
 modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml                      |    7 
 modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml                                    |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java           |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java       |    1 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java         |    4 
 modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml                                              |    3 
 modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml                                  |    8 
 modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java                                  |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java                  |   17 +
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java                      |   13 +
 zt/common/src/main/java/com/zt/core/sys/model/SysUser.java                                                     |    1 
 web/src/views/modules/sys/user-add-or-update.vue                                                               |    4 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java                 |    1 
 modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java     |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java                         |    5 
 modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportDao.xml                          |    5 
 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java |    5 
 modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml                          |    5 
 /dev/null                                                                                                      |   22 --
 modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml                                |    6 
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java           |  114 +++++++---
 modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml                                  |    5 
 modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml                              |   15 +
 modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportService.java     |    5 
 modules/mainPart/src/main/resources/mapper/configItemOutbound/ConfigItemChangeDao.xml                          |    3 
 48 files changed, 425 insertions(+), 134 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java
index a26142e..c84163d 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.baselineRelease.dao.BaselineReleaseDao;
@@ -77,6 +79,9 @@
      * @return
      */
     public List<BaselineRelease> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<BaselineRelease> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             workflowService.getRunFlow(list, "jxfb");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportService.java
index 9a0efef..435becf 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportService.java
@@ -3,6 +3,8 @@
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
 import com.zt.common.utils.CommonUtils;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.baselineRelease.dto.BaselineDto;
@@ -89,6 +91,9 @@
      * @return
      */
     public List<ConfigAuditReport> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<ConfigAuditReport> list = baseDao.getList(queryFilter.getQueryParams());
         if (list != null && list.size() > 0) {
             sysOssService.setListOsses(list, "config_audit_report");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/service/ConfigItemOutboundService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/service/ConfigItemOutboundService.java
index 5b5772e..cc52e1e 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/service/ConfigItemOutboundService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemOutbound/service/ConfigItemOutboundService.java
@@ -6,6 +6,8 @@
 import com.zt.common.db.query.QueryFilter;
 import com.zt.common.service.BaseService;
 import com.zt.common.utils.UUIDUtil;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.configItemOutbound.dao.ConfigItemOutboundDao;
@@ -98,6 +100,9 @@
      * @return
      */
     public List<ConfigItemOutbound> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<ConfigItemOutbound> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             workflowService.getRunFlow(list, "pzxck");
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 7b4337a..ddce8ee 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
@@ -3,6 +3,8 @@
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
 import com.zt.common.utils.CommonUtils;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.configItemWarehouse.dao.ConfigItemWarehouseDao;
@@ -89,6 +91,9 @@
      * @return
      */
     public List<ConfigItemWarehouse> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<ConfigItemWarehouse> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             workflowService.getRunFlow(list, "pzxrk");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java
index 5d1d3b8..c2ff92c 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.baselineRelease.model.BaselineRelease;
@@ -83,6 +85,9 @@
      * @return
      */
     public List<ContractReview> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<ContractReview> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             sysOssService.setListOsses(list, "contract_review");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
index c47c34d..d8a3bfd 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
@@ -79,6 +81,9 @@
      * @return
      */
     public List<ItemCirculatOrder> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<ItemCirculatOrder> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             workflowService.getRunFlow(list, "wplz");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
index ad1e21d..a4cf07f 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
@@ -13,6 +13,7 @@
 import com.zt.common.validator.group.AddGroup;
 import com.zt.common.validator.group.DefaultGroup;
 import com.zt.common.validator.group.UpdateGroup;
+import com.zt.core.context.User;
 import com.zt.core.context.UserContext;
 import com.zt.core.sys.model.SysUser;
 import com.zt.life.modules.project.dto.ProjectUserDto;
@@ -91,6 +92,9 @@
         if (data.getBizDeptId() == null) {
             data.setBizDeptId(UserContext.getDeptId().toString());
         }
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        data.setUsersecretClass(secretClass);
         return Result.ok(data);
     }
 
@@ -107,6 +111,7 @@
         map.put("year", year);
         project.setYear(year);
         project.setCode(sysCodeRuleService.getNewCode(map));
+
         projectService.insert(project);
         return Result.ok();
     }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
index 720c0e4..bd5a771 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
@@ -1,5 +1,6 @@
 package com.zt.life.modules.project.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zt.common.entity.BusiEntity;
 import io.swagger.annotations.ApiModel;
@@ -84,4 +85,8 @@
 	@ApiModelProperty(value = "鏄惁绛剧讲鍚堝悓")
 	private Integer isContract;
 
+	@TableField(exist = false)
+	@ApiModelProperty(value = "鐢ㄦ埛瀵嗙骇")
+	private Integer usersecretClass;
+
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
index 25e9976..0f39ffd 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
@@ -1,6 +1,8 @@
 package com.zt.life.modules.project.service;
 
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.core.sys.dto.DictDto;
 import com.zt.core.sys.dto.DictItemDto;
 import com.zt.core.sys.dto.DictLeafDto;
@@ -130,6 +132,9 @@
      * @return
      */
     public List<Environ> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<Environ> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             sysOssService.setListOsses(list, "test_environ");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java
index bb5e4b0..00b147e 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java
@@ -1,6 +1,8 @@
 package com.zt.life.modules.project.service;
 
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.modules.project.dao.ProjectDao;
 import com.zt.life.modules.project.model.Project;
 import com.zt.modules.coderule.service.SysCodeRuleService;
@@ -28,6 +30,9 @@
      * @return
      */
     public List<Project> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         return baseDao.getList(queryFilter.getQueryParams());
     }
 
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
index 43344a7..1a1c8c1 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
@@ -2,6 +2,8 @@
 
 import com.zt.common.service.BaseService;
 import com.zt.common.utils.CommonUtils;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.core.sys.dto.DictDto;
 import com.zt.core.sys.dto.DictItemDto;
 import com.zt.core.sys.dto.DictLeafDto;
@@ -72,6 +74,9 @@
      * @return
      */
     public List<SoftwareTestOrder> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<SoftwareTestOrder> list = baseDao.getList(queryFilter.getQueryParams());
         if (list != null && list.size() > 0) {
             sysOssService.setListOsses(list, "test_order");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java
index 36d4063..3c005b3 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java
@@ -121,6 +121,7 @@
 
         return Result.ok();
     }
+
     @GetMapping("exportQaReport")
     @ApiOperation("鎵撳嵃QA瀹℃牳鎶ュ憡")
     @LogOperation("鎵撳嵃QA瀹℃牳鎶ュ憡")
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java
index adcec6a..f7fe2cb 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java
@@ -3,6 +3,8 @@
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
 import com.zt.common.utils.CommonUtils;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.baselineRelease.dto.BaselineDto;
@@ -69,7 +71,6 @@
     @Autowired
     private  QaAuditReportIncongruentService incongruentService;
 
-
     @Autowired
     private WorkflowService workflowService;
     /**
@@ -79,6 +80,9 @@
      * @return
      */
     public List<QaAuditReport> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<QaAuditReport> list = baseDao.getList(queryFilter.getQueryParams());
         if (list != null && list.size() > 0) {
             workflowService.getRunFlow(list, "qashbg");
@@ -98,6 +102,11 @@
 
     public QaAuditReportDto getDto(Long projectId, Long reportId) {
         QaAuditReportDto data = new QaAuditReportDto();
+        Map<String, String> map = new HashMap<>();
+        map.put("contract", "鍚堝悓璇勫闃舵");
+        map.put("require", "娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝闃舵");
+        map.put("execute", "娴嬭瘯璁捐銆佸疄鐜颁笌鎵ц闃舵");
+        map.put("summary", "娴嬭瘯鎬荤粨闃舵");
         if (reportId != null) {
             data.setId(reportId);
             QaAuditReport auditReport = this.get(reportId);
@@ -113,6 +122,10 @@
             List<QaAuditReportIncongruent> incongruentList = incongruentService.createList(projectId);
             data.setIncongruentList(incongruentList);
         }
+        for (QaAuditReportIncongruent incongruent : data.getIncongruentList()) {
+            String type = map.get(incongruent.getDiscoveryPhase());
+            incongruent.setDiscoveryPhase(type);
+        }
         if (projectId != null) {
             data.setProjectId(projectId);
             data.setProject(projectService.get(projectId));
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java
index ab22dcc..d62c515 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java
@@ -46,6 +46,8 @@
         @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
         @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
         @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
+        @ApiImplicitParam(name = "softwareName", value = "椤圭洰鍚嶇О", dataType = Constant.QT.STRING, format = "p.software_name^LK"),
+        @ApiImplicitParam(name = "softwareIdentity", value = "椤圭洰鏍囪瘑", dataType = Constant.QT.STRING, format = "p.software_identity^LK")
     })
     public PageResult<RiskMeasure> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
 
@@ -81,7 +83,7 @@
         return Result.ok();
     }
 
-    @DeleteMapping
+    @DeleteMapping("deleteRisk")
     @ApiOperation("鍒犻櫎")
     @LogOperation("鍒犻櫎")
     public Result delete(@RequestBody Long[] ids){
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java
index 19f664c..a5fce64 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java
@@ -27,6 +27,7 @@
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.HashMap;
 import java.util.List;
@@ -58,7 +59,7 @@
             @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
             @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
             @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
-            @ApiImplicitParam(name = "riskDesc", value = "椋庨櫓鎻忚堪", dataType = Constant.QT.STRING, format = "risk_desc^LK")})
+             })
     public PageResult<RiskTraceItem> page(@ApiIgnore @QueryParam QueryFilter queryFilter) {
 
         return PageResult.ok(riskTraceItemService.page(queryFilter));
@@ -68,12 +69,12 @@
     @ApiOperation("淇℃伅")
     public Result<RiskTraceDto> getDto(Long projectId, Long riskId) {
         RiskTraceDto data = riskTraceItemService.getDto(projectId, riskId);
-        if (riskId != null) {
+       /* if (riskId != null) {
             OssDto ossDto = sysOssConfigService.getOssByBusiType(riskId, "risk_trace_item");
             if (ossDto != null) {
                 data.setFiles(ossDto);
             }
-        }
+        }*/
         return Result.ok(data);
     }
 
@@ -97,7 +98,7 @@
         return Result.ok();
     }
 
-    @DeleteMapping("deleteRisk")
+    @DeleteMapping
     @ApiOperation("鍒犻櫎")
     @LogOperation("鍒犻櫎")
     public Result delete(@RequestBody Long[] ids) {
@@ -108,4 +109,10 @@
         return Result.ok();
     }
 
+    @GetMapping("exportRiskRecord")
+    @ApiOperation("鎵撳嵃椋庨櫓璁板綍")
+    @LogOperation("鎵撳嵃椋庨櫓璁板綍")
+    public void exportRiskRecord(Long id, HttpServletRequest request, HttpServletResponse response) {
+        riskTraceItemService.exportRiskRecord(id, request, response);
+    }
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java
index 11c556c..82637e1 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java
@@ -20,4 +20,5 @@
 
     List<RiskTraceRecord> getList(Map<String, Object> params);
 
+    List<RiskTraceRecord> creatList(Long riskId);
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java
index df04c08..19d445b 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java
@@ -28,8 +28,9 @@
     @ApiModelProperty(value = "闄勪欢")
     private OssDto files;
 
-    @ApiModelProperty(value = "椋庨櫓璺熻釜椤�")
+    @ApiModelProperty(value = "鏁村悎鐨勫垪琛�")
+    private List<RiskTraceRecord> riskList = new ArrayList<>();
+
+    @ApiModelProperty(value = "鏁村悎鐨勫垪琛�")
     private List<RiskTraceItem> itemList = new ArrayList<>();
-    @ApiModelProperty(value = "涓嶇鍚堥」鍒楄〃")
-    private List<RiskTraceRecord> recordList = new ArrayList<>();
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java
index edbcb14..565a94f 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java
@@ -1,5 +1,6 @@
 package com.zt.life.modules.riskTraceRecord.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.zt.common.entity.BusiEntity;
@@ -21,6 +22,9 @@
 @TableName("risk_measure")
 public class RiskMeasure extends BusiEntity {
 	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "椤圭洰ID")
+	private Long projectId;
 
 	@ApiModelProperty(value = "闇�姹傞闄╄窡韪汉鍛�")
 	private String requireRiskTrackers;
@@ -130,4 +134,13 @@
 	@JsonFormat(pattern = "yyyy-MM-dd")
 	private Date summaryLeadDate;
 
+	@TableField(exist = false)
+	@ApiModelProperty(value = "椤圭洰鏍囪瘑")
+	private String softwareName;
+
+	@TableField(exist = false)
+	@ApiModelProperty(value = "椤圭洰鍚嶇О")
+	private String softwareIdentity;
+
+
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java
index cf47c08..c047bd1 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java
@@ -17,7 +17,6 @@
  */
 @Data
 @EqualsAndHashCode(callSuper=false)
-@TableName("risk_trace_item")
 public class RiskTraceItem extends BusiEntity {
 	private static final long serialVersionUID = 1L;
 
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java
index 5a6df65..a4e18d0 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java
@@ -1,5 +1,6 @@
 package com.zt.life.modules.riskTraceRecord.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zt.common.entity.BusiEntity;
 import io.swagger.annotations.ApiModel;
@@ -17,12 +18,14 @@
  */
 @Data
 @EqualsAndHashCode(callSuper=false)
-@TableName("risk_trace_record")
 public class RiskTraceRecord extends BusiEntity {
 	private static final long serialVersionUID = 1L;
 
 	@ApiModelProperty(value = "椋庨櫓ID")
 	private Long riskId;
+
+	@ApiModelProperty(value = "椋庨櫓椤笽D")
+	private Long itemId;
 
 	@ApiModelProperty(value = "娴嬭瘯闇�姹�")
 	private String testRequire;
@@ -36,4 +39,16 @@
 	@ApiModelProperty(value = "娴嬭瘯鎬荤粨")
 	private String testSummary;
 
+	@TableField(exist = false)
+	@ApiModelProperty(value = "椋庨櫓鍚嶇О")
+	private String riskName;
+
+	@TableField(exist = false)
+	@ApiModelProperty(value = "椋庨櫓鎻忚堪")
+	private String riskDesc;
+
+	@TableField(exist = false)
+	@ApiModelProperty(value = "椋庨櫓绛夌骇")
+	private String riskLevel;
+
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java
index 13459f1..9ede68e 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java
@@ -1,8 +1,11 @@
 package com.zt.life.modules.riskTraceRecord.service;
 
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.modules.riskTraceRecord.dao.RiskMeasureDao;
 import com.zt.life.modules.riskTraceRecord.model.RiskMeasure;
+import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem;
 import org.springframework.stereotype.Service;
 import com.zt.common.db.query.QueryFilter;
 import javax.annotation.Resource;
@@ -27,7 +30,11 @@
      * @return
      */
     public List<RiskMeasure> page(QueryFilter queryFilter) {
-        return baseDao.getList(queryFilter.getQueryParams());
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
+        List<RiskMeasure> list = baseDao.getList(queryFilter.getQueryParams());
+        return list;
     }
 
     /**
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java
index 420a064..8d356a0 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java
@@ -1,7 +1,12 @@
 package com.zt.life.modules.riskTraceRecord.service;
 
+import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
 import com.zt.common.utils.CommonUtils;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
+import com.zt.life.export.dto.WordFile;
+import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.project.service.ProjectService;
 import com.zt.life.modules.qaAuditReport.dto.QaAuditReportDto;
 import com.zt.life.modules.qaAuditReport.model.QaAuditReport;
@@ -12,11 +17,18 @@
 import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem;
 import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord;
 import com.zt.life.sys.service.SysOssConfigService;
+import com.zt.modules.oss.service.SysOssService;
 import com.zt.modules.workflow.dto.FlowInfoDto;
+import com.zt.modules.workflow.service.WorkflowService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.zt.common.db.query.QueryFilter;
+
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -26,11 +38,11 @@
 /**
  * risk_trace_item
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2024-01-09
  */
 @Service
-public class RiskTraceItemService  extends BaseService<RiskTraceItemDao, RiskTraceItem> {
+public class RiskTraceItemService extends BaseService<RiskTraceItemDao, RiskTraceItem> {
     @Autowired
     private RiskMeasureService measureService;
 
@@ -40,6 +52,15 @@
     @Autowired
     private ProjectService projectService;
 
+    @Autowired
+    private SysOssService sysOssService;
+
+    @Autowired
+    private WordFileService wordFileService;
+
+    @Autowired
+    private SysOssConfigService sysOssConfigService;
+
     /**
      * 鍒嗛〉鏌ヨ
      *
@@ -47,14 +68,13 @@
      * @return
      */
     public List<RiskTraceItem> page(QueryFilter queryFilter) {
-        return baseDao.getList(queryFilter.getQueryParams());
+        List<RiskTraceItem> list = baseDao.getList(queryFilter.getQueryParams());
+       /* if (list != null && list.size() > 0) {
+            sysOssService.setListOsses(list, "risk_trace_item");
+        }*/
+        return list;
     }
 
-    private List<RiskTraceItem> getList(Long riskId) {
-        Map<String, Object> params = new HashMap<>();
-        params.put("riskId",riskId);
-        return baseDao.getList(params);
-    }
     /**
      * 鍒犻櫎
      *
@@ -64,7 +84,7 @@
         super.deleteLogic(ids);
     }
 
-    public RiskTraceDto getDto(Long projectId, Long riskId){
+    public RiskTraceDto getDto(Long projectId, Long riskId) {
         RiskTraceDto data = new RiskTraceDto();
         if (riskId != null) {
             data.setId(riskId);
@@ -73,23 +93,28 @@
             if (riskMeasure != null && projectId == null) {
                 projectId = data.getProjectId();
             }
-            List<RiskTraceItem> itemList = this.getList(riskId);
-            data.setItemList(itemList);
-            List<RiskTraceRecord> recordList = recordService.getList(riskId);
-            data.setRecordList(recordList);
+            List<RiskTraceRecord> riskList = recordService.getList(riskId);
+            data.setRiskList(riskList);
         } else {
             RiskMeasure riskMeasure = new RiskMeasure();
             data.setRiskMeasure(riskMeasure);
-            List<RiskTraceItem> itemList = this.getList(null);
+            List<RiskTraceItem> itemList = this.getList(riskId);
             data.setItemList(itemList);
-            List<RiskTraceRecord> recordList = new ArrayList<>();
-            data.setRecordList(recordList);
+            List<RiskTraceRecord> riskList = recordService.getList(riskId);
+            data.setRiskList(riskList);
         }
         if (projectId != null) {
             data.setProjectId(projectId);
+            data.getRiskMeasure().setProjectId(projectId);
             data.setProject(projectService.get(projectId));
         }
         return data;
+    }
+
+    private List<RiskTraceItem> getList(Long riskId) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("riskId", riskId);
+        return baseDao.getList(params);
     }
 
 
@@ -102,28 +127,47 @@
             riskId = riskTraceDto.getRiskMeasure().getId();
         }
 
-        for (RiskTraceRecord record : riskTraceDto.getRecordList()) {
-            record.setRiskId(riskId);
-            if (record.getId() != null) {
-                RiskTraceRecord record2 = recordService.get(record.getId());
-                if (CommonUtils.isActureChangeData(record,record2)) {
-                    recordService.update(record2);
-                }
-            } else {
-                recordService.insert(record);
-            }
-        }
         for (RiskTraceItem item : riskTraceDto.getItemList()) {
-            item.setRiskId(riskId);
-            if (item.getId() != null) {
-                RiskTraceItem item2 = this.get(item.getId());
-                if (CommonUtils.isActureChangeData(item,item2)) {
-                    baseDao.updateById(item2);
-                }
-            } else {
-                baseDao.insert(item);
+            if (item.getRiskId() == null) {
+                item.setId(null);
+                item.setRiskId(riskId);
+                this.insert(item);
             }
         }
+
+        for (int i = 0; i < riskTraceDto.getRiskList().size(); i++) {
+            RiskTraceRecord risk = riskTraceDto.getRiskList().get(i);
+            RiskTraceItem item = null;
+            if (riskTraceDto.getItemList().size() > 0) {
+                item = riskTraceDto.getItemList().get(i);
+            }
+            risk.setRiskId(riskId);
+
+            if (risk.getId() != null) {
+                recordService.update(risk);
+            } else {
+                risk.setItemId(item.getId());
+                recordService.insert(risk);
+            }
+        }
+
+
+        sysOssConfigService.updateOss(riskTraceDto.getId(), riskTraceDto.getFiles());// 淇濆瓨闄勪欢
         return true;
     }
+
+    public void exportRiskRecord(Long id, HttpServletRequest request, HttpServletResponse response) {
+        try {
+            RiskTraceDto dataObj = this.getDto(null, id);
+            WordFile wordFile = new WordFile();
+            wordFile.setModulePath("娴嬭瘯椋庨櫓璺熻釜璁板綍.docx");
+            if (dataObj.getProject() == null) {
+                dataObj.setProject(projectService.get(dataObj.getRiskMeasure().getProjectId()));
+            }
+            wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_娴嬭瘯椋庨櫓璺熻釜璁板綍.docx");
+            wordFileService.exportWordFile(request, dataObj, wordFile, response);
+        } catch (UnsupportedEncodingException | FileNotFoundException e) {
+            e.printStackTrace();
+        }
+    }
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java
index 46bdd79..7c961d3 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java
@@ -39,9 +39,9 @@
         super.deleteLogic(ids);
     }
 
-    public List<RiskTraceRecord> getList(Long riskId) {
+    public List<RiskTraceRecord> getList(Long riskId){
         Map<String, Object> params = new HashMap<>();
         params.put("riskId",riskId);
-        return baseDao.getList(params);
+        return baseDao.creatList(riskId);
     }
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
index c1d3206..7a7e32a 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto;
@@ -75,6 +77,9 @@
      * @return
      */
     public List<TestCheckOrder> page(QueryFilter queryFilter) {
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<TestCheckOrder> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             workflowService.getRunFlow(list, "csjcd");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testReviewComment/service/TestReviewCommentService.java b/modules/mainPart/src/main/java/com/zt/life/modules/testReviewComment/service/TestReviewCommentService.java
index a5e6639..0427def 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/testReviewComment/service/TestReviewCommentService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/testReviewComment/service/TestReviewCommentService.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
 import com.zt.life.export.dto.WordFile;
 import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.baselineRelease.dto.BaselineDto;
@@ -67,6 +69,9 @@
     public List<TestReviewComment> page(QueryFilter queryFilter) {
         String pageCode = String.valueOf(queryFilter.getParams().get("pageCode"));
         pageCode=pageCode.replace("%","");
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
         List<TestReviewComment> list = baseDao.getList(queryFilter.getQueryParams());
         if (list.size() > 0) {
             sysOssService.setListOsses(list, "test_review_comment_" + pageCode);
diff --git a/modules/mainPart/src/main/resources/fop.xml b/modules/mainPart/src/main/resources/fop.xml
deleted file mode 100644
index e22a0b7..0000000
--- a/modules/mainPart/src/main/resources/fop.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!-- $Id: fop.xml 901793 2012-12-21 bin.yin $ -->
-<!-- NOTE: This is the version of the configuration -->
-<fop version="1.0">
-	<base>./</base>
-
-	<source-resolution>72</source-resolution>
-
-	<target-resolution>72</target-resolution>
-
-	<default-page-settings height="11.00in"
-		width="8.50in" />
-
-	<fonts>
-<!--		<directory>C:\Windows\Fonts</directory>
-		<font-triplet name="simfang" style="normal" weight="normal"/>-->
-		<auto-detect/>
-	</fonts>
-
-
-</fop>
-
diff --git a/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml b/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml
index 80e639b..8ee88af 100644
--- a/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml
@@ -6,9 +6,12 @@
     <select id="getList" resultType="com.zt.life.modules.baselineRelease.model.BaselineRelease">
         select a.*,p.software_name,p.software_identity
         from baseline_release a
-        INNER JOIN  project p ON p.id = a.project_id
+        JOIN  project p ON p.id = a.project_id
         <where>
             a.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportDao.xml b/modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportDao.xml
index e6b9fc2..70f7b8f 100644
--- a/modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportDao.xml
@@ -6,9 +6,12 @@
     <select id="getList" resultType="com.zt.life.modules.configAuditReport.model.ConfigAuditReport">
         select a.*,p.software_identity,p.software_name
         from config_audit_report a
-        INNER JOIN project p ON p.id = a.project_id
+        JOIN project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/configItemOutbound/ConfigItemChangeDao.xml b/modules/mainPart/src/main/resources/mapper/configItemOutbound/ConfigItemChangeDao.xml
index b404b93..a09223a 100644
--- a/modules/mainPart/src/main/resources/mapper/configItemOutbound/ConfigItemChangeDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/configItemOutbound/ConfigItemChangeDao.xml
@@ -9,6 +9,9 @@
         INNER JOIN  project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
index 3c95a59..6c71c2e 100644
--- a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
@@ -6,9 +6,12 @@
     <select id="getList" resultType="com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse">
         select a.* ,p.software_name,p.code AS projectCode
         from config_item_warehouse a
-        INNER JOIN  project p ON p.id = a.project_id
+        JOIN project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
@@ -19,7 +22,7 @@
     </select>
     <select id="itemList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit">
         SET @row_number = 0;
-        SELECT  dd.dict_label AS examineItem,
+        SELECT dd.dict_label AS examineItem,
         (@row_number := @row_number + 1) AS no
         FROM sys_dict_type dt
         JOIN sys_dict_data dd ON dt.id = dd.dict_type_id
diff --git a/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml b/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml
index cf7db67..d8a62b4 100644
--- a/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml
@@ -6,9 +6,13 @@
     <select id="getList" resultType="com.zt.life.modules.contractReview.model.ContractReview">
         select a.*, s.code
         from contract_review a
-        INNER JOIN  software_test_order s ON s.project_id = a.project_id
+        JOIN  software_test_order s ON s.project_id = a.project_id
+        JOIN project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and s.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml
index f7ab446..0d956f7 100644
--- a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml
@@ -6,7 +6,10 @@
     <select id="getList" resultType="com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder">
         select a.*, p.software_name,p.software_identity
         from item_circulat_order a
-        INNER JOIN  project p ON p.id = a.project_id
+        JOIN project p ON p.id = a.project_id
+        <if test="secretClass!=null">
+            and p.secret_class &lt;= #{secretClass}
+        </if>
         <where>
             a.is_delete = 0 and p.is_delete = 0
             <if test="whereSql!=null">
diff --git a/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml b/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml
index 8323d84..9363e6e 100644
--- a/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml
@@ -5,9 +5,12 @@
     <select id="getList" resultType="com.zt.life.modules.project.model.Environ">
         SELECT a.*, p.software_name,p.software_identity
         FROM environ a
-        INNER JOIN  project p ON p.id = a.project_id
+        JOIN  project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml b/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml
index edd23e3..e77e1b9 100644
--- a/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml
@@ -11,6 +11,9 @@
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
+            <if test="secretClass!=null">
+                and secret_class &lt;= #{secretClass}
+            </if>
             <if test="tableName!=null and tableName!=''">
                 and id not in (select project_id from ${tableName} where is_delete = 0
                 <if test="pageCode !=null and pageCode !='' ">
diff --git a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml
index b5b8bf9..0fb1267 100644
--- a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml
@@ -6,9 +6,12 @@
     <select id="getList" resultType="com.zt.life.modules.project.model.SoftwareTestOrder">
         SELECT a.*, p.software_name,p.software_identity
         FROM software_test_order a
-        INNER JOIN project p ON p.id = a.project_id
+        JOIN project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml b/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml
index c8844c2..c3632a6 100644
--- a/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml
@@ -6,9 +6,12 @@
     <select id="getList" resultType="com.zt.life.modules.qaAuditReport.model.QaAuditReport">
         select a.*,p.software_name,p.software_identity
         from qa_audit_report a
-            INNER JOIN  project p ON p.id = a.project_id
+        JOIN  project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml
index a0a4483..9e77e7e 100644
--- a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml
@@ -4,10 +4,14 @@
 <mapper namespace="com.zt.life.modules.riskTraceRecord.dao.RiskMeasureDao">
 
     <select id="getList" resultType="com.zt.life.modules.riskTraceRecord.model.RiskMeasure">
-        select a.*
+        select a.*,p.software_name,p.software_identity
         from risk_measure a
+        JOIN  project p ON p.id = a.project_id
         <where>
-            a.is_delete = 0
+            a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml
index 527be6a..f430f77 100644
--- a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml
@@ -9,7 +9,10 @@
         <where>
             a.is_delete = 0
             <if test="riskId!=null">
-                and a.id = ${riskId}
+                and a.risk_id = ${riskId}
+            </if>
+            <if test="riskId == null">
+                and a.risk_id is Null
             </if>
         </where>
         <if test="orderBySql!=null">
diff --git a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml
index 0168a9f..757ca4f 100644
--- a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml
@@ -16,5 +16,20 @@
             ORDER BY ${orderBySql}
         </if>
     </select>
+    <select id="creatList" resultType="com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord">
+        select a.risk_name,a.risk_desc,a.risk_level, b.*
+        from risk_trace_item a
+        left join risk_trace_record b on b.risk_id = a.risk_id and b.item_id = a.id
+        <where>
+            a.is_delete = 0
+            <if test="riskId!=null">
+                and a.risk_id = ${riskId}
+            </if>
+            <if test="riskId == null">
+                and a.risk_id is Null
+            </if>
+        </where>
+        order by a.sort
+    </select>
 
 </mapper>
diff --git a/modules/mainPart/src/main/resources/mapper/testCheckOrder/TestCheckOrderDao.xml b/modules/mainPart/src/main/resources/mapper/testCheckOrder/TestCheckOrderDao.xml
index 27dd8e7..c56f788 100644
--- a/modules/mainPart/src/main/resources/mapper/testCheckOrder/TestCheckOrderDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/testCheckOrder/TestCheckOrderDao.xml
@@ -6,9 +6,12 @@
     <select id="getList" resultType="com.zt.life.modules.testCheckOrder.model.TestCheckOrder">
         select a.* ,p.software_identity,p.software_name
         from test_check_order a
-        INNER JOIN project p ON p.id = a.project_id
+        JOIN project p ON p.id = a.project_id
         <where>
             a.is_delete = 0 and p.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/modules/mainPart/src/main/resources/mapper/testReviewComment/TestReviewCommentDao.xml b/modules/mainPart/src/main/resources/mapper/testReviewComment/TestReviewCommentDao.xml
index a63ea34..f7efa4c 100644
--- a/modules/mainPart/src/main/resources/mapper/testReviewComment/TestReviewCommentDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/testReviewComment/TestReviewCommentDao.xml
@@ -9,6 +9,9 @@
         INNER JOIN  project p ON p.id = a.project_id
         <where>
             a.is_delete = 0
+            <if test="secretClass!=null">
+                and p.secret_class &lt;= #{secretClass}
+            </if>
             <if test="whereSql!=null">
                 and ${whereSql}
             </if>
diff --git a/web/packages/i18n/zh-CN.js b/web/packages/i18n/zh-CN.js
index 5161bdc..8b9ed6a 100644
--- a/web/packages/i18n/zh-CN.js
+++ b/web/packages/i18n/zh-CN.js
@@ -147,6 +147,7 @@
 t.user.resetPassword = '閲嶇疆瀵嗙爜'
 t.user.userCode = '宸ュ彿'
 t.user.realName = '鐪熷疄濮撳悕'
+t.user.secretClass = '鐢ㄦ埛瀵嗙骇'
 t.user.gender = '鎬у埆'
 t.user.select = '閫夋嫨鐢ㄦ埛'
 t.user.selecterror = '璇烽�夋嫨涓�鏉¤褰�'
diff --git a/web/src/views/modules/project/Project-AddOrUpdate.vue b/web/src/views/modules/project/Project-AddOrUpdate.vue
index 687ccc8..92114fa 100644
--- a/web/src/views/modules/project/Project-AddOrUpdate.vue
+++ b/web/src/views/modules/project/Project-AddOrUpdate.vue
@@ -167,6 +167,7 @@
           projectConfiger: '',
           bizDeptId: '',
           isContract: '',
+          usersecretClass: ''
         },
         projectLeaderList: [],
         projectTestersList: [],
@@ -221,6 +222,10 @@
       },
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
+        if (this.dataForm.secretClass>this.dataForm.usersecretClass){
+          this.$alert("褰撳墠椤圭洰璁剧疆鐨勫瘑绾ч珮浜庡綋鍓嶇敤鎴风殑瀵嗙骇锛岃閲嶆柊璁剧疆")
+          return
+        }
         if (this.dataForm && this.dataForm.projectTesters instanceof Array) {
           this.dataForm.projectTesters = this.dataForm.projectTesters.join(',')
           console.log(this.dataForm.projectTesters)
diff --git a/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue b/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue
index c54c0f7..2313022 100644
--- a/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue
+++ b/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue
@@ -2,17 +2,33 @@
   <zt-dialog ref="dialog"  @confirm="formSubmit">
     <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="0px">
       <div style="border: 1px solid rgba(0,0,0,.2);width: 100%">
-        <el-table  :data="dataForm.dataList" border>
-          <el-table-column width="60px" label="椋庨櫓鍚嶇О" prop=""></el-table-column>
+        <el-table  :data="dataForm.riskList" border>
+          <el-table-column width="60px" label="椋庨櫓鍚嶇О" prop="riskName"></el-table-column>
           <el-table-column label="椋庨櫓">
-            <el-table-column label="椋庨櫓鎻忚堪" prop=""></el-table-column>
-            <el-table-column  width="60px" label="椋庨櫓绛夌骇" prop=""></el-table-column>
+            <el-table-column label="椋庨櫓鎻忚堪" prop="riskDesc"></el-table-column>
+            <el-table-column  width="60px" label="椋庨櫓绛夌骇" prop="riskLevel"></el-table-column>
           </el-table-column>
           <el-table-column label="椋庨櫓璺熻釜璁板綍(鍙戠敓姒傜巼)">
-            <el-table-column label="娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝" prop=""></el-table-column>
-            <el-table-column label="娴嬭瘯璁捐" prop=""></el-table-column>
-            <el-table-column label="娴嬭瘯鎵ц" prop=""></el-table-column>
-            <el-table-column label="娴嬭瘯鎬荤粨" prop=""></el-table-column>
+            <el-table-column label="娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝" prop="testRequire">
+              <template v-slot="{ row }">
+                <el-input v-model="row.testRequire" placeholder="娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="娴嬭瘯璁捐" prop="testDesign">
+              <template v-slot="{ row }">
+                <el-input v-model="row.testDesign" placeholder="娴嬭瘯璁捐"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="娴嬭瘯鎵ц" prop="testExecute">
+              <template v-slot="{ row }">
+                <el-input v-model="row.testExecute" placeholder="娴嬭瘯鎵ц"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="娴嬭瘯鎬荤粨" prop="testSummary">
+              <template v-slot="{ row }">
+                <el-input v-model="row.testSummary" placeholder="娴嬭瘯鎬荤粨"></el-input>
+              </template>
+            </el-table-column>
           </el-table-column>
         </el-table>
 
@@ -22,12 +38,12 @@
             </div>
             <div  class=" el-border-left" style="width: 20%">
               <el-form-item class="form-margin-top-bottom">
-                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                <el-input v-model="dataForm.riskMeasure.requireRiskTrackers" class="risk-form-padding"></el-input>
               </el-form-item>
               <el-form-item class="form-margin-top-bottom">
                 <el-date-picker
                   class="risk-form-padding"
-                  v-model="dataForm.contractSignDate"
+                  v-model="dataForm.riskMeasure.requireRiskDate"
                   type="date"
                   placeholder="閫夋嫨鏃ユ湡">
                 </el-date-picker>
@@ -35,12 +51,12 @@
             </div>
             <div  class=" el-border-left" style="width: 20%">
               <el-form-item class="form-margin-top-bottom">
-                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                <el-input v-model="dataForm.riskMeasure.designRiskTrackers" class="risk-form-padding"></el-input>
               </el-form-item>
               <el-form-item class="form-margin-top-bottom">
                 <el-date-picker
                   class="risk-form-padding"
-                  v-model="dataForm.contractSignDate"
+                  v-model="dataForm.riskMeasure.designRiskDate"
                   type="date"
                   placeholder="閫夋嫨鏃ユ湡">
                 </el-date-picker>
@@ -48,12 +64,12 @@
             </div>
             <div class=" el-border-left" style="width: 20%">
               <el-form-item class="form-margin-top-bottom">
-                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                <el-input v-model="dataForm.riskMeasure.executeRiskTrackers" class="risk-form-padding"></el-input>
               </el-form-item>
               <el-form-item class="form-margin-top-bottom">
                 <el-date-picker
                   class="risk-form-padding"
-                  v-model="dataForm.contractSignDate"
+                  v-model="dataForm.riskMeasure.executeRiskDate"
                   type="date"
                   placeholder="閫夋嫨鏃ユ湡">
                 </el-date-picker>
@@ -61,12 +77,12 @@
             </div>
             <div class=" el-border-left" style="width: 20%">
               <el-form-item class="form-margin-top-bottom">
-                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                <el-input v-model="dataForm.riskMeasure.summaryRiskTrackers" class="risk-form-padding"></el-input>
               </el-form-item>
               <el-form-item class="form-margin-top-bottom">
                 <el-date-picker
                   class="risk-form-padding"
-                  v-model="dataForm.contractSignDate"
+                  v-model="dataForm.riskMeasure.summaryRiskDate"
                   type="date"
                   placeholder="閫夋嫨鏃ユ湡">
                 </el-date-picker>
@@ -83,16 +99,16 @@
                   閲囧彇鎺柦锛�
                 </div>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%" >
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.requireMeasure" class="risk-form-padding"></el-input>
                 </el-form-item>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.designMeasure" class="risk-form-padding"></el-input>
                 </el-form-item>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.executeMeasure" class="risk-form-padding"></el-input>
                 </el-form-item>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.summaryMeasure" class="risk-form-padding"></el-input>
                 </el-form-item>
               </div>
               <div class="el-risk-flex el-border-bottom ">
@@ -101,12 +117,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.requireRecorder" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.requireRecordDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -114,12 +130,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.designRecorder" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.designRecordDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -127,12 +143,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.executeRecorder" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.executeRecordDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -140,12 +156,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.summaryRecorder" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.summaryRecordDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -157,16 +173,16 @@
                   鎺柦鏈夋晥鎬ц瘎浼帮細
                 </div>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.requireEvaluate" class="risk-form-padding"></el-input>
                 </el-form-item>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.designEvaluate" class="risk-form-padding"></el-input>
                 </el-form-item>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.executeEvaluate" class="risk-form-padding"></el-input>
                 </el-form-item>
                 <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
-                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                  <el-input v-model="dataForm.riskMeasure.summaryEvaluate" class="risk-form-padding"></el-input>
                 </el-form-item>
               </div>
               <div class="el-risk-flex ">
@@ -175,12 +191,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.requireLeader" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.requireLeadDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -188,12 +204,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.designLeader" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.designLeadDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -201,12 +217,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.executeLeader" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.executeLeadDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -214,12 +230,12 @@
                 </div>
                 <div class=" el-border-left" style="width:22.25%">
                   <el-form-item class="form-margin-top-bottom">
-                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
+                    <el-input v-model="dataForm.riskMeasure.summaryLeader" class="risk-form-padding"></el-input>
                   </el-form-item>
                   <el-form-item class="form-margin-top-bottom">
                     <el-date-picker
                       class="risk-form-padding"
-                      v-model="dataForm.contractSignDate"
+                      v-model="dataForm.riskMeasure.summaryLeadDate"
                       type="date"
                       placeholder="閫夋嫨鏃ユ湡">
                     </el-date-picker>
@@ -241,23 +257,69 @@
           </div>
         </div>
       </div>
-
+  <!--    <div class="el-flex risk-sc" style="height: 60px">
+        <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
+          <config-uploader :lineHeight="true" busi-type="risk_trace_item" model-name="dataForm" :dataForm="dataForm"
+                           v-model="dataForm.files"/>
+        </el-form-item>
+      </div>-->
     </el-form>
+    <template v-slot:footer>
+      <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button>
+    </template>
   </zt-dialog>
 </template>
 
 <script>
+  import qs from "qs";
+  import Cookies from "js-cookie";
+
   export default {
     data() {
       return {
         dataForm: {
+          disabled:'false',
           id: '',
-          sort: '',
-          riskName: '',
-          riskDesc: '',
-          riskLevel: '',
-          dataList:[],
-          contractSignDate:'',
+          riskMeasure:{
+            requireRiskTrackers:'',
+            requireRiskDate:'',
+            designRiskTrackers:'',
+            designRiskDate:'',
+            executeRiskTrackers:'',
+            executeRiskDate:'',
+            summaryRiskTrackers:'',
+            summaryRiskDate:'',
+            requireMeasure:'',
+            designMeasure:'',
+            executeMeasure:'',
+            summaryMeasure:'',
+            requireRecorder:'',
+            requireRecordDate:'',
+            designRecorder:'',
+            designRecordDate:'',
+            executeRecorder:'',
+            executeRecordDate:'',
+            summaryRecorder:'',
+            summaryRecordDate:'',
+            requireEvaluate:'',
+            designEvaluate:'',
+            executeEvaluate:'',
+            summaryEvaluate:'',
+            requireLeader:'',
+            requireLeadDate:'',
+            designLeader:'',
+            designLeadDate:'',
+            executeLeader:'',
+            executeLeadDate:'',
+            summaryLeader:'',
+            summaryLeadDate:''
+          },
+          project: {
+            softwareIdentity: '',
+            softwareName: ''
+          },
+          riskList:[],
+          itemList:[]
         }
       }
     },
@@ -280,14 +342,23 @@
           riskId: this.dataForm.id,
           projectId: this.dataForm.projectId
         }
-        let res = await this.$http.get(`/riskTraceRecord/RiskTraceItem/`,{params:params})
+        let res = await this.$http.get(`/riskTraceRecord/RiskTraceItem/getDto`,{params:params})
         this.dataForm = {
           ...this.dataForm,
           ...res.data
         }
       },
+      async print() {
+        var params = qs.stringify({
+          token: Cookies.get('token'),
+          id: this.dataForm.id
+        })
+        let apiURL = `/riskTraceRecord/RiskTraceItem/exportRiskRecord`
+        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
+      },
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
+        console.log(this.dataForm,"formSubmit")
         let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/riskTraceRecord/RiskTraceItem/', this.dataForm)
         if (res.success) {
           await this.$tip.success()
@@ -329,4 +400,7 @@
   margin-top: 0 !important;
   margin-bottom: 0 !important;
 }
+.risk-sc > .el-form-item > .el-form-item__content {
+  width: 100%;
+}
 </style>
diff --git a/web/src/views/modules/riskTraceRecord/RiskTraceItem.vue b/web/src/views/modules/riskTraceRecord/RiskTraceItem.vue
index c3e3388..3bdf090 100644
--- a/web/src/views/modules/riskTraceRecord/RiskTraceItem.vue
+++ b/web/src/views/modules/riskTraceRecord/RiskTraceItem.vue
@@ -1,7 +1,7 @@
 <template>
   <el-card shadow="never" class="aui-card--fill">
     <div class="mod-riskTraceRecord-riskTraceItem}">
-      <zt-table-wraper query-url="/riskTraceRecord/RiskTraceItem/page" delete-url="/riskTraceRecord/RiskTraceItem/deleteRisk"
+      <zt-table-wraper query-url="/riskTraceRecord/RiskMeasure/page" delete-url="/riskTraceRecord/RiskMeasure/deleteRisk"
                        v-slot="{ table }">
         <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
           <el-form-item>
@@ -36,7 +36,7 @@
                        @refreshDataList="table.query"
                        @setProjectInfo="openAddWin">
         </ProjectSelect>
-        <Preview ref="view" :pageMarkerfun="RiskTrace"></Preview>
+    <!--    <Preview ref="view" :pageMarkerfun="RiskTrace"></Preview>-->
       </zt-table-wraper>
     </div>
   </el-card>
diff --git a/web/src/views/modules/sys/user-add-or-update.vue b/web/src/views/modules/sys/user-add-or-update.vue
index 6d41454..849ccde 100644
--- a/web/src/views/modules/sys/user-add-or-update.vue
+++ b/web/src/views/modules/sys/user-add-or-update.vue
@@ -31,6 +31,9 @@
           <zt-form-item prop="nickName" :label="$t('user.nickName')">
             <el-input v-model="dataForm.nickName" :placeholder="$t('user.nickName')"></el-input>
           </zt-form-item>
+          <zt-form-item prop="secretClass" :label="$t('user.secretClass')" rules="required">
+            <zt-dict v-model="dataForm.secretClass" dict="secret_class" :placeholder="$t('user.secretClass') "></zt-dict>
+          </zt-form-item>
           <zt-form-item prop="simpleSpelling" :label="$t('user.simpleSpelling')">
             <el-input v-model="dataForm.simpleSpelling" :placeholder="$t('user.simpleSpelling')"></el-input>
           </zt-form-item>
@@ -104,6 +107,7 @@
           deptName: '',
           realName: '',
           nickName: '',
+          secretClass:'',
           headUrl: '',
           simpleSpelling: '',
           fullSpelling: '',
diff --git a/zt/common/src/main/java/com/zt/core/context/User.java b/zt/common/src/main/java/com/zt/core/context/User.java
index f9d3458..216749b 100644
--- a/zt/common/src/main/java/com/zt/core/context/User.java
+++ b/zt/common/src/main/java/com/zt/core/context/User.java
@@ -32,6 +32,7 @@
     private Long id;
     private String username;
     private String realName;
+    private Integer secretClass;
     private String headUrl;
     private Integer gender;
     private String email;
diff --git a/zt/common/src/main/java/com/zt/core/sys/model/SysUser.java b/zt/common/src/main/java/com/zt/core/sys/model/SysUser.java
index ee55636..56830e8 100644
--- a/zt/common/src/main/java/com/zt/core/sys/model/SysUser.java
+++ b/zt/common/src/main/java/com/zt/core/sys/model/SysUser.java
@@ -51,6 +51,7 @@
     @ApiModelProperty(value = "鍛樺伐宸ュ彿", required = false)
     // @NotBlank(message = "鍛樺伐宸ュ彿涓嶈兘涓虹┖", groups = DefaultGroup.class)
     private String userCode;
+    private Integer secretClass;
 
     @ApiModelProperty(value = "鐢ㄦ埛鍚�", required = true)
     @NotBlank(message = "鐢ㄦ埛鍚嶄笉鑳戒负绌�", groups = DefaultGroup.class)

--
Gitblit v1.9.1