heheng
2025-01-13 a27162cb82ef0cabf9b43cbfd1f3eb8c177d1e14
修改问题
已修改13个文件
已添加3个文件
280 ■■■■■ 文件已修改
src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessResDTO.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/ReportRiskAssessInfoController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/dto/respDto/RiskAssessPlanQueryRespDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/application/account/dto/repDto/UpdateUserAppReqDTO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/application/account/service/impl/AccountAppServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/ReportAppQueryDTO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/application/riskReport/dto/dto/RiskAssessPlanAppQueryDTO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/application/riskReport/service/impl/ReportAppServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/config/annotation/RepeatSubmit.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/config/interceptor/RepeatSubmitInterceptor.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/domain/account/model/bo/UpdateUserBO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/domain/account/service/impl/UserDomainServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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);
src/main/java/com/gkhy/labRiskManage/api/controller/riskReport/dto/respDto/RiskAssessPlanQueryRespDTO.java
@@ -161,5 +161,10 @@
     */
    private String planUserName;
    /**
     * 工艺流程
     */
    private String process;
}
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;
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());
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;
}
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;
}
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.*;
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 "不允许重复提交,请稍后再试";
}
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;
}
src/main/java/com/gkhy/labRiskManage/domain/account/model/bo/UpdateUserBO.java
@@ -27,5 +27,7 @@
    private Long qualificationAttId;
    private String pwd;
}
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());
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);
}
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) {
        //校验参数
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;
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,12 +265,16 @@
                    reportQueryDTO.setUpdateByUserName(userInfo.getRealName());
                }
            }
        }
        searchResult.setData(reportAppQueryDTOS);
        searchResult.setTotal(pageResult.getTotalElements());
        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){