From 8485affcb0d4de05059d80cb1e844d6b18291654 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Fri, 16 May 2025 14:35:49 +0800
Subject: [PATCH] 修正
---
src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 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 1682fd9..c80ef41 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
@@ -369,8 +369,17 @@
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));
@@ -382,6 +391,7 @@
// )
// );
}
+
query.groupBy(root.get("id"));
predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"), StatusEnum.DELETE_NOT.getCode()));
return criteriaBuilder.and(predicateList.toArray(new Predicate[0]));
@@ -390,6 +400,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);
@@ -438,7 +453,7 @@
}
searchResult.setData(assessPlanQueryDTOS);
- searchResult.setTotal(pageResult.getTotalElements());
+ searchResult.setTotal(countDynamic);
return searchResult;
}
@@ -1184,6 +1199,7 @@
}
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);
@@ -1192,6 +1208,8 @@
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));
@@ -1217,6 +1235,9 @@
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);
+ System.out.println("pageCountpageCountpageCountpageCountpageCountpageCount:"+pageCount);
+
//循环遍历结果集,封装查询结果
List<AssessQueryDTO> assessQueryDTOList = new ArrayList<>();
@@ -1866,7 +1887,7 @@
}
searchResult.setData(assessQueryDTOList);
- searchResult.setTotal(pageResult.getTotalElements());
+ searchResult.setTotal(pageCount);
searchResult.setCount(assessQueryDTOList.size());
return searchResult;
}
--
Gitblit v1.9.2