From 761bdc5b3f17df62aae1b424f2d2dabc11e844bc Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期五, 23 五月 2025 09:33:44 +0800 Subject: [PATCH] 变动大幅度版本 --- src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 162 insertions(+), 8 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 77c0e7f..1738dc6 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 @@ -39,6 +39,7 @@ import com.gkhy.labRiskManage.domain.experiment.service.ExperimentInfoService; import com.gkhy.labRiskManage.domain.riskReport.entity.*; import com.gkhy.labRiskManage.domain.riskReport.model.bo.ReportQueryBO; +import com.gkhy.labRiskManage.domain.riskReport.model.bo.RiskPlanMethodBO; import com.gkhy.labRiskManage.domain.riskReport.model.bo.UpdateExperimentInfoBO; import com.gkhy.labRiskManage.domain.riskReport.model.dto.*; import com.gkhy.labRiskManage.domain.riskReport.repository.jpa.ReportRiskAssessInfoRepository; @@ -117,6 +118,18 @@ private OldRiskAssessService oldRiskAssessService; + @Autowired + private RiskAssessPlanIdentificationAnalogyService analogyService; + @Autowired + private RiskAssessPlanIdentificationHazopService hazopService; + @Autowired + private RiskAssessPlanIdentificationJhaService jhaService; + @Autowired + private RiskAssessPlanIdentificationPhaService phaService; + @Autowired + private RiskAssessPlanIdentificationSclService sclService; + + /** * 风险评估报告 - 查询 */ @@ -136,6 +149,9 @@ } if (queryBO.getExperimentName() == ""){ queryBO.setExperimentName(null); + } + if (queryBO.getExportTag() == null){ + queryBO.setExportTag(false); } UserInfoDomainDTO user = userDomainService.getUserById(currentUserId); if (ObjectUtils.isEmpty(user)){ @@ -224,8 +240,14 @@ } + if (!ObjectUtils.isEmpty(assessPlanByExperimentId)){ + //导出 查询辨识方法塞入数据 + if (queryBO.getExportTag()){ + reportQueryDTO.setRiskPlanMethodBO(getRiskPlanMethodBO(assessPlanByExperimentId)); + } for (AssessPlanQueryDTO assessPlan : assessPlanByExperimentId) { + if (assessPlan.getEvaluateTime() != null){ if (reportQueryDTO.getEvaluateTime().isBefore(assessPlan.getEvaluateTime())){ reportQueryDTO.setEvaluateTime(assessPlan.getEvaluateTime()); @@ -233,6 +255,7 @@ } } + } if (!ObjectUtils.isEmpty(riskSourceByReportId)){ @@ -260,14 +283,13 @@ reportQueryDTO.setExperimentCode(experimentById.getExperimentCode()); for (UserInfoDomainDTO userInfo : userList) { - if (userInfo.getId() == reportQueryDTO.getCreateByUserId()){ + if (Objects.equals(userInfo.getId(), reportQueryDTO.getCreateByUserId())){ reportQueryDTO.setCreateByUserName(userInfo.getRealName()); } - if (userInfo.getId() == reportQueryDTO.getUpdateByUserId()){ + if (Objects.equals(userInfo.getId(), reportQueryDTO.getUpdateByUserId())){ reportQueryDTO.setUpdateByUserName(userInfo.getRealName()); } } - } @@ -277,7 +299,134 @@ return searchResult; } - + private List<RiskPlanMethodBO> getRiskPlanMethodBO(List<AssessPlanQueryDTO> assessPlanByExperimentId) { + + List<RiskPlanMethodBO> riskPlanMethodBOList = new ArrayList<>(); + for (AssessPlanQueryDTO assessPlanQueryDTO : assessPlanByExperimentId) { + //辨识方法 1-PHA; + if (assessPlanQueryDTO.getIdentificationMethod() == 1) { + List<PhaQueryDTO> phaQueryDTOS = phaService.listPhaByPlanId(assessPlanQueryDTO.getId()); + if (ObjectUtils.isEmpty(phaQueryDTOS)){ + continue; + } + for (PhaQueryDTO phaQueryDTO : phaQueryDTOS) { + RiskPlanMethodBO riskPlanMethodBO = new RiskPlanMethodBO(); + riskPlanMethodBO.setAssessPlanName(assessPlanQueryDTO.getAssessPlanName()); + riskPlanMethodBO.setCheckItem(phaQueryDTO.getPhaCheckItem()); + riskPlanMethodBO.setRiskFactor(phaQueryDTO.getPhaRiskFactor()); + riskPlanMethodBO.setResult(phaQueryDTO.getPhaResult()); + riskPlanMethodBO.setIdentificationMethod(assessPlanQueryDTO.getIdentificationMethod()); + riskPlanMethodBO.setEvaluateMethod(assessPlanQueryDTO.getEvaluateMethod()); + dealRiskPlanMethodBO(assessPlanQueryDTO,riskPlanMethodBO,phaQueryDTO.getId()); + riskPlanMethodBOList.add(riskPlanMethodBO); + } + + //辨识方法 2-JHA; + } else if (assessPlanQueryDTO.getIdentificationMethod() == 2) { + List<JhaQueryDTO> jhaQueryDTOS = jhaService.listJhaByPlanId(assessPlanQueryDTO.getId()); + if (ObjectUtils.isEmpty(jhaQueryDTOS)){ + continue; + } + for (JhaQueryDTO jhaQueryDTO : jhaQueryDTOS) { + RiskPlanMethodBO riskPlanMethodBO = new RiskPlanMethodBO(); + riskPlanMethodBO.setAssessPlanName(assessPlanQueryDTO.getAssessPlanName()); + riskPlanMethodBO.setCheckItem(jhaQueryDTO.getJhaCheckItem()); + riskPlanMethodBO.setRiskFactor(jhaQueryDTO.getJhaRiskFactor()); + riskPlanMethodBO.setResult(jhaQueryDTO.getJhaResult()); + riskPlanMethodBO.setIdentificationMethod(assessPlanQueryDTO.getIdentificationMethod()); + riskPlanMethodBO.setEvaluateMethod(assessPlanQueryDTO.getEvaluateMethod()); + dealRiskPlanMethodBO(assessPlanQueryDTO,riskPlanMethodBO,jhaQueryDTO.getId()); + riskPlanMethodBOList.add(riskPlanMethodBO); + } + + //辨识方法 3-SCL; + } else if (assessPlanQueryDTO.getIdentificationMethod() == 3) { + List<SclQueryDTO> sclQueryDTOS = sclService.listSclByPlanId(assessPlanQueryDTO.getId()); + if (ObjectUtils.isEmpty(sclQueryDTOS)){ + continue; + } + for (SclQueryDTO sclQueryDTO : sclQueryDTOS) { + RiskPlanMethodBO riskPlanMethodBO = new RiskPlanMethodBO(); + riskPlanMethodBO.setAssessPlanName(assessPlanQueryDTO.getAssessPlanName()); + riskPlanMethodBO.setCheckItem(sclQueryDTO.getSclCheckItem()); + riskPlanMethodBO.setRiskFactor(sclQueryDTO.getSclCheckStandard()); + riskPlanMethodBO.setResult(sclQueryDTO.getSclCheckResult()); + riskPlanMethodBO.setIdentificationMethod(assessPlanQueryDTO.getIdentificationMethod()); + riskPlanMethodBO.setEvaluateMethod(assessPlanQueryDTO.getEvaluateMethod()); + dealRiskPlanMethodBO(assessPlanQueryDTO,riskPlanMethodBO,sclQueryDTO.getId()); + riskPlanMethodBOList.add(riskPlanMethodBO); + } + //辨识方法 4-HAZOP; + } else if (assessPlanQueryDTO.getIdentificationMethod() == 4) { + List<HazopQueryDTO> hazopQueryDTOS = hazopService.listHazopByPlanId(assessPlanQueryDTO.getId()); + if (ObjectUtils.isEmpty(hazopQueryDTOS)){ + continue; + } + for (HazopQueryDTO hazopQueryDTO : hazopQueryDTOS) { + RiskPlanMethodBO riskPlanMethodBO = new RiskPlanMethodBO(); + riskPlanMethodBO.setAssessPlanName(assessPlanQueryDTO.getAssessPlanName()); + riskPlanMethodBO.setCheckItem(hazopQueryDTO.getHazopNode()); + riskPlanMethodBO.setRiskFactor(hazopQueryDTO.getHazopParam()); + riskPlanMethodBO.setResult(hazopQueryDTO.getHazopResult()); + riskPlanMethodBO.setIdentificationMethod(assessPlanQueryDTO.getIdentificationMethod()); + riskPlanMethodBO.setEvaluateMethod(assessPlanQueryDTO.getEvaluateMethod()); + dealRiskPlanMethodBO(assessPlanQueryDTO,riskPlanMethodBO,hazopQueryDTO.getId()); + riskPlanMethodBOList.add(riskPlanMethodBO); + } + //5-类比法 analogy; + } else if (assessPlanQueryDTO.getIdentificationMethod() == 5) { + List<AnalogyQueryDTO> analogyQueryDTOS = analogyService.listAnalogyByPlanId(assessPlanQueryDTO.getId()); + if (ObjectUtils.isEmpty(analogyQueryDTOS)){ + continue; + } + for (AnalogyQueryDTO analogyQueryDTO : analogyQueryDTOS) { + RiskPlanMethodBO riskPlanMethodBO = new RiskPlanMethodBO(); + riskPlanMethodBO.setAssessPlanName(assessPlanQueryDTO.getAssessPlanName()); + riskPlanMethodBO.setCheckItem(analogyQueryDTO.getAnalogyCheckItem()); + riskPlanMethodBO.setRiskFactor(analogyQueryDTO.getAnalogyRiskFactor()); + riskPlanMethodBO.setResult(analogyQueryDTO.getAnalogyResult()); + riskPlanMethodBO.setIdentificationMethod(assessPlanQueryDTO.getIdentificationMethod()); + riskPlanMethodBO.setEvaluateMethod(assessPlanQueryDTO.getEvaluateMethod()); + dealRiskPlanMethodBO(assessPlanQueryDTO,riskPlanMethodBO,analogyQueryDTO.getId()); + riskPlanMethodBOList.add(riskPlanMethodBO); + } + } + } + return riskPlanMethodBOList; + } + + private void dealRiskPlanMethodBO(AssessPlanQueryDTO assessPlanQueryDTO, RiskPlanMethodBO riskPlanMethodBO,Long dataId) { + //lec 方法 + if (assessPlanQueryDTO.getEvaluateMethod() == 1){ + List<RiskAssessPlanEvaluateLec> riskAssessPlanEvaluateLecs = + lecService.listLecByParam(assessPlanQueryDTO.getId(), dataId, assessPlanQueryDTO.getIdentificationMethod()); + if (!ObjectUtils.isEmpty(riskAssessPlanEvaluateLecs)){ + riskPlanMethodBO.setRiskLevel(riskAssessPlanEvaluateLecs.get(0).getRiskLevel()); + riskPlanMethodBO.setEvaluateDesc(riskAssessPlanEvaluateLecs.get(0).getEvaluateDesc()); + } + }else if (assessPlanQueryDTO.getEvaluateMethod() == 2){ + List<RiskAssessPlanEvaluateLs> riskAssessPlanEvaluateLs = lsService.listLsByParam(assessPlanQueryDTO.getId(), dataId, assessPlanQueryDTO.getIdentificationMethod()); + if (!ObjectUtils.isEmpty(riskAssessPlanEvaluateLs)){ + riskPlanMethodBO.setRiskLevel(riskAssessPlanEvaluateLs.get(0).getRiskLevel()); + riskPlanMethodBO.setEvaluateDesc(riskAssessPlanEvaluateLs.get(0).getEvaluateDesc()); + } + }else if (assessPlanQueryDTO.getEvaluateMethod() == 3){ + List<RiskAssessPlanEvaluateMes> riskAssessPlanEvaluateMes = mesService.listMesByParam(assessPlanQueryDTO.getId(), dataId, assessPlanQueryDTO.getIdentificationMethod()); + if (!ObjectUtils.isEmpty(riskAssessPlanEvaluateMes)){ + riskPlanMethodBO.setRiskLevel(riskAssessPlanEvaluateMes.get(0).getRiskLevel()); + riskPlanMethodBO.setEvaluateDesc(riskAssessPlanEvaluateMes.get(0).getEvaluateDesc()); + } + + }else if (assessPlanQueryDTO.getEvaluateMethod() == 4){ + List<RiskAssessPlanEvaluateRs> riskAssessPlanEvaluateRs = rsService.listRsByParam(assessPlanQueryDTO.getId(), dataId, assessPlanQueryDTO.getIdentificationMethod()); + if (!ObjectUtils.isEmpty(riskAssessPlanEvaluateRs)){ + riskPlanMethodBO.setRiskLevel(riskAssessPlanEvaluateRs.get(0).getRiskLevel()); + riskPlanMethodBO.setEvaluateDesc(riskAssessPlanEvaluateRs.get(0).getEvaluateDesc()); + } + } + } + + /** * 风险评估报告 - 生成报告信息 */ @@ -322,6 +471,11 @@ Byte level = 0; //获取该实验的所有计划信息 List<AssessPlanQueryDTO> assessPlanList = assessPlanService.getAssessPlanByExperimentId(id); + Map<Long, String> assessPlanMap = assessPlanList.stream() + .collect(Collectors.toMap( + AssessPlanQueryDTO::getId, + AssessPlanQueryDTO::getAssessPlanName + )); int tag = 0; StringBuilder info = new StringBuilder(); List<Long> assessPlanIds = new ArrayList<>(); @@ -359,7 +513,7 @@ if (lecById.getRiskLevel() > level){ riskLevelList.add(lecById.getRiskLevel()); level = lecById.getRiskLevel(); - analysis.append(a + lecById.getSafeRiskAnalysis() + ";");//todo 安全风险分析 + analysis.append(a +(ObjectUtils.isEmpty(assessPlanMap.get(lecById.getAssessPlanId())) ? "" : assessPlanMap.get(lecById.getAssessPlanId()))+ lecById.getSafeRiskAnalysis() + ";");//todo 安全风险分析 a++; } } @@ -369,7 +523,7 @@ if (lsById.getRiskLevel() > level){ riskLevelList.add(lsById.getRiskLevel()); level = lsById.getRiskLevel(); - analysis.append(a + lsById.getSafeRiskAnalysis() + ";"); + analysis.append(a +(ObjectUtils.isEmpty(assessPlanMap.get(lsById.getAssessPlanId())) ? "" : assessPlanMap.get(lsById.getAssessPlanId()))+ lsById.getSafeRiskAnalysis() + ";"); a++; } } @@ -379,7 +533,7 @@ if (mesById.getRiskLevel() > level){ riskLevelList.add(mesById.getRiskLevel()); level = mesById.getRiskLevel(); - analysis.append(a + mesById.getSafeRiskAnalysis() + ";"); + analysis.append(a +(ObjectUtils.isEmpty(assessPlanMap.get(mesById.getAssessPlanId())) ? "" : assessPlanMap.get(mesById.getAssessPlanId()))+ mesById.getSafeRiskAnalysis() + ";"); a++; } } @@ -390,7 +544,7 @@ if (rsById.getRiskLevel() > level){ riskLevelList.add(rsById.getRiskLevel()); level = rsById.getRiskLevel(); - analysis.append(a + rsById.getSafeRiskAnalysis() + ";"); + analysis.append(a +(ObjectUtils.isEmpty(assessPlanMap.get(rsById.getAssessPlanId())) ? "" : assessPlanMap.get(rsById.getAssessPlanId()))+ rsById.getSafeRiskAnalysis() + ";"); a++; } } -- Gitblit v1.9.2