From 761bdc5b3f17df62aae1b424f2d2dabc11e844bc Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期五, 23 五月 2025 09:33:44 +0800
Subject: [PATCH] 变动大幅度版本

---
 src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 891 insertions(+), 109 deletions(-)

diff --git a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java
index 5eaf0bd..127a216 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java
@@ -5,34 +5,32 @@
 import com.gkhy.labRiskManage.application.account.dto.respDto.UserIdentityRespDTO;
 import com.gkhy.labRiskManage.application.riskReport.dto.bo.*;
 import com.gkhy.labRiskManage.application.riskReport.dto.dto.RiskAssessAppQueryDTO;
-import com.gkhy.labRiskManage.application.riskReport.dto.dto.RiskAssessAppQueryDTO_0223bak;
 import com.gkhy.labRiskManage.application.riskReport.dto.dto.RiskAssessPlanListAppDTO;
+import com.gkhy.labRiskManage.commons.domain.Result;
 import com.gkhy.labRiskManage.commons.domain.SearchResult;
 import com.gkhy.labRiskManage.commons.enums.*;
 import com.gkhy.labRiskManage.commons.exception.BusinessException;
 import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils;
+import com.gkhy.labRiskManage.domain.account.entity.User;
 import com.gkhy.labRiskManage.domain.account.model.dto.SysUserRoleBindDomainDTO;
 import com.gkhy.labRiskManage.domain.account.model.dto.UserInfoDomainDTO;
 import com.gkhy.labRiskManage.domain.account.service.UserDomainService;
-import com.gkhy.labRiskManage.domain.basic.entity.BasicRiskUnit;
 import com.gkhy.labRiskManage.domain.basic.entity.BasicRiskUnitType;
 import com.gkhy.labRiskManage.domain.basic.model.dto.RiskUnitUpdateDTO;
 import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentPersonService;
 import com.gkhy.labRiskManage.domain.basic.service.BasicRiskUnitService;
 import com.gkhy.labRiskManage.domain.basic.service.BasicRiskUnitTypeService;
-import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentInfo;
 import com.gkhy.labRiskManage.domain.experiment.model.dto.ExperimentInfoDTO;
 import com.gkhy.labRiskManage.domain.experiment.service.ExperimentInfoService;
 import com.gkhy.labRiskManage.domain.riskReport.entity.*;
 import com.gkhy.labRiskManage.domain.riskReport.model.bo.*;
 import com.gkhy.labRiskManage.domain.riskReport.model.dto.*;
-import com.gkhy.labRiskManage.domain.riskReport.repository.jpa.RiskAssessPlanEvaluateUserRepository;
-import com.gkhy.labRiskManage.domain.riskReport.repository.jpa.RiskAssessPlanIdentificationUserRepository;
 import com.gkhy.labRiskManage.domain.riskReport.repository.jpa.RiskAssessPlanRepository;
 import com.gkhy.labRiskManage.domain.riskReport.service.*;
 import com.gkhy.labRiskManage.domain.riskReport.utils.EvaluateAndIdentificationUtils;
 import com.gkhy.labRiskManage.domain.riskReport.utils.EvaluateCheckUtils;
 import com.gkhy.labRiskManage.domain.riskReport.utils.GetRoleTagUtils;
+import com.gkhy.labRiskManage.mapper.RiskPlanDataMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -43,11 +41,10 @@
 import org.springframework.util.ObjectUtils;
 
 import javax.persistence.criteria.*;
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 
@@ -373,19 +370,29 @@
                 if (queryParam.getExperimentId() != null) {
                     predicateList.add(criteriaBuilder.equal(root.get("experimentId"), queryParam.getExperimentId()));
                 }
-                Join<RiskAssessPlan, RiskAssessPlanIdentificationUser> identificationUserJoin = root.join("riskAssessPlanIdentificationUsers", JoinType.LEFT);
-                Join<RiskAssessPlan, RiskAssessPlanEvaluateUser> evaluateUserJoin = root.join("riskAssessPlanEvaluateUsers", JoinType.LEFT);
+//                Join<RiskAssessPlan, RiskAssessPlanIdentificationUser> identificationUserJoin = root.join("riskAssessPlanIdentificationUsers", JoinType.LEFT);
+//                Join<RiskAssessPlan, RiskAssessPlanEvaluateUser> evaluateUserJoin = root.join("riskAssessPlanEvaluateUsers", JoinType.LEFT);
+                Join<RiskAssessPlan, RiskAssessPlanIdentificationUser> identificationJoin =
+                        root.join("riskAssessPlanIdentificationUsers", JoinType.LEFT);
+                identificationJoin.on(criteriaBuilder.equal(identificationJoin.get("deleteStatus"), StatusEnum.DELETE_NOT.getCode()));
+
+                // LEFT JOIN riskAssessPlanEvaluateUsers
+                Join<RiskAssessPlan, RiskAssessPlanEvaluateUser> evaluateJoin =
+                        root.join("riskAssessPlanEvaluateUsers", JoinType.LEFT);
+                evaluateJoin.on(criteriaBuilder.equal(evaluateJoin.get("deleteStatus"), StatusEnum.DELETE_NOT.getCode()));
+
 
                 if (roleTag == UserTagEnum.USER_TAG_0.getCode()) {
-
+                    predicateList.add(criteriaBuilder.equal(root.get("planUserId"), currentUserId));
                     //此处应有谁能查询:辨识专家,评价专家,实验负责人(此处未存相关信息,以实验id为条件查询)
-                    predicateList.add(criteriaBuilder.or(
-                                    criteriaBuilder.equal(identificationUserJoin.get("identificationUserId"), currentUserId),
-                                    criteriaBuilder.equal(evaluateUserJoin.get("evaluateUserId"), currentUserId),
-                                    criteriaBuilder.in(root.get("experimentId")).value(experimentIdList)
-                            )
-                    );
+//                    predicateList.add(criteriaBuilder.or(
+//                                    criteriaBuilder.equal(identificationUserJoin.get("identificationUserId"), currentUserId),
+//                                    criteriaBuilder.equal(evaluateUserJoin.get("evaluateUserId"), currentUserId),
+//                                    criteriaBuilder.in(root.get("experimentId")).value(experimentIdList)
+//                            )
+//                    );
                 }
