From a05869a12d95375df2333459c8fa4079de7e5953 Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期三, 21 五月 2025 17:09:49 +0800 Subject: [PATCH] 变动大幅度版本 --- src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java index 5fb1326..77c0e7f 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java @@ -60,8 +60,7 @@ import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; @@ -305,7 +304,7 @@ if (roleTag == 0){ throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"不是管理员,无权生成报告"); } - if (!ObjectUtils.isEmpty(reSubmit) && "1".equals(reSubmit) && experimentById.getStage() >= StatusEnum.EXPERIMENT_STATUS_REPORT.getCode().byteValue()){ + if (!ObjectUtils.isEmpty(reSubmit) && "1".equals(reSubmit) && experimentById.getStage() >= StatusEnum.EXPERIMENT_STATUS_FINISH.getCode().byteValue()){ //删除已生成的报告数据 delReportData(id,currentUserId); }else { @@ -346,6 +345,8 @@ //检查该实验所有的评价结果,遍历评价结果等级 + + Set<Byte> riskLevelList = new HashSet<>(); int a = 1; StringBuilder analysis = new StringBuilder(); List<RiskAssessPlanEvaluateLec> lecByIds = lecService.getLecByIds(assessPlanIds); @@ -356,6 +357,7 @@ if (lecByIds .size() > 0){ for (RiskAssessPlanEvaluateLec lecById : lecByIds) { if (lecById.getRiskLevel() > level){ + riskLevelList.add(lecById.getRiskLevel()); level = lecById.getRiskLevel(); analysis.append(a + lecById.getSafeRiskAnalysis() + ";");//todo 安全风险分析 a++; @@ -365,6 +367,7 @@ if (lsByIds .size() > 0){ for (RiskAssessPlanEvaluateLs lsById : lsByIds) { if (lsById.getRiskLevel() > level){ + riskLevelList.add(lsById.getRiskLevel()); level = lsById.getRiskLevel(); analysis.append(a + lsById.getSafeRiskAnalysis() + ";"); a++; @@ -374,6 +377,7 @@ if (mesByIds .size() > 0){ for (RiskAssessPlanEvaluateMes mesById : mesByIds) { if (mesById.getRiskLevel() > level){ + riskLevelList.add(mesById.getRiskLevel()); level = mesById.getRiskLevel(); analysis.append(a + mesById.getSafeRiskAnalysis() + ";"); a++; @@ -384,6 +388,7 @@ if (rsByIds .size() > 0){ for (RiskAssessPlanEvaluateRs rsById : rsByIds) { if (rsById.getRiskLevel() > level){ + riskLevelList.add(rsById.getRiskLevel()); level = rsById.getRiskLevel(); analysis.append(a + rsById.getSafeRiskAnalysis() + ";"); a++; @@ -416,7 +421,22 @@ reportInfo.setSafeRiskAnalysis(analysis.toString()); reportInfo.setAssessPerson(null); - reportInfo.setAssessLevel(StatusEnum.REPORT_LEVEL_1.getCode().byteValue()); + if (ObjectUtils.isEmpty(riskLevelList)){ + reportInfo.setAssessLevel(StatusEnum.REPORT_LEVEL_4.getCode().byteValue()); + }else { + byte b = riskLevelList.stream().max(Comparator.comparing(Integer::valueOf)).get(); + if (b == StatusEnum.REPORT_LEVEL_1.getCode().byteValue()){ + reportInfo.setAssessLevel(StatusEnum.REPORT_LEVEL_4.getCode().byteValue()); + }else if (b == StatusEnum.REPORT_LEVEL_2.getCode().byteValue()){ + reportInfo.setAssessLevel(StatusEnum.REPORT_LEVEL_3.getCode().byteValue()); + }else if (b == StatusEnum.REPORT_LEVEL_3.getCode().byteValue()){ + reportInfo.setAssessLevel(StatusEnum.REPORT_LEVEL_2.getCode().byteValue()); + }else if (b == StatusEnum.REPORT_LEVEL_4.getCode().byteValue()){ + reportInfo.setAssessLevel(StatusEnum.REPORT_LEVEL_1.getCode().byteValue()); + } + + } + //todo 不确定是否需要部门 reportInfo.setDepId(null); // reportInfo.setSafeRiskAnalysis(null); -- Gitblit v1.9.2