From 4f8987b03bff3ce1525e3744735b26bb4fef4a4c Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期日, 27 四月 2025 13:16:47 +0800 Subject: [PATCH] 增加辨识导出 --- src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/RiskAssessPlanServiceImpl.java | 754 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 754 insertions(+), 0 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 516f482..1682fd9 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 @@ -6,6 +6,7 @@ import com.gkhy.labRiskManage.application.riskReport.dto.bo.*; import com.gkhy.labRiskManage.application.riskReport.dto.dto.RiskAssessAppQueryDTO; import com.gkhy.labRiskManage.application.riskReport.dto.dto.RiskAssessPlanListAppDTO; +import com.gkhy.labRiskManage.commons.domain.Result; import com.gkhy.labRiskManage.commons.domain.SearchResult; import com.gkhy.labRiskManage.commons.enums.*; import com.gkhy.labRiskManage.commons.exception.BusinessException; @@ -1870,6 +1871,759 @@ return searchResult; } + @Override + public Result<List<AssessExportDTO>> selectAssessExport(Long currentUserId, RiskAssessAppQueryBO queryBO) { + //校验参数 + if (ObjectUtils.isEmpty(queryBO.getPageSize())) { + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "分页信息不能为空"); + } + if (ObjectUtils.isEmpty(queryBO.getPageIndex())) { + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "分页信息不能为空"); + } + // 检查是否是实验管理者 + UserInfoDomainDTO userInfo = userDomainService.getUserById(currentUserId); + if (ObjectUtils.isEmpty(userInfo)) { + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "用户不存在"); + } + if (queryBO.getAssessPlanName() == "null") { + queryBO.setAssessPlanName(null); + } + if (queryBO.getExperimentName() == "null") { + queryBO.setExperimentName(null); + } + + AssessQueryBO queryParam = BeanCopyUtils.copyBean(queryBO, AssessQueryBO.class); + if (!ObjectUtils.isEmpty(queryBO.getExperimentName())) { + ExperimentInfoDTO experimentByName = experimentInfoService.getExperimentByName(queryBO.getExperimentName()); + if (ObjectUtils.isEmpty(experimentByName)) { + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "分页信息不能为空"); + } + queryParam.setExperimentId(experimentByName.getId()); + } + // 拿到所有的固有风险单元 ,遍历 + List<Long> planIds = new ArrayList<>(); + List<RiskUnit> riskUnits = riskUnitService.listInherentRiskUnit(); + if (ObjectUtils.isEmpty(riskUnits)) { + for (RiskUnit riskUnit : riskUnits) { + // 拿到所有固有风险的评估计划 + List<RiskAssessPlan> assessPlanByInherentUnit = assessPlanRepository.getAssessPlanByInherentUnit(riskUnit.getBasicRiskUnitId()); + if (assessPlanByInherentUnit.size() > 0) { + // 遍历固有风险评估计划,如果当前用户属于对应实验的负责人,新增,修改人 + for (RiskAssessPlan inherentRiskAssessPlan : assessPlanByInherentUnit) { + if (riskUnit.getExperimentId().equals(currentUserId) || riskUnit.getCreateByUserId().equals(currentUserId) || riskUnit.getUpdateByUserId().equals(currentUserId)) { + planIds.add(inherentRiskAssessPlan.getId()); + } + } + } + } + } + + List<ExperimentInfoDTO> experimentByList = experimentInfoService.getExperimentByUser(currentUserId); + List<Long> experimentIdList = new ArrayList<>(); + experimentIdList.add(0L); + if (!ObjectUtils.isEmpty(experimentByList)) { + for (ExperimentInfoDTO experimentInfo : experimentByList) { + experimentIdList.add(experimentInfo.getId()); + } + } + + Result searchResult = new Result<>(); + + + int roleTag = GetRoleTagUtils.GetRoleTagUtils(userInfo); + //封装查询参数 + Specification<RiskAssessPlan> specification = new Specification<RiskAssessPlan>() { + @Override + public Predicate toPredicate(Root<RiskAssessPlan> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) { + List<Predicate> predicateList = new ArrayList<>(); + if (queryParam.getAssessPlanName() != null && !queryParam.getAssessPlanName().equals("")) { + predicateList.add(criteriaBuilder.like(root.get("assessPlanName"), "%" + queryParam.getAssessPlanName() + "%")); + } + if (queryParam.getExperimentId() != null && !queryParam.getExperimentId().equals("")) { + predicateList.add(criteriaBuilder.equal(root.get("experimentId"), queryParam.getExperimentId())); + } + if (queryParam.getAssessPlanId() != null && !queryParam.getAssessPlanId().equals("")) { + predicateList.add(criteriaBuilder.equal(root.get("id"), queryParam.getAssessPlanId())); + } + if (!ObjectUtils.isEmpty(queryParam.getPlanExecStatus())) { + if (queryParam.getPlanExecStatus() == 5) { + predicateList.add(criteriaBuilder.ge(root.get("planExecStatus"), 3)); + } else { + predicateList.add(criteriaBuilder.equal(root.get("planExecStatus"), queryParam.getPlanExecStatus())); + } + } + + if (queryParam.getTag() == 2) { + predicateList.add(criteriaBuilder.isNotNull(root.get("identificationTime"))); + } + if (queryParam.getTag() == 3) { + predicateList.add(criteriaBuilder.isNotNull(root.get("evaluateTime"))); + } + if (planIds.size() > 0) { + predicateList.add(criteriaBuilder.in(root.get("id")).value(planIds)); + } + + Join<RiskAssessPlan, RiskAssessPlanIdentificationUser> identificationUserJoin = root.join("riskAssessPlanIdentificationUsers", JoinType.LEFT); + Join<RiskAssessPlan, RiskAssessPlanEvaluateUser> evaluateUserJoin = root.join("riskAssessPlanEvaluateUsers", JoinType.LEFT); + Join<RiskAssessPlan, User> planUserJoin = root.join("planUser", JoinType.LEFT); + + + if (roleTag == UserTagEnum.USER_TAG_0.getCode()) { + //辨识 + if (queryParam.getTag() == 1) { + predicateList.add(criteriaBuilder.equal(identificationUserJoin.get("identificationUserId"), currentUserId)); + } + //评论 + if (queryParam.getTag() == 2) { + predicateList.add(criteriaBuilder.equal(evaluateUserJoin.get("evaluateUserId"), currentUserId)); + } + //此处应有谁能查询:辨识专家,评价专家,实验负责人(此处未存相关信息,以实验id为条件查询) + + } + query.groupBy(root.get("id")); + query.orderBy(criteriaBuilder.desc(root.get("updateTime"))); + predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"), StatusEnum.DELETE_NOT.getCode())); + + return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); + } + }; + + + List<RiskAssessPlan> pageResult = assessPlanRepository.findAll(specification); + + //循环遍历结果集,封装查询结果 + List<AssessExportDTO> assessQueryDTOList = new ArrayList<>(); + List<UserInfoDomainDTO> userList = userDomainService.getUserList(); + + if (pageResult.size() > 0) { + for (RiskAssessPlan riskAssessPlan : pageResult) { + + AssessExportDTO assessQueryDTO = BeanCopyUtils.copyBean(riskAssessPlan, AssessExportDTO.class); + if(riskAssessPlan.getPlanUser() != null){ + assessQueryDTO.setPlanUserName(riskAssessPlan.getPlanUser().getRealName()); + } + + List<RiskAssessPlanIdentificationUser> riskAssessPlanIdentificationUsers = riskAssessPlan.getRiskAssessPlanIdentificationUsers(); + if (!ObjectUtils.isEmpty(riskAssessPlanIdentificationUsers)) { + String identificationUsersString = riskAssessPlanIdentificationUsers.stream() + .map(RiskAssessPlanIdentificationUser::getIdentificationUser) + .collect(Collectors.joining(",")); + assessQueryDTO.setIdentificationUser(identificationUsersString); + + } + + List<RiskAssessPlanEvaluateUser> riskAssessPlanEvaluateUsers = riskAssessPlan.getRiskAssessPlanEvaluateUsers(); + if (!ObjectUtils.isEmpty(riskAssessPlanEvaluateUsers)) { + String identificationUsersString = riskAssessPlanEvaluateUsers.stream() + .map(RiskAssessPlanEvaluateUser::getEvaluateUser) + .collect(Collectors.joining(",")); + assessQueryDTO.setEvaluateUser(identificationUsersString); + + } + List<PhaQueryDTO> phaList = new ArrayList<>(); + List<JhaQueryDTO> jhaList = new ArrayList<>(); + List<SclQueryDTO> sclList = new ArrayList<>(); + List<HazopQueryDTO> hazopList = new ArrayList<>(); + List<AnalogyQueryDTO> analogyList = new ArrayList<>(); + + //辨识方法 1-PHA; + if (assessQueryDTO.getIdentificationMethod() == 1) { + phaList = phaService.listPhaByPlanId(riskAssessPlan.getId()); + //辨识方法 2-JHA; + } else if (assessQueryDTO.getIdentificationMethod() == 2) { + jhaList = jhaService.listJhaByPlanId(riskAssessPlan.getId()); + //辨识方法 3-SCL; + } else if (assessQueryDTO.getIdentificationMethod() == 3) { + sclList = sclService.listSclByPlanId(riskAssessPlan.getId()); + //辨识方法 4-HAZOP; + } else if (assessQueryDTO.getIdentificationMethod() == 4) { + hazopList = hazopService.listHazopByPlanId(riskAssessPlan.getId()); + //5-类比法 analogy; + } else if (assessQueryDTO.getIdentificationMethod() == 5) { + analogyList = analogyService.listAnalogyByPlanId(riskAssessPlan.getId()); + } else { + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "辨识方法参数错误"); + } + + for (UserInfoDomainDTO user : userList) { + if (user.getId() == assessQueryDTO.getCreateByUserId()) { + assessQueryDTO.setCreateByUserName(user.getRealName()); + } + if (user.getId() == assessQueryDTO.getUpdateByUserId()) { + assessQueryDTO.setUpdateByUserName(user.getRealName()); + } + } + Boolean isBegin = false; + //评价方法1 - LEC + if (assessQueryDTO.getEvaluateMethod() == 1) { + List<LecQueryDTO> lecList = lecService.listLecByPlanId(riskAssessPlan.getId()); + if (assessQueryDTO.getIdentificationMethod() == 1) { + for (PhaQueryDTO pha : phaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime()); + for (LecQueryDTO lec : lecList) { + if (lec.getIdentificationId() == pha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lecMatchPha(pha, lec); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 2) { + for (JhaQueryDTO jha : jhaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime()); + for (LecQueryDTO lec : lecList) { + if (lec.getIdentificationId() == jha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lecMatchJha(jha, lec); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 3) { + for (SclQueryDTO scl : sclList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime()); + for (LecQueryDTO lec : lecList) { + if (lec.getIdentificationId() == scl.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lecMatchScl(scl, lec); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 4) { + for (HazopQueryDTO hazop : hazopList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime()); + for (LecQueryDTO lec : lecList) { + if (lec.getIdentificationId() == hazop.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lecMatchHazop(hazop, lec); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 5) { + for (AnalogyQueryDTO analogy : analogyList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getAssessPlanId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime()); + for (LecQueryDTO lec : lecList) { + if (lec.getIdentificationId() == analogy.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lecMatchAnalogy(analogy, lec); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getAssessPlanId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } + + //评价方法2 - LS + } else if (assessQueryDTO.getEvaluateMethod() == 2) { + List<LsQueryDTO> lsList = lsService.listLsByPlanId(riskAssessPlan.getId()); + if (assessQueryDTO.getIdentificationMethod() == 1) { + for (PhaQueryDTO pha : phaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime()); + for (LsQueryDTO ls : lsList) { + if (ls.getIdentificationId() == pha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lsMatchPha(pha, ls); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 2) { + for (JhaQueryDTO jha : jhaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime()); + for (LsQueryDTO ls : lsList) { + if (ls.getIdentificationId() == jha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lsMatchJha(jha, ls); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 3) { + for (SclQueryDTO scl : sclList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime()); + for (LsQueryDTO ls : lsList) { + if (ls.getIdentificationId() == scl.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lsMatchScl(scl, ls); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 4) { + for (HazopQueryDTO hazop : hazopList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime()); + for (LsQueryDTO ls : lsList) { + if (ls.getIdentificationId() == hazop.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lsMatchHazop(hazop, ls); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 5) { + for (AnalogyQueryDTO analogy : analogyList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime()); + for (LsQueryDTO ls : lsList) { + if (ls.getIdentificationId() == analogy.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.lsMatchAnalogy(analogy, ls); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } + //评价方法3 - MES + } else if (assessQueryDTO.getEvaluateMethod() == 3) { + List<MesQueryDTO> mesList = mesService.listMesByPlanId(riskAssessPlan.getId()); + if (assessQueryDTO.getIdentificationMethod() == 1) { + for (PhaQueryDTO pha : phaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime()); + for (MesQueryDTO mes : mesList) { + if (mes.getIdentificationId() == pha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.mesMatchPha(pha, mes); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 2) { + for (JhaQueryDTO jha : jhaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime()); + for (MesQueryDTO mes : mesList) { + if (mes.getIdentificationId() == jha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.mesMatchJha(jha, mes); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 3) { + for (SclQueryDTO scl : sclList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime()); + for (MesQueryDTO mes : mesList) { + if (mes.getIdentificationId() == scl.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.mesMatchScl(scl, mes); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 4) { + for (HazopQueryDTO hazop : hazopList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime()); + for (MesQueryDTO mes : mesList) { + if (mes.getIdentificationId() == hazop.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.mesMatchHazop(hazop, mes); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 5) { + for (AnalogyQueryDTO analogy : analogyList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime()); + for (MesQueryDTO mes : mesList) { + if (mes.getIdentificationId() == analogy.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.mesMatchAnalogy(analogy, mes); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } + //评价方法4 - RS + } else if (assessQueryDTO.getEvaluateMethod() == 4) { + List<RsQueryDTO> rsList = rsService.listRsByPlanId(riskAssessPlan.getId()); + if (assessQueryDTO.getIdentificationMethod() == 1) { + for (PhaQueryDTO pha : phaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(pha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(pha.getUpdateTime()); + for (RsQueryDTO rs : rsList) { + if (rs.getIdentificationId() == pha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.rsMatchPha(pha, rs); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setPhaId(pha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getPhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getPhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 2) { + for (JhaQueryDTO jha : jhaList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(jha, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(jha.getUpdateTime()); + for (RsQueryDTO rs : rsList) { + if (rs.getIdentificationId() == jha.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.rsMatchJha(jha, rs); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setJhaId(jha.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getJhaResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getJhaRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getPhaCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 3) { + for (SclQueryDTO scl : sclList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(scl, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(scl.getUpdateTime()); + for (RsQueryDTO rs : rsList) { + if (rs.getIdentificationId() == scl.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.rsMatchScl(scl, rs); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setSclId(scl.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getSclCheckResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getSclCheckStandard()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getSclCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 4) { + for (HazopQueryDTO hazop : hazopList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(hazop, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(hazop.getUpdateTime()); + for (RsQueryDTO rs : rsList) { + if (rs.getIdentificationId() == hazop.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.rsMatchHazop(hazop, rs); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setHazopId(hazop.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getHazopResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getHazopParamDesc()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getHazopPossibleCauses()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } else if (assessQueryDTO.getIdentificationMethod() == 5) { + for (AnalogyQueryDTO analogy : analogyList) { + FactorQueryDTO factorQueryDTO = BeanCopyUtils.copyBean(analogy, FactorQueryDTO.class); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setItemIdentificationTime(analogy.getUpdateTime()); + for (RsQueryDTO rs : rsList) { + if (rs.getIdentificationId() == analogy.getId()) { + EvaluateAndIdentificationUtils evaluateAndIdentificationUtils = new EvaluateAndIdentificationUtils(); + factorQueryDTO = evaluateAndIdentificationUtils.rsMatchAnalogy(analogy, rs); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + factorQueryDTO.setId(riskAssessPlan.getId()); + factorQueryDTO.setAnalogyId(analogy.getId()); + factorQueryDTO.setEvaluateMethod(riskAssessPlan.getEvaluateMethod()); + } + } + AssessExportDTO assessQueryDTO1 = BeanCopyUtils.copyBean(assessQueryDTO, AssessExportDTO.class); + + assessQueryDTO1.setResult(factorQueryDTO.getResult()); + assessQueryDTO1.setDataResult(factorQueryDTO.getAnalogyResult()); + assessQueryDTO1.setDataRiskFactor(factorQueryDTO.getAnalogyRiskFactor()); + assessQueryDTO1.setDataCheckItem(factorQueryDTO.getAnalogyCheckItem()); + + assessQueryDTOList.add(assessQueryDTO1); + isBegin = true; + } + } + } else { + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "评价方法参数错误"); + } + if (!isBegin){ + assessQueryDTOList.add(assessQueryDTO); + } + + } + } + + searchResult.setData(assessQueryDTOList); + return searchResult; + } + /** * 风险评估计划 - 辨识删除 */ -- Gitblit v1.9.2