+
                 query.groupBy(root.get("id"));
                 predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"), StatusEnum.DELETE_NOT.getCode()));
                 return criteriaBuilder.and(predicateList.toArray(new Predicate[0]));
@@ -394,6 +401,11 @@
 
         PageRequest pageParam = PageRequest.of(queryParam.getPageIndex() - 1, queryParam.getPageSize(), Sort.Direction.DESC, "updateTime");
         Page<RiskAssessPlan> pageResult = assessPlanRepository.findAll(specification, pageParam);
+
+
+
+        Long countDynamic = assessPlanRepository.countDynamic(queryParam.getAssessPlanName(), queryParam.getExperimentId(), roleTag == UserTagEnum.USER_TAG_0.getCode() ? currentUserId : null, queryParam.getRiskUnitIds());
+
 
         List<RiskAssessPlanQueryDTO> assessPlanQueryDTOS = BeanCopyUtils.copyBeanList(pageResult.getContent(), RiskAssessPlanQueryDTO.class);
 
@@ -442,7 +454,7 @@
         }
 
         searchResult.setData(assessPlanQueryDTOS);
-        searchResult.setTotal(pageResult.getTotalElements());
+        searchResult.setTotal(countDynamic);
         return searchResult;
     }
 
@@ -657,7 +669,7 @@
         int roleTag = 0;
         UserInfoDomainDTO user = userDomainService.getUserById(currentUserId);
         for (SysUserRoleBindDomainDTO role : user.getRoles()) {
-            if (role.getRoleId() == UserRoleEnum.USER_ROLE_4.getCode().byteValue()) {
+            if (role.getRoleId() == UserRoleEnum.USER_ROLE_4.getCode().byteValue() || role.getRoleId() == UserRoleEnum.USER_ROLE_1.getCode().byteValue()) {
                 roleTag = 1;
             }
         }
@@ -743,9 +755,10 @@
         if (assessPlanById.getPlanSellStatus() == 1) {
             throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR.getCode(), "该计划尚未派发,无法辨识");
         }
-        if (assessPlanById.getPlanExecStatus() != 2) {
-            throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR.getCode(), "该计划不处在辨识阶段,无法辨识");
-        }
+        //20250520修改评价阶段也可以进行新增辨识
+//        if (assessPlanById.getPlanExecStatus() != 2) {
+//            throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR.getCode(), "该计划不处在辨识阶段,无法辨识");
+//        }
         if (date.isAfter(assessPlanById.getAssessEndTime())) {
             throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR.getCode(), "风险辨识必须在评估结束时间之前");
         }
@@ -1090,6 +1103,8 @@
         return BeanCopyUtils.copyBean(submitResult, AssessPlanUpdateDTO.class);
     }
 
+    @Autowired
+    private RiskPlanDataMapper riskPlanDataMapper;
     /**
      * 风险辨识与评价 - 查询
      */
@@ -1177,6 +1192,7 @@
                         predicateList.add(criteriaBuilder.equal(root.get("planExecStatus"), queryParam.getPlanExecStatus()));
                     }
                 }
+
                 if (queryParam.getTag() == 2) {
                     predicateList.add(criteriaBuilder.isNotNull(root.get("identificationTime")));
                 }
@@ -1185,19 +1201,27 @@
                 }
                 if (planIds.size() > 0) {
                     predicateList.add(criteriaBuilder.in(root.get("id")).value(planIds));
+                    queryParam.setPlanIds(planIds);
                 }
 
                 Join<RiskAssessPlan, RiskAssessPlanIdentificationUser> identificationUserJoin = root.join("riskAssessPlanIdentificationUsers", JoinType.LEFT);
                 Join<RiskAssessPlan, RiskAssessPlanEvaluateUser> evaluateUserJoin = root.join("riskAssessPlanEvaluateUsers", JoinType.LEFT);
