From 86e6fdd16902a45921d255e1f40ba5dc6f115aa6 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期四, 03 四月 2025 10:39:30 +0800
Subject: [PATCH] 逻辑调整

---
 src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java |   48 +++++++++++++++++++++++++++---------------------
 1 files changed, 27 insertions(+), 21 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..516f482 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,31 @@
 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.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,10 +40,8 @@
 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.stream.Collectors;
 
@@ -377,14 +372,14 @@
                 Join<RiskAssessPlan, RiskAssessPlanEvaluateUser> evaluateUserJoin = root.join("riskAssessPlanEvaluateUsers", JoinType.LEFT);
 
                 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()));
@@ -657,7 +652,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;
             }
         }
@@ -1090,6 +1085,8 @@
         return BeanCopyUtils.copyBean(submitResult, AssessPlanUpdateDTO.class);
     }
 
+    @Autowired
+    private RiskPlanDataMapper riskPlanDataMapper;
     /**
      * 风险辨识与评价 - 查询
      */
@@ -1177,6 +1174,7 @@
                         predicateList.add(criteriaBuilder.equal(root.get("planExecStatus"), queryParam.getPlanExecStatus()));
                     }
                 }
+
                 if (queryParam.getTag() == 2) {
                     predicateList.add(criteriaBuilder.isNotNull(root.get("identificationTime")));
                 }
@@ -1189,15 +1187,20 @@
 
                 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为条件查询)
-                    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),
@@ -1242,6 +1245,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());

--
Gitblit v1.9.2