双重预防项目-国泰新华二开定制版
16639036659
2023-11-08 303223dc45f41cdfb14364a7aa7b643f91421b76
src/main/java/com/ruoyi/doublePrevention/service/impl/RiskServiceImpl.java
@@ -8,10 +8,8 @@
import com.ruoyi.doublePrevention.entity.*;
import com.ruoyi.doublePrevention.entity.dto.req.*;
import com.ruoyi.doublePrevention.entity.dto.resp.*;
import com.ruoyi.doublePrevention.enums.ErrorCodes;
import com.ruoyi.doublePrevention.enums.ResultCodes;
import com.ruoyi.doublePrevention.enums.StatusEnum;
import com.ruoyi.doublePrevention.enums.SyncEnum;
import com.ruoyi.doublePrevention.enums.*;
import com.ruoyi.doublePrevention.exception.AusinessException;
import com.ruoyi.doublePrevention.repository.param.PreventPointAndMeasureParams;
import com.ruoyi.doublePrevention.service.RiskService;
import com.ruoyi.doublePrevention.service.baseService.*;
@@ -164,11 +162,11 @@
            resultVO.setMsg("安全风险分析单元名称不能为空");
            return resultVO;
        }
        PreventRiskUnitUuid riskUnit = preventRiskUnitUuidService.getRiskUnitUuidById(riskUnitId);
        if (riskUnit == null){
            resultVO.setMsg("安全风险分析单元名称不存在");
            return resultVO;
        }
//        PreventRiskUnitUuid riskUnit = preventRiskUnitUuidService.getRiskUnitUuidById(riskUnitId);
//        if (riskUnit == null){
//            resultVO.setMsg("安全风险分析单元名称不存在");
//            return resultVO;
//        }
        if (StringUtils.isEmpty(riskEventName)){
            resultVO.setMsg("安全风险事件名称不能为空");
            return resultVO;
@@ -190,7 +188,7 @@
        riskEvent.setEventResult(eventResult);
        riskEvent.setRiskEventName(riskEventName);
        riskEvent.setRiskUnitId(riskUnitId);
        riskEvent.setRiskUnitUuid(riskUnit.getRiskUnitUuid());
//        riskEvent.setRiskUnitUuid(riskUnit.getRiskUnitUuid());
        riskEvent.setDeleteStatus(StatusEnum.DELETE_STATUS_USE.getCode());
        riskEvent.setGmtCreate(date);
        riskEvent.setGmtModitify(date);
@@ -283,11 +281,11 @@
            resultVO.setMsg("安全风险分析单元名称不能为空");
            return resultVO;
        }
        PreventRiskUnitUuid riskUnit = preventRiskUnitUuidService.getRiskUnitUuidById(riskUnitId);
        if (riskUnit == null){
            resultVO.setMsg("安全风险分析单元名称不存在");
            return resultVO;
        }