+                Join<RiskAssessPlan, User> planUserJoin = root.join("planUser", JoinType.LEFT);
+
 
                 if (roleTag == UserTagEnum.USER_TAG_0.getCode()) {
+                    queryParam.setUserTag(UserTagEnum.USER_TAG_0.getCode().byteValue());
+                    queryParam.setUserId(currentUserId);
+                    //辨识
+                    if (queryParam.getTag() == 1) {
+                        predicateList.add(criteriaBuilder.equal(identificationUserJoin.get("identificationUserId"), currentUserId));
+                    }
+                    //评论
+                    if (queryParam.getTag() == 2) {
+                        predicateList.add(criteriaBuilder.equal(evaluateUserJoin.get("evaluateUserId"), currentUserId));
+                    }
                     //此处应有谁能查询:辨识专家,评价专家,实验负责人(此处未存相关信息,以实验id为条件查询)
-                    predicateList.add(criteriaBuilder.or(
-                                    criteriaBuilder.equal(identificationUserJoin.get("identificationUserId"), currentUserId),
-                                    criteriaBuilder.equal(evaluateUserJoin.get("evaluateUserId"), currentUserId),
-                                    criteriaBuilder.in(root.get("experimentId")).value(experimentIdList)
-                            )
-                    );
+                    //predicateList.add(criteriaBuilder.in(root.get("experimentId")).value(experimentIdList));
 //                    predicateList.add(criteriaBuilder.or(
 //                                    criteriaBuilder.equal(root.get("identificationUserId"), currentUserId),
 //                                    criteriaBuilder.equal(root.get("evaluateUserId"), currentUserId),
@@ -1213,6 +1237,8 @@
 
         PageRequest pageParam = PageRequest.of(queryParam.getPageIndex() - 1, queryParam.getPageSize(), Sort.Direction.DESC, "updateTime");
         Page<RiskAssessPlan> pageResult = assessPlanRepository.findAll(specification, pageParam);
+        long pageCount = riskPlanDataMapper.getPageCount(queryParam);
+
 
         //循环遍历结果集,封装查询结果
         List<AssessQueryDTO> assessQueryDTOList = new ArrayList<>();
@@ -1242,6 +1268,9 @@
             for (RiskAssessPlan riskAssessPlan : pageResult.getContent()) {
 
                 AssessQueryDTO assessQueryDTO = BeanCopyUtils.copyBean(riskAssessPlan, AssessQueryDTO.class);
+                if(riskAssessPlan.getPlanUser() != null){
+                    assessQueryDTO.setPlanUserName(riskAssessPlan.getPlanUser().getRealName());
+                }
                 for (RiskUnitListAppQueryDTO riskUnit : riskUnitListAppQueryDTOS) {
                     if (riskUnit.getId() == assessQueryDTO.getRiskUnitId()) {
                         assessQueryDTO.setRiskUnitName(riskUnit.getRiskName());
@@ -1304,7 +1333,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
                             for (LecQueryDTO lec : lecList) {
-                                if (lec.getIdentificationId() == pha.getId()) {
+                                if (Objects.equals(lec.getIdentificationId(), pha.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lecMatchPha(pha, lec);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1314,10 +1343,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1331,7 +1360,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime());
                             for (LecQueryDTO lec : lecList) {
-                                if (lec.getIdentificationId() == jha.getId()) {
+                                if (Objects.equals(lec.getIdentificationId(), jha.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lecMatchJha(jha, lec);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1341,10 +1370,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1358,7 +1387,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime());
                             for (LecQueryDTO lec : lecList) {
-                                if (lec.getIdentificationId() == scl.getId()) {
+                                if (Objects.equals(lec.getIdentificationId(), scl.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lecMatchScl(scl, lec);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1368,10 +1397,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1385,7 +1414,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime());
                             for (LecQueryDTO lec : lecList) {
-                                if (lec.getIdentificationId() == hazop.getId()) {
+                                if (Objects.equals(lec.getIdentificationId(), hazop.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lecMatchHazop(hazop, lec);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1394,10 +1423,10 @@
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                                 }
                                 for (UserInfoDomainDTO user : userList) {
-                                    if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                    if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                         assessQueryDTO.setCreateByUserName(user.getRealName());
                                     }
-                                    if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                    if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                         assessQueryDTO.setUpdateByUserName(user.getRealName());
                                     }
                                 }
@@ -1412,7 +1441,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime());
                             for (LecQueryDTO lec : lecList) {
-                                if (lec.getIdentificationId() == analogy.getId()) {
+                                if (Objects.equals(lec.getIdentificationId(), analogy.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lecMatchAnalogy(analogy, lec);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1422,10 +1451,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1444,7 +1473,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
                             for (LsQueryDTO ls : lsList) {
-                                if (ls.getIdentificationId() == pha.getId()) {
+                                if (Objects.equals(ls.getIdentificationId(), pha.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lsMatchPha(pha, ls);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1454,10 +1483,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1471,7 +1500,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime());
                             for (LsQueryDTO ls : lsList) {
-                                if (ls.getIdentificationId() == jha.getId()) {
+                                if (Objects.equals(ls.getIdentificationId(), jha.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lsMatchJha(jha, ls);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1481,10 +1510,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1498,7 +1527,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime());
                             for (LsQueryDTO ls : lsList) {
-                                if (ls.getIdentificationId() == scl.getId()) {
+                                if (Objects.equals(ls.getIdentificationId(), scl.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lsMatchScl(scl, ls);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1508,10 +1537,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1525,7 +1554,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime());
                             for (LsQueryDTO ls : lsList) {
-                                if (ls.getIdentificationId() == hazop.getId()) {
+                                if (Objects.equals(ls.getIdentificationId(), hazop.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lsMatchHazop(hazop, ls);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1535,10 +1564,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1552,7 +1581,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime());
                             for (LsQueryDTO ls : lsList) {
-                                if (ls.getIdentificationId() == analogy.getId()) {
+                                if (Objects.equals(ls.getIdentificationId(), analogy.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.lsMatchAnalogy(analogy, ls);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1562,10 +1591,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1583,7 +1612,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
                             for (MesQueryDTO mes : mesList) {
-                                if (mes.getIdentificationId() == pha.getId()) {
+                                if (Objects.equals(mes.getIdentificationId(), pha.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.mesMatchPha(pha, mes);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1593,10 +1622,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1610,7 +1639,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime());
                             for (MesQueryDTO mes : mesList) {
-                                if (mes.getIdentificationId() == jha.getId()) {
+                                if (Objects.equals(mes.getIdentificationId(), jha.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.mesMatchJha(jha, mes);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1620,10 +1649,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1637,7 +1666,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime());
                             for (MesQueryDTO mes : mesList) {
-                                if (mes.getIdentificationId() == scl.getId()) {
+                                if (Objects.equals(mes.getIdentificationId(), scl.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.mesMatchScl(scl, mes);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1647,10 +1676,10 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
@@ -1722,7 +1751,7 @@
                             factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                             factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
                             for (RsQueryDTO rs : rsList) {
-                                if (rs.getIdentificationId() == pha.getId()) {
+                                if (Objects.equals(rs.getIdentificationId(), pha.getId())) {
                                     EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
                                     factorQueryDTO = evaluateAndIdentificationUtils.rsMatchPha(pha, rs);
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
@@ -1732,14 +1761,767 @@
                                 }
                             }
                             for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
                                     assessQueryDTO.setCreateByUserName(user.getRealName());
                                 }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
                                     assessQueryDTO.setUpdateByUserName(user.getRealName());
                                 }
                             }
                             factorQueryDTOList.add(factorQueryDTO);
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 2) {
+                        for (JhaQueryDTO jha : jhaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setJhaId(jha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime());
+                            for (RsQueryDTO rs : rsList) {
+                                if (Objects.equals(rs.getIdentificationId(), jha.getId())) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.rsMatchJha(jha, rs);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setJhaId(jha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            for (UserInfoDomainDTO user : userList) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
+                                    assessQueryDTO.setCreateByUserName(user.getRealName());
+                                }
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
+                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
+                                }
+                            }
+                            factorQueryDTOList.add(factorQueryDTO);
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 3) {
+                        for (SclQueryDTO scl : sclList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setSclId(scl.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime());
+                            for (RsQueryDTO rs : rsList) {
+                                if (Objects.equals(rs.getIdentificationId(), scl.getId())) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.rsMatchScl(scl, rs);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setSclId(scl.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            for (UserInfoDomainDTO user : userList) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
+                                    assessQueryDTO.setCreateByUserName(user.getRealName());
+                                }
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
+                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
+                                }
+                            }
+                            factorQueryDTOList.add(factorQueryDTO);
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 4) {
+                        for (HazopQueryDTO hazop : hazopList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setHazopId(hazop.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime());
+                            for (RsQueryDTO rs : rsList) {
+                                if (Objects.equals(rs.getIdentificationId(), hazop.getId())) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.rsMatchHazop(hazop, rs);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setHazopId(hazop.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            for (UserInfoDomainDTO user : userList) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
+                                    assessQueryDTO.setCreateByUserName(user.getRealName());
+                                }
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
+                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
+                                }
+                            }
+                            factorQueryDTOList.add(factorQueryDTO);
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 5) {
+                        for (AnalogyQueryDTO analogy : analogyList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setAnalogyId(analogy.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime());
+                            for (RsQueryDTO rs : rsList) {
+                                if (Objects.equals(rs.getIdentificationId(), analogy.getId())) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.rsMatchAnalogy(analogy, rs);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setAnalogyId(analogy.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            for (UserInfoDomainDTO user : userList) {
+                                if (Objects.equals(user.getId(), assessQueryDTO.getCreateByUserId())) {
+                                    assessQueryDTO.setCreateByUserName(user.getRealName());
+                                }
+                                if (Objects.equals(user.getId(), assessQueryDTO.getUpdateByUserId())) {
+                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
+                                }
+                            }
+                            factorQueryDTOList.add(factorQueryDTO);
+                        }
+                    }
+                } else {
+                    throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "评价方法参数错误");
+                }
+                assessQueryDTO.setFactorQueryDTOList(factorQueryDTOList);
+                assessQueryDTOList.add(assessQueryDTO);
+            }
+        }
+
+        searchResult.setData(assessQueryDTOList);
+        searchResult.setTotal(pageCount);
+        searchResult.setCount(assessQueryDTOList.size());
+        return searchResult;
+    }
+
+    @Override
+    public Result<List<AssessExportDTO>> selectAssessExport(Long currentUserId, RiskAssessAppQueryBO queryBO) {
+        //校验参数
+        if (ObjectUtils.isEmpty(queryBO.getPageSize())) {
+            throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "分页信息不能为空");
+        }
+        if (ObjectUtils.isEmpty(queryBO.getPageIndex())) {
+            throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "分页信息不能为空");
+        }
+        // 检查是否是实验管理者
+        UserInfoDomainDTO userInfo = userDomainService.getUserById(currentUserId);
+        if (ObjectUtils.isEmpty(userInfo)) {
+            throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "用户不存在");
+        }
+        if (queryBO.getAssessPlanName() == "null") {
+            queryBO.setAssessPlanName(null);
+        }
+        if (queryBO.getExperimentName() == "null") {
+            queryBO.setExperimentName(null);
+        }
+
+        AssessQueryBO queryParam = BeanCopyUtils.copyBean(queryBO, AssessQueryBO.class);
+        if (!ObjectUtils.isEmpty(queryBO.getExperimentName())) {
+            ExperimentInfoDTO experimentByName = experimentInfoService.getExperimentByName(queryBO.getExperimentName());
+            if (ObjectUtils.isEmpty(experimentByName)) {
+                throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "分页信息不能为空");
+            }
+            queryParam.setExperimentId(experimentByName.getId());
+        }
+        // 拿到所有的固有风险单元 ,遍历
+        List<Long> planIds = new ArrayList<>();
+        List<RiskUnit> riskUnits = riskUnitService.listInherentRiskUnit();
+        if (ObjectUtils.isEmpty(riskUnits)) {
+            for (RiskUnit riskUnit : riskUnits) {
+                // 拿到所有固有风险的评估计划
+                List<RiskAssessPlan> assessPlanByInherentUnit = assessPlanRepository.getAssessPlanByInherentUnit(riskUnit.getBasicRiskUnitId());
+                if (assessPlanByInherentUnit.size() > 0) {
+                    // 遍历固有风险评估计划,如果当前用户属于对应实验的负责人,新增,修改人
+                    for (RiskAssessPlan inherentRiskAssessPlan : assessPlanByInherentUnit) {
+                        if (riskUnit.getExperimentId().equals(currentUserId) || riskUnit.getCreateByUserId().equals(currentUserId) || riskUnit.getUpdateByUserId().equals(currentUserId)) {
+                            planIds.add(inherentRiskAssessPlan.getId());
+                        }
+                    }
+                }
+            }
+        }
+
+        List<ExperimentInfoDTO> experimentByList = experimentInfoService.getExperimentByUser(currentUserId);
+        List<Long> experimentIdList = new ArrayList<>();
+        experimentIdList.add(0L);
+        if (!ObjectUtils.isEmpty(experimentByList)) {
+            for (ExperimentInfoDTO experimentInfo : experimentByList) {
+                experimentIdList.add(experimentInfo.getId());
+            }
+        }
+
+        Result searchResult = new Result<>();
+
+
+        int roleTag = GetRoleTagUtils.GetRoleTagUtils(userInfo);
+        //封装查询参数
+        Specification<RiskAssessPlan> specification = new Specification<RiskAssessPlan>() {
+            @Override
+            public Predicate toPredicate(Root<RiskAssessPlan> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
+                List<Predicate> predicateList = new ArrayList<>();
+                if (queryParam.getAssessPlanName() != null && !queryParam.getAssessPlanName().equals("")) {
+                    predicateList.add(criteriaBuilder.like(root.get("assessPlanName"), "%" + queryParam.getAssessPlanName() + "%"));
+                }
+                if (queryParam.getExperimentId() != null && !queryParam.getExperimentId().equals("")) {
+                    predicateList.add(criteriaBuilder.equal(root.get("experimentId"), queryParam.getExperimentId()));
+                }
+                if (queryParam.getAssessPlanId() != null && !queryParam.getAssessPlanId().equals("")) {
+                    predicateList.add(criteriaBuilder.equal(root.get("id"), queryParam.getAssessPlanId()));
+                }
+                if (!ObjectUtils.isEmpty(queryParam.getPlanExecStatus())) {
+                    if (queryParam.getPlanExecStatus() == 5) {
+                        predicateList.add(criteriaBuilder.ge(root.get("planExecStatus"), 3));
+                    } else {
+                        predicateList.add(criteriaBuilder.equal(root.get("planExecStatus"), queryParam.getPlanExecStatus()));
+                    }
+                }
+
+                if (queryParam.getTag() == 2) {
+                    predicateList.add(criteriaBuilder.isNotNull(root.get("identificationTime")));
+                }
+                if (queryParam.getTag() == 3) {
+                    predicateList.add(criteriaBuilder.isNotNull(root.get("evaluateTime")));
+                }
+                if (planIds.size() > 0) {
+                    predicateList.add(criteriaBuilder.in(root.get("id")).value(planIds));
+                }
+
+                Join<RiskAssessPlan, RiskAssessPlanIdentificationUser> identificationUserJoin = root.join("riskAssessPlanIdentificationUsers", JoinType.LEFT);
+                Join<RiskAssessPlan, RiskAssessPlanEvaluateUser> evaluateUserJoin = root.join("riskAssessPlanEvaluateUsers", JoinType.LEFT);
+                Join<RiskAssessPlan, User> planUserJoin = root.join("planUser", JoinType.LEFT);
+
+
+                if (roleTag == UserTagEnum.USER_TAG_0.getCode()) {
+                    //辨识
+                    if (queryParam.getTag() == 1) {
+                        predicateList.add(criteriaBuilder.equal(identificationUserJoin.get("identificationUserId"), currentUserId));
+                    }
+                    //评论
+                    if (queryParam.getTag() == 2) {
+                        predicateList.add(criteriaBuilder.equal(evaluateUserJoin.get("evaluateUserId"), currentUserId));
+                    }
+                    //此处应有谁能查询:辨识专家,评价专家,实验负责人(此处未存相关信息,以实验id为条件查询)
+
+                }
+                query.groupBy(root.get("id"));
+                query.orderBy(criteriaBuilder.desc(root.get("updateTime")));
+                predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"), StatusEnum.DELETE_NOT.getCode()));
+
+                return criteriaBuilder.and(predicateList.toArray(new Predicate[0]));
+            }
+        };
+
+
+        List<RiskAssessPlan> pageResult = assessPlanRepository.findAll(specification);
+
+        //循环遍历结果集,封装查询结果
+        List<AssessExportDTO> assessQueryDTOList = new ArrayList<>();
+        List<UserInfoDomainDTO> userList = userDomainService.getUserList();
+
+        if (pageResult.size() > 0) {
+            for (RiskAssessPlan riskAssessPlan : pageResult) {
+
+                AssessExportDTO assessQueryDTO = BeanCopyUtils.copyBean(riskAssessPlan, AssessExportDTO.class);
+                if(riskAssessPlan.getPlanUser() != null){
+                    assessQueryDTO.setPlanUserName(riskAssessPlan.getPlanUser().getRealName());
+                }
+
+                List<RiskAssessPlanIdentificationUser> riskAssessPlanIdentificationUsers = riskAssessPlan.getRiskAssessPlanIdentificationUsers();
+                if (!ObjectUtils.isEmpty(riskAssessPlanIdentificationUsers)) {
+                    String identificationUsersString = riskAssessPlanIdentificationUsers.stream()
+                            .map(RiskAssessPlanIdentificationUser::getIdentificationUser)
+                            .collect(Collectors.joining(","));
+                    assessQueryDTO.setIdentificationUser(identificationUsersString);
+
+                }
+
+                List<RiskAssessPlanEvaluateUser> riskAssessPlanEvaluateUsers = riskAssessPlan.getRiskAssessPlanEvaluateUsers();
+                if (!ObjectUtils.isEmpty(riskAssessPlanEvaluateUsers)) {
+                    String identificationUsersString = riskAssessPlanEvaluateUsers.stream()
+                            .map(RiskAssessPlanEvaluateUser::getEvaluateUser)
+                            .collect(Collectors.joining(","));
+                    assessQueryDTO.setEvaluateUser(identificationUsersString);
+
+                }
+                List<PhaQueryDTO> phaList = new ArrayList<>();
+                List<JhaQueryDTO> jhaList = new ArrayList<>();
+                List<SclQueryDTO> sclList = new ArrayList<>();
+                List<HazopQueryDTO> hazopList = new ArrayList<>();
+                List<AnalogyQueryDTO> analogyList = new ArrayList<>();
+
+                //辨识方法 1-PHA;
+                if (assessQueryDTO.getIdentificationMethod() == 1) {
+                    phaList = phaService.listPhaByPlanId(riskAssessPlan.getId());
+                    //辨识方法 2-JHA;
+                } else if (assessQueryDTO.getIdentificationMethod() == 2) {
+                    jhaList = jhaService.listJhaByPlanId(riskAssessPlan.getId());
+                    //辨识方法 3-SCL;
+                } else if (assessQueryDTO.getIdentificationMethod() == 3) {
+                    sclList = sclService.listSclByPlanId(riskAssessPlan.getId());
+                    //辨识方法 4-HAZOP;
+                } else if (assessQueryDTO.getIdentificationMethod() == 4) {
+                    hazopList = hazopService.listHazopByPlanId(riskAssessPlan.getId());
+                    //5-类比法 analogy;
+                } else if (assessQueryDTO.getIdentificationMethod() == 5) {
+                    analogyList = analogyService.listAnalogyByPlanId(riskAssessPlan.getId());
+                } else {
+                    throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "辨识方法参数错误");
+                }
+
+                for (UserInfoDomainDTO user : userList) {
+                    if (user.getId() == assessQueryDTO.getCreateByUserId()) {
+                        assessQueryDTO.setCreateByUserName(user.getRealName());
+                    }
+                    if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
+                        assessQueryDTO.setUpdateByUserName(user.getRealName());
+                    }
+                }
+                Boolean isBegin = false;
+                //评价方法1 - LEC
+                if (assessQueryDTO.getEvaluateMethod() == 1) {
+                    List<LecQueryDTO> lecList = lecService.listLecByPlanId(riskAssessPlan.getId());
+                    if (assessQueryDTO.getIdentificationMethod() == 1) {
+                        for (PhaQueryDTO pha : phaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setPhaId(pha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
+                            for (LecQueryDTO lec : lecList) {
+                                if (lec.getIdentificationId() == pha.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lecMatchPha(pha, lec);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setPhaId(pha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 2) {
+                        for (JhaQueryDTO jha : jhaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setJhaId(jha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime());
+                            for (LecQueryDTO lec : lecList) {
+                                if (lec.getIdentificationId() == jha.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lecMatchJha(jha, lec);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setJhaId(jha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 3) {
+                        for (SclQueryDTO scl : sclList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setSclId(scl.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime());
+                            for (LecQueryDTO lec : lecList) {
+                                if (lec.getIdentificationId() == scl.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lecMatchScl(scl, lec);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setSclId(scl.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 4) {
+                        for (HazopQueryDTO hazop : hazopList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setHazopId(hazop.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime());
+                            for (LecQueryDTO lec : lecList) {
+                                if (lec.getIdentificationId() == hazop.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lecMatchHazop(hazop, lec);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setHazopId(hazop.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 5) {
+                        for (AnalogyQueryDTO analogy : analogyList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setAnalogyId(analogy.getAssessPlanId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime());
+                            for (LecQueryDTO lec : lecList) {
+                                if (lec.getIdentificationId() == analogy.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lecMatchAnalogy(analogy, lec);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setAnalogyId(analogy.getAssessPlanId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    }
+
+                    //评价方法2 - LS
+                } else if (assessQueryDTO.getEvaluateMethod() == 2) {
+                    List<LsQueryDTO> lsList = lsService.listLsByPlanId(riskAssessPlan.getId());
+                    if (assessQueryDTO.getIdentificationMethod() == 1) {
+                        for (PhaQueryDTO pha : phaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setPhaId(pha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
+                            for (LsQueryDTO ls : lsList) {
+                                if (ls.getIdentificationId() == pha.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lsMatchPha(pha, ls);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setPhaId(pha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 2) {
+                        for (JhaQueryDTO jha : jhaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setJhaId(jha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime());
+                            for (LsQueryDTO ls : lsList) {
+                                if (ls.getIdentificationId() == jha.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lsMatchJha(jha, ls);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setJhaId(jha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 3) {
+                        for (SclQueryDTO scl : sclList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setSclId(scl.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime());
+                            for (LsQueryDTO ls : lsList) {
+                                if (ls.getIdentificationId() == scl.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lsMatchScl(scl, ls);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setSclId(scl.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 4) {
+                        for (HazopQueryDTO hazop : hazopList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setHazopId(hazop.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime());
+                            for (LsQueryDTO ls : lsList) {
+                                if (ls.getIdentificationId() == hazop.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lsMatchHazop(hazop, ls);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setHazopId(hazop.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 5) {
+                        for (AnalogyQueryDTO analogy : analogyList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setAnalogyId(analogy.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime());
+                            for (LsQueryDTO ls : lsList) {
+                                if (ls.getIdentificationId() == analogy.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.lsMatchAnalogy(analogy, ls);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setAnalogyId(analogy.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    }
+                    //评价方法3 - MES
+                } else if (assessQueryDTO.getEvaluateMethod() == 3) {
+                    List<MesQueryDTO> mesList = mesService.listMesByPlanId(riskAssessPlan.getId());
+                    if (assessQueryDTO.getIdentificationMethod() == 1) {
+                        for (PhaQueryDTO pha : phaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setPhaId(pha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
+                            for (MesQueryDTO mes : mesList) {
+                                if (mes.getIdentificationId() == pha.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.mesMatchPha(pha, mes);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setPhaId(pha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 2) {
+                        for (JhaQueryDTO jha : jhaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setJhaId(jha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime());
+                            for (MesQueryDTO mes : mesList) {
+                                if (mes.getIdentificationId() == jha.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.mesMatchJha(jha, mes);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setJhaId(jha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 3) {
+                        for (SclQueryDTO scl : sclList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setSclId(scl.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime());
+                            for (MesQueryDTO mes : mesList) {
+                                if (mes.getIdentificationId() == scl.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.mesMatchScl(scl, mes);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setSclId(scl.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 4) {
+                        for (HazopQueryDTO hazop : hazopList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setHazopId(hazop.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime());
+                            for (MesQueryDTO mes : mesList) {
+                                if (mes.getIdentificationId() == hazop.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.mesMatchHazop(hazop, mes);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setHazopId(hazop.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    } else if (assessQueryDTO.getIdentificationMethod() == 5) {
+                        for (AnalogyQueryDTO analogy : analogyList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setAnalogyId(analogy.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime());
+                            for (MesQueryDTO mes : mesList) {
+                                if (mes.getIdentificationId() == analogy.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.mesMatchAnalogy(analogy, mes);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setAnalogyId(analogy.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
+                        }
+                    }
+                    //评价方法4 - RS
+                } else if (assessQueryDTO.getEvaluateMethod() == 4) {
+                    List<RsQueryDTO> rsList = rsService.listRsByPlanId(riskAssessPlan.getId());
+                    if (assessQueryDTO.getIdentificationMethod() == 1) {
+                        for (PhaQueryDTO pha : phaList) {
+                            FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class);
+                            factorQueryDTO.setId(riskAssessPlan.getId());
+                            factorQueryDTO.setPhaId(pha.getId());
+                            factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                            factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime());
+                            for (RsQueryDTO rs : rsList) {
+                                if (rs.getIdentificationId() == pha.getId()) {
+                                    EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils();
+                                    factorQueryDTO = evaluateAndIdentificationUtils.rsMatchPha(pha, rs);
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                    factorQueryDTO.setId(riskAssessPlan.getId());
+                                    factorQueryDTO.setPhaId(pha.getId());
+                                    factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
+                                }
+                            }
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
                         }
                     } else if (assessQueryDTO.getIdentificationMethod() == 2) {
                         for (JhaQueryDTO jha : jhaList) {
@@ -1758,15 +2540,15 @@
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                                 }
                             }
-                            for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
-                                    assessQueryDTO.setCreateByUserName(user.getRealName());
-                                }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
-                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
-                                }
-                            }
-                            factorQueryDTOList.add(factorQueryDTO);
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
                         }
                     } else if (assessQueryDTO.getIdentificationMethod() == 3) {
                         for (SclQueryDTO scl : sclList) {
@@ -1785,15 +2567,15 @@
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                                 }
                             }
-                            for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
-                                    assessQueryDTO.setCreateByUserName(user.getRealName());
-                                }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
-                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
-                                }
-                            }
-                            factorQueryDTOList.add(factorQueryDTO);
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
                         }
                     } else if (assessQueryDTO.getIdentificationMethod() == 4) {
                         for (HazopQueryDTO hazop : hazopList) {
@@ -1812,15 +2594,15 @@
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                                 }
                             }
-                            for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
-                                    assessQueryDTO.setCreateByUserName(user.getRealName());
-                                }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
-                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
-                                }
-                            }
-                            factorQueryDTOList.add(factorQueryDTO);
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
                         }
                     } else if (assessQueryDTO.getIdentificationMethod() == 5) {
                         for (AnalogyQueryDTO analogy : analogyList) {
@@ -1839,28 +2621,28 @@
                                     factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod());
                                 }
                             }
-                            for (UserInfoDomainDTO user : userList) {
-                                if (user.getId() == assessQueryDTO.getCreateByUserId()) {
-                                    assessQueryDTO.setCreateByUserName(user.getRealName());
-                                }
-                                if (user.getId() == assessQueryDTO.getUpdateByUserId()) {
-                                    assessQueryDTO.setUpdateByUserName(user.getRealName());
-                                }
-                            }
-                            factorQueryDTOList.add(factorQueryDTO);
+                            AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class);
+
+                            assessQueryDTO1.setResult(factorQueryDTO.getResult());
+                            assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult());
+                            assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor());
+                            assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem());
+
+                            assessQueryDTOList.add(assessQueryDTO1);
+                            isBegin = true;
                         }
                     }
                 } else {
                     throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "评价方法参数错误");
                 }
-                assessQueryDTO.setFactorQueryDTOList(factorQueryDTOList);
-                assessQueryDTOList.add(assessQueryDTO);
+                if (!isBegin){
+                    assessQueryDTOList.add(assessQueryDTO);
+                }
+
             }
         }
 
         searchResult.setData(assessQueryDTOList);
-        searchResult.setTotal(pageResult.getTotalElements());
-        searchResult.setCount(assessQueryDTOList.size());
         return searchResult;
     }
 

--
Gitblit v1.9.2