From a27162cb82ef0cabf9b43cbfd1f3eb8c177d1e14 Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期一, 13 一月 2025 15:22:44 +0800 Subject: [PATCH] 修改问题 --- src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java | 37 +++++++ src/main/java/com/gkhy/labRiskManage/application/account/service/impl/AccountAppServiceImpl.java | 24 ++++ src/main/java/com/gkhy/labRiskManage/application/account/dto/repDto/UpdateUserAppReqDTO.java | 1 src/main/java/com/gkhy/labRiskManage/config/annotation/RepeatSubmit.java | 23 ++++ src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/RiskAssessPlanAppQueryDTO.java | 9 + src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/dto/respDto/RiskAssessPlanQueryRespDTO.java | 5 + src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java | 35 +++++- src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/ReportAppQueryDTO.java | 16 +++ src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java | 1 src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/ReportRiskAssessInfoController.java | 8 + src/main/java/com/gkhy/labRiskManage/application/riskReport/service/impl/ReportAppServiceImpl.java | 1 src/main/java/com/gkhy/labRiskManage/config/interceptor/RepeatSubmitInterceptor.java | 55 +++++++++++ src/main/java/com/gkhy/labRiskManage/domain/account/service/impl/UserDomainServiceImpl.java | 6 + src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java | 5 + src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessResDTO.java | 52 ++++++++++ src/main/java/com/gkhy/labRiskManage/domain/account/model/bo/UpdateUserBO.java | 2 16 files changed, 270 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessResDTO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessResDTO.java new file mode 100644 index 0000000..0eca47a --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessResDTO.java @@ -0,0 +1,52 @@ +package com.gkhy.labRiskManage.api.controller.basic.dto.respDto; + +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + + +@Data +public class OldRiskAssessResDTO implements Serializable { + + private Integer sort; + private Long id; + + private String region; + + private String potentialAccident; + + private String dangerReason; + + private String triggerFactor; + + private String accidentResult; + + private String l; + + private String e; + + private String c; + + private String d; + + private String dangerLevel; + + private String controlMeasure; + + private String controlLevel; + + private LocalDateTime createTime; + + private Long createByUserId; + + private String createByUserName; + + private LocalDateTime updateTime; + + private Long updateByUserId; + + private String updateByUserName; + +} + diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/ReportRiskAssessInfoController.java b/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/ReportRiskAssessInfoController.java index 93deed6..bcbae67 100644 --- a/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/ReportRiskAssessInfoController.java +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/ReportRiskAssessInfoController.java @@ -12,6 +12,7 @@ import com.gkhy.labRiskManage.commons.domain.SearchResult; import com.gkhy.labRiskManage.commons.enums.ResultCode; import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils; +import com.gkhy.labRiskManage.config.annotation.RepeatSubmit; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -36,8 +37,9 @@ result.setMsg("查询成功"); SearchResult<ReportQueryRespDTO> queryResult = reportAppService.selectRiskReportPage(getCurrentUserId(), queryReqBO); - result.setData(BeanCopyUtils.copyReportQueryResp(queryResult.getData(), ReportQueryRespDTO.class)); + BeanCopyUtils.copyReportQueryResp(queryResult.getData(), ReportQueryRespDTO.class); + result.setData(BeanCopyUtils.copyReportQueryResp(queryResult.getData(), ReportQueryRespDTO.class)); result.setPageIndex(queryResult.getPageIndex()); result.setPageSize(queryResult.getPageSize()); result.setTotal(queryResult.getTotal()); @@ -50,6 +52,7 @@ * 风险评估报告 - 生成报告信息 */ @PostMapping("/insert/insertRiskReport") + @RepeatSubmit() public Result insertRiskReport(@RequestBody JSONObject jsonObject){ Result result = new Result(); result.setCode(ResultCode.OK); @@ -69,6 +72,7 @@ * 风险评估报告 - 填写报告信息 */ @PostMapping("/update/updateRiskReport") + @RepeatSubmit() public Result updateRiskReport(@RequestBody ReportUpdateReqBO updateReqBO){ Result result = new Result(); result.setCode(ResultCode.OK); @@ -106,6 +110,7 @@ * 风险评估报告 - 报告审核 - 旧 - 两层审核 */ @PostMapping("/update/report") + @RepeatSubmit() public Result report(@RequestBody ReportReqBO reportReqBO){ Result result = new Result(); result.setCode(ResultCode.OK); @@ -125,6 +130,7 @@ * 风险评估报告 - 报告审核 - 新 - 单次审核 */ @PostMapping("/update/reportNew") + @RepeatSubmit() public Result reportNew(@RequestBody ReportReqBO reportReqBO){ Result result = new Result(); result.setCode(ResultCode.OK); diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/dto/respDto/RiskAssessPlanQueryRespDTO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/dto/respDto/RiskAssessPlanQueryRespDTO.java index 52efd59..f7a9ff3 100644 --- a/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/dto/respDto/RiskAssessPlanQueryRespDTO.java +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/dto/respDto/RiskAssessPlanQueryRespDTO.java @@ -161,5 +161,10 @@ */ private String planUserName; + /** + * 工艺流程 + */ + private String process; + } diff --git a/src/main/java/com/gkhy/labRiskManage/application/account/dto/repDto/UpdateUserAppReqDTO.java b/src/main/java/com/gkhy/labRiskManage/application/account/dto/repDto/UpdateUserAppReqDTO.java index 62a0b85..c74be4e 100644 --- a/src/main/java/com/gkhy/labRiskManage/application/account/dto/repDto/UpdateUserAppReqDTO.java +++ b/src/main/java/com/gkhy/labRiskManage/application/account/dto/repDto/UpdateUserAppReqDTO.java @@ -14,6 +14,7 @@ private List<Long> roleIds; + private String pwd; private String phone; diff --git a/src/main/java/com/gkhy/labRiskManage/application/account/service/impl/AccountAppServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/application/account/service/impl/AccountAppServiceImpl.java index bf72777..c504bb9 100644 --- a/src/main/java/com/gkhy/labRiskManage/application/account/service/impl/AccountAppServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/application/account/service/impl/AccountAppServiceImpl.java @@ -333,7 +333,7 @@ createUserBO.setRealName(createNewUserAppReqDTO.getRealName()); //如果没有提供密码,初始密码为“123456” if(createNewUserAppReqDTO.getPwd() == null || createNewUserAppReqDTO.getPwd().isEmpty()){ - createNewUserAppReqDTO.setPwd("Gkhy@c413"); + createNewUserAppReqDTO.setPwd("Gs@123456"); } //todo 2024 弱口令问题处理 @@ -403,6 +403,28 @@ bo.setDepId(updateUserAppReqDTO.getDepId()); bo.setIdentityStatus(updateUserAppReqDTO.getIdentityStatus()); bo.setQualificationAttId(updateUserAppReqDTO.getQualificationAttId()); + if (!ObjectUtils.isEmpty(updateUserAppReqDTO.getPwd())){ + if (updateUserAppReqDTO.getPwd().length() < 8){ + throw new BusinessException(this.getClass(),ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"密码长度不够"); + } + if (!updateUserAppReqDTO.getPwd().matches(".*[A-Z].*")){ + throw new BusinessException(this.getClass(),ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"密码需要包含大小写字母、数字、特殊符号"); + } + if (!updateUserAppReqDTO.getPwd().matches(".*[a-z].*")){ + throw new BusinessException(this.getClass(),ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"密码需要包含大小写字母、数字、特殊符号"); + } + if (!updateUserAppReqDTO.getPwd().matches(".*\\d.*")){ + throw new BusinessException(this.getClass(),ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"密码需要包含大小写字母、数字、特殊符号"); + } + if (!updateUserAppReqDTO.getPwd().matches(".*[!@#$%^&*.()?+`~<>,-].*")){ + throw new BusinessException(this.getClass(),ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"密码需要包含大小写字母、数字、特殊符号"); + } + bo.setPwd(updateUserAppReqDTO.getPwd()); + } + + + + UserInfoDomainDTO updateRs = userDomainService.updateUserInfo(bo); //修改用户绑定角色 userRoleDomainService.updateUserRole(updateUserAppReqDTO.getId(), updateUserAppReqDTO.getRoleIds()); diff --git a/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/ReportAppQueryDTO.java b/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/ReportAppQueryDTO.java index 1b57ca1..322414e 100644 --- a/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/ReportAppQueryDTO.java +++ b/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/ReportAppQueryDTO.java @@ -1,9 +1,12 @@ package com.gkhy.labRiskManage.application.riskReport.dto.dto; +import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessResDTO; import com.gkhy.labRiskManage.api.controller.riskReport.dto.respDto.ReportExperimentSiteQueryRespDTO; import com.gkhy.labRiskManage.api.controller.riskReport.dto.respDto.ReportPersonQueryRespDTO; import com.gkhy.labRiskManage.api.controller.riskReport.dto.respDto.ReportRiskSourceQueryRespDTO; import com.gkhy.labRiskManage.api.controller.riskReport.dto.respDto.ReportSourceTypeQueryRespDTO; +import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess; +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType; import lombok.Data; import java.time.LocalDateTime; @@ -142,6 +145,11 @@ */ private LocalDateTime evaluateTime; + /** + * 工艺流程 + */ + private String process; + List<ReportPersonQueryRespDTO> person; /** * 风险源类型 @@ -155,5 +163,13 @@ * */ List<ReportExperimentSiteQueryRespDTO> experimentSite; + /** + * 实验类型 + */ + List<ExperimentAndType> experimentAndType; + /** + * 附件 + */ + List<OldRiskAssessResDTO> oldRiskAssess; } diff --git a/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/RiskAssessPlanAppQueryDTO.java b/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/RiskAssessPlanAppQueryDTO.java index 65bbeea..b520d2a 100644 --- a/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/RiskAssessPlanAppQueryDTO.java +++ b/src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/RiskAssessPlanAppQueryDTO.java @@ -1,9 +1,11 @@ package com.gkhy.labRiskManage.application.riskReport.dto.dto; +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * @@ -161,6 +163,13 @@ */ private String planUserName; + /** + * 工艺流程 + */ + private String process; + + + } diff --git a/src/main/java/com/gkhy/labRiskManage/application/riskReport/service/impl/ReportAppServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/application/riskReport/service/impl/ReportAppServiceImpl.java index c7b2aea..8ec990c 100644 --- a/src/main/java/com/gkhy/labRiskManage/application/riskReport/service/impl/ReportAppServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/application/riskReport/service/impl/ReportAppServiceImpl.java @@ -14,6 +14,7 @@ import com.gkhy.labRiskManage.commons.enums.StatusEnum; import com.gkhy.labRiskManage.commons.exception.BusinessException; import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils; +import com.gkhy.labRiskManage.config.annotation.RepeatSubmit; import com.gkhy.labRiskManage.domain.account.service.UserDomainService; import com.gkhy.labRiskManage.domain.experiment.service.ExperimentInfoService; import com.gkhy.labRiskManage.domain.riskReport.model.dto.*; diff --git a/src/main/java/com/gkhy/labRiskManage/config/annotation/RepeatSubmit.java b/src/main/java/com/gkhy/labRiskManage/config/annotation/RepeatSubmit.java new file mode 100644 index 0000000..0958455 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/config/annotation/RepeatSubmit.java @@ -0,0 +1,23 @@ +package com.gkhy.labRiskManage.config.annotation; + +import java.lang.annotation.*; + +/** + * 自定义注解防止表单重复提交 + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface RepeatSubmit { + /** + * 间隔时间(ms) 小于此时间视为重复提交 + * @return + */ + public int interval() default 5000; + + /** + * 提示消息 + * @return + */ + public String message() default "不允许重复提交,请稍后再试"; +} diff --git a/src/main/java/com/gkhy/labRiskManage/config/interceptor/RepeatSubmitInterceptor.java b/src/main/java/com/gkhy/labRiskManage/config/interceptor/RepeatSubmitInterceptor.java new file mode 100644 index 0000000..f639fa0 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/config/interceptor/RepeatSubmitInterceptor.java @@ -0,0 +1,55 @@ +package com.gkhy.labRiskManage.config.interceptor; + + +import com.gkhy.labRiskManage.commons.enums.ResultCode; +import com.gkhy.labRiskManage.commons.exception.BusinessException; +import com.gkhy.labRiskManage.config.annotation.RepeatSubmit; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; + +/** + * 防止器重复提交拦截 + * + */ +@Component +public abstract class RepeatSubmitInterceptor implements HandlerInterceptor +{ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception + { + if (handler instanceof HandlerMethod) + { + HandlerMethod handlerMethod = (HandlerMethod) handler; + Method method = handlerMethod.getMethod(); + RepeatSubmit annotation = method.getAnnotation(RepeatSubmit.class); + if (annotation != null) + { + if (this.isRepeatSubmit(request, annotation)) + { + //throw new RuntimeException(annotation.message()); + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode(), annotation.message()); + + } + } + return true; + } + else + { + return true; + } + } + + /** + * 验证是否重复提交由子类实现具体的防重复提交的规则 + * + * @param request 请求对象 + * @param annotation 防复注解 + * @return 结果 + */ + public abstract boolean isRepeatSubmit(HttpServletRequest request, RepeatSubmit annotation) throws Exception; +} diff --git a/src/main/java/com/gkhy/labRiskManage/domain/account/model/bo/UpdateUserBO.java b/src/main/java/com/gkhy/labRiskManage/domain/account/model/bo/UpdateUserBO.java index 485efbe..8680adc 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/account/model/bo/UpdateUserBO.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/account/model/bo/UpdateUserBO.java @@ -27,5 +27,7 @@ private Long qualificationAttId; + private String pwd; + } diff --git a/src/main/java/com/gkhy/labRiskManage/domain/account/service/impl/UserDomainServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/account/service/impl/UserDomainServiceImpl.java index d480814..bd92c2c 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/account/service/impl/UserDomainServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/account/service/impl/UserDomainServiceImpl.java @@ -38,6 +38,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; import javax.persistence.criteria.*; import java.nio.charset.StandardCharsets; @@ -157,6 +158,9 @@ user.setPhone(updateUserBO.getPhone()); user.setIdentityStatus(updateUserBO.getIdentityStatus()); user.setQualificationAttId(updateUserBO.getQualificationAttId()); + if (!ObjectUtils.isEmpty(updateUserBO.getPwd())){ + user.setHash(genPasswordHash(updateUserBO.getPwd(), user.getSalt())); + } //写库 User saveUserRs = userRepository.save(user); return userInfoDomainConverter.toUserInfoDTO(saveUserRs); @@ -345,7 +349,7 @@ User user = userOptional.get(); //设置初始密码 - String newPwd = "Gkhy@c413"; + String newPwd = "Gs@123456"; String newHash = genPasswordHash(newPwd, user.getSalt()); // Integer integer = userRepository.resetPassword(uid, newHash, LocalDateTime.now()); diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java index ca81ac9..25c8bae 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java @@ -3,6 +3,7 @@ import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.OldRiskAssessQueryReqBO; import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessExportRespDTO; import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessQueryRespDTO; +import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessResDTO; import com.gkhy.labRiskManage.commons.domain.Result; import com.gkhy.labRiskManage.commons.domain.SearchResult; import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess; @@ -10,6 +11,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.List; public interface OldRiskAssessService { @@ -24,4 +26,7 @@ int importOldRiskAssess(Long currentUserId, MultipartFile file); Result<OldRiskAssessExportRespDTO> exportOldRiskAssess(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO, HttpServletResponse response, HttpServletRequest request); + + + List<OldRiskAssessResDTO> getOldRiskAssessListByRegion(List<String> region); } diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java index eda1981..e1256ab 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java @@ -3,6 +3,7 @@ import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.OldRiskAssessQueryReqBO; import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessExportRespDTO; import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessQueryRespDTO; +import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessResDTO; import com.gkhy.labRiskManage.commons.domain.Result; import com.gkhy.labRiskManage.commons.domain.SearchResult; import com.gkhy.labRiskManage.commons.enums.ResultCode; @@ -15,7 +16,6 @@ import com.gkhy.labRiskManage.domain.basic.repository.jpa.OldRiskAssessRepository; import com.gkhy.labRiskManage.domain.basic.service.OldRiskAssessService; import org.apache.poi.hssf.usermodel.*; -import org.apache.poi.ss.usermodel.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -23,7 +23,6 @@ import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.Base64Utils; import org.springframework.util.ObjectUtils; import org.springframework.web.multipart.MultipartFile; @@ -31,14 +30,9 @@ import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.OutputStream; -import java.net.URLEncoder; import java.text.NumberFormat; import java.time.LocalDateTime; import java.util.ArrayList; @@ -454,6 +448,33 @@ } @Override + public List<OldRiskAssessResDTO> getOldRiskAssessListByRegion(List<String> region) { + + Specification<OldRiskAssess> specification = new Specification<OldRiskAssess>() { + @Override + public Predicate toPredicate(Root<OldRiskAssess> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) { + query.orderBy(criteriaBuilder.asc(root.get("region"))); + List<Predicate> predicateList = new ArrayList<>(); + predicateList.add(criteriaBuilder.in(root.get("region")).value(region)); + + predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); + //返回组装的条件 + return criteriaBuilder.and(predicateList.toArray(predicateList.toArray(new Predicate[0]))); + } + }; + + List<OldRiskAssess> all = repository.findAll(specification); + if (ObjectUtils.isEmpty(all)){ + return null; + } + List<OldRiskAssessResDTO> oldRiskAssessResDTOS = BeanCopyUtils.copyBeanList(all, OldRiskAssessResDTO.class); + oldRiskAssessResDTOS.forEach(oldRiskAssessResDTO -> { + oldRiskAssessResDTO.setSort(oldRiskAssessResDTOS.indexOf(oldRiskAssessResDTO) + 1); + }); + return oldRiskAssessResDTOS; + } + + @Override public SearchResult<OldRiskAssessQueryRespDTO> getOldRiskAssessPage(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO) { //校验参数 diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java index c32183a..150d579 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java @@ -43,6 +43,7 @@ import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; 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 235f60e..aedee64 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 @@ -1,5 +1,7 @@ package com.gkhy.labRiskManage.domain.riskReport.service.impl; +import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessResDTO; +import com.gkhy.labRiskManage.api.controller.experiment.dto.req.ExperimentAndPersonInsertReqBO; import com.gkhy.labRiskManage.api.controller.riskReport.dto.repDto.ReportReqBO; import com.gkhy.labRiskManage.api.controller.riskReport.dto.respDto.ReportExperimentSiteQueryRespDTO; import com.gkhy.labRiskManage.api.controller.riskReport.dto.respDto.ReportPersonQueryRespDTO; @@ -19,10 +21,12 @@ import com.gkhy.labRiskManage.domain.account.model.dto.UserInfoDomainDTO; import com.gkhy.labRiskManage.domain.account.service.UserDomainService; import com.gkhy.labRiskManage.domain.basic.entity.BasicRiskUnitType; +import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess; import com.gkhy.labRiskManage.domain.basic.model.dto.SiteQueryDTO; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentPersonService; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentSiteService; import com.gkhy.labRiskManage.domain.basic.service.BasicRiskUnitTypeService; +import com.gkhy.labRiskManage.domain.basic.service.OldRiskAssessService; import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndSite; import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog; import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentInfo; @@ -30,6 +34,7 @@ import com.gkhy.labRiskManage.domain.experiment.enums.ExperimentRectifyStatusEnum; import com.gkhy.labRiskManage.domain.experiment.model.dto.ExperimentInfoDTO; import com.gkhy.labRiskManage.domain.experiment.service.ExperimentAndSiteService; +import com.gkhy.labRiskManage.domain.experiment.service.ExperimentAndTypeService; import com.gkhy.labRiskManage.domain.experiment.service.ExperimentAssessLogService; import com.gkhy.labRiskManage.domain.experiment.service.ExperimentInfoService; import com.gkhy.labRiskManage.domain.riskReport.entity.*; @@ -48,6 +53,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; @@ -56,6 +62,7 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** @@ -103,6 +110,12 @@ private RiskAssessPlanEvaluateMesService mesService; @Autowired private RiskAssessPlanEvaluateRsService rsService; + + @Autowired + private ExperimentAndTypeService experimentAndTypeService; + + @Autowired + private OldRiskAssessService oldRiskAssessService; /** @@ -191,6 +204,8 @@ List<ReportAppQueryDTO> reportAppQueryDTOS = BeanCopyUtils.copyBeanList(reportQueryDTOS, ReportAppQueryDTO.class); List<UserInfoDomainDTO> userList = userDomainService.getUserList(); + + for (ReportAppQueryDTO reportQueryDTO : reportAppQueryDTOS) { //获取审批人员 List<ReportPersonQueryRespDTO> personByReportId = reportPersonService.listPersonByReportId(reportQueryDTO.getId()); @@ -205,6 +220,10 @@ //获取评估计划 List<AssessPlanQueryDTO> assessPlanByExperimentId = assessPlanService.getAssessPlanByExperimentId(reportQueryDTO.getExperimentId()); reportQueryDTO.setEvaluateTime(experimentById.getCreateTime()); + if (!ObjectUtils.isEmpty(experimentById.getProcess())){ + reportQueryDTO.setProcess(experimentById.getProcess()); + } + if (!ObjectUtils.isEmpty(assessPlanByExperimentId)){ for (AssessPlanQueryDTO assessPlan : assessPlanByExperimentId) { @@ -225,6 +244,16 @@ } if (!ObjectUtils.isEmpty(siteByReportId)){ reportQueryDTO.setExperimentSite(BeanCopyUtils.copyBeanList(siteByReportId, ReportExperimentSiteQueryRespDTO.class)); + if (queryBO.getExperimentId() != null){ + List<ReportExperimentSiteQueryRespDTO> experimentSite = reportQueryDTO.getExperimentSite(); + List<String> collect = experimentSite.stream().map(ReportExperimentSiteQueryRespDTO::getSiteName).collect(Collectors.toList()); + List<OldRiskAssessResDTO> oldRiskAssessListByRegion = oldRiskAssessService.getOldRiskAssessListByRegion(collect); + if (!ObjectUtils.isEmpty(oldRiskAssessListByRegion)){ + + reportQueryDTO.setOldRiskAssess(oldRiskAssessListByRegion); + } + reportQueryDTO.setExperimentAndType(experimentAndTypeService.getByExperimentId(reportQueryDTO.getExperimentId())); + } } reportQueryDTO.setExperimentCode(experimentById.getExperimentCode()); @@ -236,6 +265,9 @@ reportQueryDTO.setUpdateByUserName(userInfo.getRealName()); } } + + + } searchResult.setData(reportAppQueryDTOS); @@ -243,6 +275,7 @@ return searchResult; } + /** * 风险评估报告 - 生成报告信息 */ @@ -557,6 +590,9 @@ reportById.setAssessPerson(reportUpdateBO.getAssessPerson()); reportById.setAssessLevel(reportUpdateBO.getAssessLevel()); reportById.setDescription(reportUpdateBO.getDescription()); + if(!ObjectUtils.isEmpty(reportUpdateBO.getSafeRiskAnalysis())){ + reportById.setSafeRiskAnalysis(reportUpdateBO.getSafeRiskAnalysis()); + } reportById.setUpdateTime(LocalDateTime.now()); reportById.setUpdateByUserId(currentUserId); @@ -724,6 +760,7 @@ * 风险评估报告 - 报告审核 - 新 - 单次审核 */ @Override + @Transactional public int reportNew(Long currentUserId, ReportReqBO reportReqBO) { if (currentUserId < 0){ -- Gitblit v1.9.2