//        PreventRiskUnitUuid riskUnit = preventRiskUnitUuidService.getRiskUnitUuidById(riskUnitId);
//        if (riskUnit == null){
//            resultVO.setMsg("安全风险分析单元名称不存在");
//            return resultVO;
//        }
        if (StringUtils.isEmpty(riskEventName)){
            resultVO.setMsg("安全风险事件名称不能为空");
            return resultVO;
@@ -371,7 +369,7 @@
     */
    @Override
    public ResultVO<List<PreventRiskEventPageQueryRespDTO>> listRiskEventPage(PreventRiskEventPageQueryReqDTO riskEventQueryReqDTO) {
        Integer pageIndex = riskEventQueryReqDTO.getPageIndex();
        Integer pageIndex = riskEventQueryReqDTO.getPageNum();
        Integer pageSize = riskEventQueryReqDTO.getPageSize();
        if (pageIndex == 0 || pageSize == 0){
            return new ResultVO<>(ErrorCodes.REQUEST_PARAM_ERROR.getCode(),"当前页码或当前页显示数不能为0");
@@ -483,7 +481,6 @@
        controlMeasure.setCreateByUserName(sysUser.getUserName());
        controlMeasure.setRiskEventUuid(riskEvent.getUuid());
        //todo 对所属企业id和uuid没有进行设置
        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_ANA_UNIT.getCode());
        //设置上报时间为空
        controlMeasure.setReportTime(null);
@@ -692,7 +689,7 @@
     */
    @Override
    public ResultVO<List<PreventRiskControlMeasurePageQueryRespDTO>> getRiskControlMeasurePage(PreventRiskControlMeasureQueryReqDTO measureQueryReqDTO) {
        Integer pageIndex = measureQueryReqDTO.getPageIndex();
        Integer pageIndex = measureQueryReqDTO.getPageNum();
        Integer pageSize = measureQueryReqDTO.getPageSize();
        if (pageIndex == 0 || pageSize == 0){
            return new ResultVO<>(ErrorCodes.REQUEST_PARAM_ERROR.getCode(),"当前页码或当前页显示数不能为0");
@@ -701,7 +698,7 @@
        Long riskEventId = measureQueryReqDTO.getRiskEventId();
        Page<PreventRiskControlMeasure> page = PageHelper.startPage(pageIndex, pageSize);
        riskControlMeasureService.listRiskEvenByCondition(controlType,riskEventId);
        riskControlMeasureService.listRiskControlMeasureByCondition(controlType,riskEventId);
        List<PreventRiskControlMeasure> result = page.getResult();
        Long total = page.getTotal();
@@ -803,7 +800,7 @@
    @Override
    public int insertJobAndMeasure(Long jobId, HiddenDangerCheckJob hiddenDangerCheckJob) {
        String jobUuid = UUID.randomUUID().toString();
        PreventRiskJobAndMeasure jobAndMeasure = new PreventRiskJobAndMeasure();
        //根据RiskId查询对应的管控措施
@@ -811,12 +808,13 @@
        //遍历管控措施集合
        for (PreventRiskCheckUnit checkUnit : unitByRiskId) {
            String jobUuid = UUID.randomUUID().toString();
            PreventRiskControlMeasure preventRiskControlMeasureById = riskControlMeasureService.getPreventRiskControlMeasureById(checkUnit.getControlMeasureId());
            //封装数据
            jobAndMeasure.setJobId(jobId);
            jobAndMeasure.setJobUuid(jobUuid);
            jobAndMeasure.setMeasureId(checkUnit.getControlMeasureId());
            jobAndMeasure.setMeasureUuid(preventRiskControlMeasureById.getUuid());//todo 如果删除了措施 此处可能为空,后续处理
            jobAndMeasure.setMeasureUuid(preventRiskControlMeasureById.getUuid());//如果删除了措施 此处可能为空,后续处理
            //获取上报主配置信息
            PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode());
            //设置上报时间为空
@@ -852,6 +850,7 @@
    @Transactional
    @Override
    public int updateJobAndMeasure(HiddenDangerCheckJob hiddenDangerCheckJob) {
        // 2、若有变更,需要预先读取jobAndMeasure的uuid,保存下来
        PreventRiskJobAndMeasure jobAndMeasureByJobId = preventRiskJobAndMeasureService.getJobAndMeasureByJobId(hiddenDangerCheckJob.getJobId());
        String jobUuid = jobAndMeasureByJobId.getJobUuid();
@@ -877,7 +876,7 @@
            //使用保存下来的uuid,再次添加关联关系
            jobAndMeasure.setJobUuid(jobUuid);
            jobAndMeasure.setMeasureId(checkUnit.getControlMeasureId());
            jobAndMeasure.setMeasureUuid(preventRiskControlMeasureById.getUuid());//todo 如果删除了措施 此处可能为空,后续处理
            jobAndMeasure.setMeasureUuid(preventRiskControlMeasureById.getUuid());//如果删除了措施 此处可能为空,后续处理
            //获取上报主配置信息
            PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode());
@@ -944,7 +943,7 @@
        PreventRiskDangerCheckLog dangerCheck = new PreventRiskDangerCheckLog();
        dangerCheck.setUuid(dangerCheckUuid);
        dangerCheck.setCheckStatus(null);
        dangerCheck.setCheckStatus((byte) 2);//
        dangerCheck.setCheckId(checkId);
        dangerCheck.setJobId(hdc.getJobId());
        //获取上报主配置信息
@@ -974,8 +973,8 @@
     * 插入检查点附属表
     */
    @Override
    public void insertCheckAndMeasure(Long id, HiddenDangerCheckPoint hdcp) {
    public int insertCheckAndMeasure(Long id, HiddenDangerCheckPoint hdcp) {
        System.out.println("进入核查点保存方法");
        PreventRiskDangerCheckAndMeasure checkAndMeasure = new PreventRiskDangerCheckAndMeasure();
        //根据检查点信息,查询对应管控措施
@@ -983,23 +982,26 @@
        if (checkUnit == null){
            throw new RuntimeException("基础检查点不存在");
        }
//        System.out.println("通过一次检验");
        PreventRiskControlMeasure controlMeasure = riskControlMeasureService.getPreventRiskControlMeasureById(checkUnit.getControlMeasureId());
        if (controlMeasure == null){
            throw new RuntimeException("管控措施已经被删除");
        }
//        System.out.println("通过二次检验");
        //封装数据
        checkAndMeasure.setCheckId(hdcp.getCheckId());
        checkAndMeasure.setDangerCheckPointId(id);
        checkAndMeasure.setBaseCheckPointId(hdcp.getCheckPointId());
        checkAndMeasure.setControlMeasureId(controlMeasure.getId());
        checkAndMeasure.setCheckContent(controlMeasure.getCheckContent());
        checkAndMeasure.setCheckResult(null);
        checkAndMeasure.setCheckResult((byte) 4);
//        System.out.println("数据封装完成");
        //写入核查任务检查点与管控措施信息
        preventRiskDangerCheckAndMeasureService.insertCheckAndMeasure(checkAndMeasure);
        int result = preventRiskDangerCheckAndMeasureService.insertCheckAndMeasure(checkAndMeasure);
        if (result <1){
            return StatusEnum.EXEC_FAIL.getCode();
        }
        return StatusEnum.EXEC_SUCCESS.getCode();
    }
    /**
     * todo-2022 填报时的操作
@@ -1021,6 +1023,7 @@
                return StatusEnum.EXEC_FAIL.getCode();
            }
        }
        //2、删除核查任务-检查点的附属表----老代码未删除检查点信息,此处暂不做处理
        return StatusEnum.EXEC_SUCCESS.getCode();
@@ -1034,6 +1037,12 @@
        String dangerInfoUuid = UUID.randomUUID().toString();
        PreventRiskDangerInfo dangerInfo = new PreventRiskDangerInfo();
//        if (ObjectUtils.isEmpty(hdcp.getDangerSrc())){
//            throw new RuntimeException("隐患来源为空");
//        }
//        if (ObjectUtils.isEmpty(hdcp.getHazardDangerType())){
//            throw new RuntimeException("隐患类型为空");
//        }
        dangerInfo.setUuid(dangerInfoUuid);
        dangerInfo.setDangerCheckPointId(id);
@@ -1043,20 +1052,22 @@
        dangerInfo.setDangerReason(hdcp.getDangerReason());
        dangerInfo.setDangerResult(hdcp.getDangerResult());
        dangerInfo.setHazardDangerType(hdcp.getHazardDangerType());
        //隐患状态  0未验收 1验收通过 2验收未通过 ,新建时为空
//        if (ObjectUtils.isNotEmpty(hdcp.getsta))
        //隐患状态  0未验收 1验收通过 2验收未通过
        if (hdcp.getAcceptStatus() == null){
            //设置为 空
            dangerInfo.setDangerState(null);
        } else if (hdcp.getAcceptStatus().equals(0)){
            dangerInfo.setDangerState(StatusEnum.RECTIFY_ING.getCode());
        } else if (hdcp.getAcceptStatus().equals("0")){
            //设置为整改中
            dangerInfo.setDangerState(StatusEnum.RECTIFY_ING.getCode());
        } else if (hdcp.getAcceptStatus().equals(1)) {
        } else if (hdcp.getAcceptStatus().equals("1")) {
            //设置为已验收
            dangerInfo.setDangerState(StatusEnum.ACCEPT_SUCCESS.getCode());
        }else if (hdcp.getAcceptStatus().equals(2)){
        }else if (hdcp.getAcceptStatus().equals("2")){
            //设置为超期未整改
            dangerInfo.setDangerState(StatusEnum.RECTIFY_TIMEOUT_AND_FAIL.getCode());
        }
//        dangerInfo.setDangerState(null); //设置为 空
        dangerInfo.setTimeoutFlag(null);//暂时不清楚是否需要此功能,先设为空
        //获取上报主配置信息
        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
@@ -1078,8 +1089,8 @@
            //设置本条数据上报开关为-关闭
            dangerInfo.setReportSwitch(SyncEnum.REPORT_OFF.getCode());
        }
        return preventRiskDangerInfoService.insertDangerInfo(dangerInfo);
        int result = preventRiskDangerInfoService.insertDangerInfo(dangerInfo);
        return result;
    }
    /**
@@ -1227,11 +1238,11 @@
        PreventRiskDangerInfo dangerInfo = new PreventRiskDangerInfo();
        dangerInfo.setDangerCheckPointId(hdcp.getId());
        int acceptStatus = Integer.parseInt(hdcp.getAcceptStatus());
        //如果验收通过,设置为验收成功;验收失败,打回上一级进行整改,设置为整改中
        if (hdcp.getAcceptStatus().equals(0)){
        if (acceptStatus == 0){
            dangerInfo.setDangerState(StatusEnum.RECTIFY_ING.getCode());
        }else if (hdcp.getAcceptStatus().equals(1)){
        }else if (acceptStatus == 1){
            dangerInfo.setDangerState(StatusEnum.ACCEPT_SUCCESS.getCode());
        }
@@ -1262,6 +1273,9 @@
    @Override
    public List<PreventRiskUnitCodeAndNameListQueryRespDTO> listRiskUnitCodeAndName() {
        List<PreventRiskList> riskLists = preventRiskListService.listRiskUnitCodeAndName();
        if (riskLists == null){
            return null;
        }
        List<PreventRiskUnitCodeAndNameListQueryRespDTO> listQueryRespDTOs= riskLists.stream().map((riskList)->{
            PreventRiskUnitCodeAndNameListQueryRespDTO listQueryRespDTO = new PreventRiskUnitCodeAndNameListQueryRespDTO();
            BeanUtils.copyProperties(riskList,listQueryRespDTO);
@@ -1270,8 +1284,72 @@
        return listQueryRespDTOs;
    }
//    /**
//     * 全流程隐患上报-附属表信息插入
    /**
     * 管控措施-不分页查询
     */
    @Override
    public ResultVO<List<PreventRiskControlMeasureListQueryRespDTO>> listRiskControlMeasure() {
        List<PreventRiskControlMeasure> controlMeasures = riskControlMeasureService.listRiskControlMeasure();
        List<PreventRiskControlMeasureListQueryRespDTO> pageResult = null;
        if (controlMeasures != null) {
            pageResult = controlMeasures.stream().map((preventRiskControlMeasure) -> {
                PreventRiskControlMeasureListQueryRespDTO dto = new PreventRiskControlMeasureListQueryRespDTO();
                BeanUtils.copyProperties(preventRiskControlMeasure, dto);
                return dto;
            }).collect(Collectors.toList());
        }
        ResultVO<List<PreventRiskControlMeasureListQueryRespDTO>> resultVO = new ResultVO<>(ResultCodes.OK,pageResult);
        return resultVO;
    }
    /**
     * 通过排查点,查找管控措施id
     */
    @Override
    public PreventRiskCheckUnit getRiskControlMeasureByCheckPointId(Long checkPointId) {
        return preventRiskCheckUnitService.getUnitByBaseCheckPointId(checkPointId);
    }
    /**
     * 查询管控措施信息
     */
    @Override
    public PreventRiskControlMeasure getRiskControlMeasureInfo(Long checkPointId) {
        PreventRiskCheckUnit unitByBaseCheckPointId = preventRiskCheckUnitService.getUnitByBaseCheckPointId(checkPointId);
//        if (ObjectUtils.isEmpty(unitByBaseCheckPointId)){
//            throw new AusinessException(E.DATA_DATABASE_DUPLICATED, "数据不存在或已被删除");
//        }
        return riskControlMeasureService.getPreventRiskControlMeasureById(unitByBaseCheckPointId.getControlMeasureId());
    }
    /**
     * 查询隐患附属表信息
     */
    @Override
    public PreventRiskDangerInfo getDangerInfoById(Long id) {
        PreventRiskDangerInfo dangerInfobyHiddenDangerId = preventRiskDangerInfoService.getByHiddenDangerId(id);
        return dangerInfobyHiddenDangerId;
    }
    @Override
    public int updateCheckLog(Long checkId, HiddenDangerCheckPoint hdcp) {
        return preventRiskDangerCheckLogService.updateCheckLog(checkId, hdcp.getMobileCode());
    }
    //    /**
//     * 全流程 隐患上报-附属表信息插入
//     * */
//    @Override
//    public int insertAllDangerInfo(Long id, HiddenDangerCheckPoint hdcp) {
@@ -1313,4 +1391,6 @@
//
//        return preventRiskDangerInfoService.insertDangerInfo(dangerInfo);
//    }
}