| | |
| | | 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; |
| | | |
| | | |
| | |
| | | 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 { |
| | |
| | | |
| | | |
| | | //检查该实验所有的评价结果,遍历评价结果等级 |
| | | |
| | | Set<Byte> riskLevelList = new HashSet<>(); |
| | | int a = 1; |
| | | StringBuilder analysis = new StringBuilder(); |
| | | List<RiskAssessPlanEvaluateLec> lecByIds = lecService.getLecByIds(assessPlanIds); |
| | |
| | | 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++; |
| | |
| | | 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++; |
| | |
| | | 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++; |
| | |
| | | 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++; |
| | |
| | | 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); |