From 6d6f2f9fe9ee5e0d2b1b63bb7cde575f2a93876b Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期三, 21 五月 2025 16:14:52 +0800 Subject: [PATCH] 变动大幅度版本 --- src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 34 insertions(+), 11 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 b106467..5fb1326 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 @@ -284,7 +284,7 @@ */ @Transactional @Override - public ReportInsertDTO insertRiskReport(Long currentUserId, Long id) { + public ReportInsertDTO insertRiskReport(Long currentUserId, Long id,String reSubmit) { if (currentUserId < 0){ throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"当前用户无效,请重新登陆"); @@ -305,9 +305,20 @@ if (roleTag == 0){ throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"不是管理员,无权生成报告"); } - if (experimentById.getStage() == StatusEnum.EXPERIMENT_STATUS_REPORT.getCode().byteValue()){ - 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()){ + //删除已生成的报告数据 + delReportData(id,currentUserId); + }else { + if (experimentById.getStage() == StatusEnum.EXPERIMENT_STATUS_REPORT.getCode().byteValue()){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"该实验已经生成报告,无需重复操作"); + } } + + ReportRiskAssessInfo byExperimentId = reportRepository.getByExperimentId(id); + if (!ObjectUtils.isEmpty(byExperimentId)){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"该实验已经生成报告,请勿重复操作"); + } + //定义初始风险等级0级 Byte level = 0; //获取该实验的所有计划信息 @@ -327,11 +338,11 @@ if (tag == 1){ throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"该实验有未完成的评估计划" + info); } - - UserInfoDomainDTO liabilityUser = userDomainService.getUserInfoById(experimentById.getLiabilityUserId()); - if (ObjectUtils.isEmpty(liabilityUser)){ - throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"实验责任人信息不存在"); - } +//20250520实验责任人去掉验证 +// UserInfoDomainDTO liabilityUser = userDomainService.getUserInfoById(experimentById.getLiabilityUserId()); +// if (ObjectUtils.isEmpty(liabilityUser)){ +// throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"实验责任人信息不存在"); +// } //检查该实验所有的评价结果,遍历评价结果等级 @@ -405,9 +416,11 @@ reportInfo.setSafeRiskAnalysis(analysis.toString()); reportInfo.setAssessPerson(null); - reportInfo.setAssessLevel(null); - reportInfo.setDepId(null); //todo 不确定是否需要部门 - reportInfo.setSafeRiskAnalysis(null); //todo 安全风险分析,暂时不知道数据来源,先设空 + reportInfo.setAssessLevel(StatusEnum.REPORT_LEVEL_1.getCode().byteValue()); + //todo 不确定是否需要部门 + reportInfo.setDepId(null); +// reportInfo.setSafeRiskAnalysis(null); + //修改实验 4 生成报告, @@ -492,6 +505,16 @@ } + private void delReportData(Long id,Long userId){ + ReportRiskAssessInfo byExperimentId = reportRepository.getByExperimentId(id); + if (!ObjectUtils.isEmpty(byExperimentId)){ + reportRepository.delReport(userId, byExperimentId.getId()); + reportExperimentSiteService.delReportData(byExperimentId.getId()); + reportSourceTypeService.delReportData(byExperimentId.getId()); + + } + } + /** * 风险评估报告 - 填报信息 */ -- Gitblit v1.9.2