From 8485affcb0d4de05059d80cb1e844d6b18291654 Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期五, 16 五月 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