双重预防项目-国泰新华二开定制版
16639036659
2022-10-11 7e8d51b6a2d2892c8eca2c8cefd91f7d1b6f8f40
src/main/java/com/ruoyi/doublePrevention/service/impl/RiskServiceImpl.java
@@ -2,6 +2,7 @@
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.ruoyi.common.constant.TrHiddenDangerCheckConstants;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.text.Convert;
import com.ruoyi.doublePrevention.entity.*;
@@ -20,6 +21,7 @@
import com.ruoyi.project.tr.HiddenDangerCheckJob.mapper.HiddenDangerCheckJobMapper;
import com.ruoyi.project.tr.hiddenDangerCheck.domain.HiddenDangerCheck;
import com.ruoyi.project.tr.hiddenDangerCheckPoint.domain.HiddenDangerCheckPoint;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -588,6 +590,7 @@
        resultVO.setCode(ResultCodes.OK.getCode());
        resultVO.setMsg(ResultCodes.OK.getDesc());
        resultVO.setData(dto);
        return resultVO;
    }
@@ -749,6 +752,19 @@
    @Override
    public int insertPointAndMeasure(PreventPointAndMeasureParams pointAndMeasureParams) {
        //参数校验-管控措施id
        if (pointAndMeasureParams.getControlMeasureId() == null){
            throw new RuntimeException("管控措施不能为空");
        }
        PreventRiskControlMeasure preventRiskControlMeasureById
                = riskControlMeasureService.getPreventRiskControlMeasureById(pointAndMeasureParams.getControlMeasureId());
        if (preventRiskControlMeasureById == null){
            throw new RuntimeException("管控措施不存在");
        }
        if (pointAndMeasureParams.getBaseCheckPointId() == null){
            throw new RuntimeException("检查点添加失败");
        }
        String uuid = UUID.randomUUID().toString();
        PreventRiskCheckUnit checkUnit = new PreventRiskCheckUnit();
        //封装数据
@@ -785,14 +801,14 @@
     * 保存job管控措施的附属表
     */
    @Override
    public int insertJobAndMeasure(Long jobId) {
    public int insertJobAndMeasure(Long jobId, HiddenDangerCheckJob hiddenDangerCheckJob) {
        String jobUuid = UUID.randomUUID().toString();
        PreventRiskJobAndMeasure jobAndMeasure = new PreventRiskJobAndMeasure();
        //根据jobId查询对应的基础排查清单
        HiddenDangerCheckJob jobById = hiddenDangerCheckJobMapper.getJobById(jobId);
        //根据RiskId查询对应的管控措施
        List<PreventRiskCheckUnit> unitByRiskId = preventRiskCheckUnitService.getUnitByRiskId(jobById.getRiskId());
        List<PreventRiskCheckUnit> unitByRiskId = preventRiskCheckUnitService.getUnitByRiskId(hiddenDangerCheckJob.getRiskId());
        //遍历管控措施集合
        for (PreventRiskCheckUnit checkUnit : unitByRiskId) {
            PreventRiskControlMeasure preventRiskControlMeasureById = riskControlMeasureService.getPreventRiskControlMeasureById(checkUnit.getControlMeasureId());
@@ -985,6 +1001,9 @@
        preventRiskDangerCheckAndMeasureService.insertCheckAndMeasure(checkAndMeasure);
    }
    /**
     * todo-2022 填报时的操作
     */
    /**
     * 删除定时核查任务
@@ -1020,11 +1039,24 @@
        dangerInfo.setDangerCheckPointId(id);
        dangerInfo.setHazardCode(hdcp.getHazardCode());
        dangerInfo.setDangerSrc(hdcp.getDangerSrc());
        dangerInfo.setDangerDesc(hdcp.getDangerDesc());
        dangerInfo.setDangerDesc(hdcp.getDangerDescription());
        dangerInfo.setDangerReason(hdcp.getDangerReason());
        dangerInfo.setDangerResult(hdcp.getDangerResult());
        dangerInfo.setHazardDangerType(hdcp.getHazardDangerType());
        dangerInfo.setDangerState(hdcp.getDangerState());
        //隐患状态  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(1)) {
            //设置为已验收
            dangerInfo.setDangerState(StatusEnum.ACCEPT_SUCCESS.getCode());
        }else if (hdcp.getAcceptStatus().equals(2)){
            //设置为超期未整改
            dangerInfo.setDangerState(StatusEnum.RECTIFY_TIMEOUT_AND_FAIL.getCode());
        }
        dangerInfo.setTimeoutFlag(null);//暂时不清楚是否需要此功能,先设为空
        //获取上报主配置信息
        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
@@ -1062,11 +1094,24 @@
        dangerInfo.setDangerCheckPointId(hdcp.getId());
        dangerInfo.setHazardCode(hdcp.getHazardCode());
        dangerInfo.setDangerSrc(hdcp.getDangerSrc());
        dangerInfo.setDangerDesc(hdcp.getDangerDesc());
        dangerInfo.setDangerDesc(hdcp.getDangerDescription());
        dangerInfo.setDangerReason(hdcp.getDangerReason());
        dangerInfo.setDangerResult(hdcp.getDangerResult());
        dangerInfo.setHazardDangerType(hdcp.getHazardDangerType());
        dangerInfo.setDangerState(hdcp.getDangerState());
        //隐患状态  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(1)) {
            //设置为已验收
            dangerInfo.setDangerState(StatusEnum.ACCEPT_SUCCESS.getCode());
        }else if (hdcp.getAcceptStatus().equals(2)){
            //设置为超期未整改
            dangerInfo.setDangerState(StatusEnum.RECTIFY_TIMEOUT_AND_FAIL.getCode());
        }
        dangerInfo.setTimeoutFlag(null);//暂时不清楚是否需要此功能,先设为空
        //获取上报主配置信息
        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
@@ -1100,20 +1145,19 @@
    }
    /**
     * 隐患整改信息 - 修改
     * 隐患判定,如果是隐患,修改为整改中
     */
    @Override
    public int updateDangerInfoRectify(HiddenDangerCheckPoint hdcp) {
    public int updateDangerInfoJudge(HiddenDangerCheckPoint hdcp) {
        //封装修改数据
        PreventRiskDangerInfo dangerInfo = new PreventRiskDangerInfo();
        dangerInfo.setDangerCheckPointId(hdcp.getId());
        //需要根据条件,判断附属表隐患状态。
        // 目前想法:认定后的隐患-0整改中;整改后的隐患-1待验收;整改后的隐患-9已验收。2,3状态暂时未使用
        dangerInfo.setDangerState(hdcp.getDangerState());
        dangerInfo.setTimeoutFlag(null);//暂时不清楚是否需要此功能,先设为空
        //目前想法:认定后的隐患-0整改中;整改后的隐患-1待验收;验收后的隐患-9已验收。2,3状态暂时未使用
        //设置为整改中
        dangerInfo.setDangerState(StatusEnum.RECTIFY_ING.getCode());
        //获取上报主配置信息
        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
        //设置本条数据上报更新时间
@@ -1133,7 +1177,83 @@
            dangerInfo.setReportSwitch(SyncEnum.REPORT_OFF.getCode());
        }
        return 0;
        return preventRiskDangerInfoService.updateDangerInfoState(dangerInfo);
    }
    /**
     * 隐患整改信息 - 修改
     */
    @Override
    public int updateDangerInfoRectify(HiddenDangerCheckPoint hdcp) {
        //封装修改数据
        PreventRiskDangerInfo dangerInfo = new PreventRiskDangerInfo();
        dangerInfo.setDangerCheckPointId(hdcp.getId());
        //需要根据条件,判断附属表隐患状态。
        //目前想法:认定后的隐患-0整改中;整改后的隐患-1待验收;验收后的隐患-9已验收。2,3状态暂时未使用
        //待验收验收
        dangerInfo.setDangerState(StatusEnum.RECTIFY_WAIT_ACCEPT.getCode());
        //获取上报主配置信息
        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
        //设置本条数据上报更新时间
        dangerInfo.setUpdateReportDataTime(new Date());
        //读取上报主配置,进行任务记录上报配置,如果开启上报功能,且设置为自动上报,开启上报相关配置
        if (reportConfigById.getReportState() == SyncEnum.REPORT_ON.getCode()
                && reportConfigById.getReportType() == SyncEnum.REPORT_HAND_EXEC_CONFIG.getCode()){
            //设置上报状态为-等待上报
            dangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
            //设置本条数据上报开关为-开启
            dangerInfo.setReportSwitch(SyncEnum.REPORT_ON.getCode());
            //其他情况默认不开启上报数据,如果是手动上报,可对单条数据进行操作
        }else {
            //设置上报状态为-不上报
            dangerInfo.setReportStatus(SyncEnum.SYNC_NOT_EXEC.getCode());
            //设置本条数据上报开关为-关闭
            dangerInfo.setReportSwitch(SyncEnum.REPORT_OFF.getCode());
        }
        return  preventRiskDangerInfoService.updateDangerInfoState(dangerInfo);
    }
    /**
     * 隐患验收 - 保存验收信息
     */
    @Override
    public int updateDangerInfoAccept(HiddenDangerCheckPoint hdcp) {
        //封装修改数据
        PreventRiskDangerInfo dangerInfo = new PreventRiskDangerInfo();
        dangerInfo.setDangerCheckPointId(hdcp.getId());
        //如果验收通过,设置为验收成功;验收失败,打回上一级进行整改,设置为整改中
        if (hdcp.getAcceptStatus().equals(0)){
            dangerInfo.setDangerState(StatusEnum.RECTIFY_ING.getCode());
        }else if (hdcp.getAcceptStatus().equals(1)){
            dangerInfo.setDangerState(StatusEnum.ACCEPT_SUCCESS.getCode());
        }
        //获取上报主配置信息
        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
        //设置本条数据上报更新时间
        dangerInfo.setUpdateReportDataTime(new Date());
        //读取上报主配置,进行任务记录上报配置,如果开启上报功能,且设置为自动上报,开启上报相关配置
        if (reportConfigById.getReportState() == SyncEnum.REPORT_ON.getCode()
                && reportConfigById.getReportType() == SyncEnum.REPORT_HAND_EXEC_CONFIG.getCode()){
            //设置上报状态为-等待上报
            dangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
            //设置本条数据上报开关为-开启
            dangerInfo.setReportSwitch(SyncEnum.REPORT_ON.getCode());
            //其他情况默认不开启上报数据,如果是手动上报,可对单条数据进行操作
        }else {
            //设置上报状态为-不上报
            dangerInfo.setReportStatus(SyncEnum.SYNC_NOT_EXEC.getCode());
            //设置本条数据上报开关为-关闭
            dangerInfo.setReportSwitch(SyncEnum.REPORT_OFF.getCode());
        }
        return preventRiskDangerInfoService.updateDangerInfoState(dangerInfo);
    }
    /**
@@ -1149,4 +1269,48 @@
        }).collect(Collectors.toList());
        return listQueryRespDTOs;
    }
//    /**
//     * 全流程隐患上报-附属表信息插入
//     * */
//    @Override
//    public int insertAllDangerInfo(Long id, HiddenDangerCheckPoint hdcp) {
//
//        String dangerInfoUuid = UUID.randomUUID().toString();
//        PreventRiskDangerInfo dangerInfo = new PreventRiskDangerInfo();
//
//        dangerInfo.setUuid(dangerInfoUuid);
//        dangerInfo.setDangerCheckPointId(id);
//        dangerInfo.setHazardCode(hdcp.getHazardCode());
//        dangerInfo.setDangerSrc(hdcp.getDangerSrc());
//        dangerInfo.setDangerDesc(hdcp.getDangerDesc());
//        dangerInfo.setDangerReason(hdcp.getDangerReason());
//        dangerInfo.setDangerResult(hdcp.getDangerResult());
//        dangerInfo.setHazardDangerType(hdcp.getHazardDangerType());
//        dangerInfo.setDangerState(hdcp.getDangerState());
//        dangerInfo.setTimeoutFlag(null);//暂时不清楚是否需要此功能,先设为空
//
//        //获取上报主配置信息
//        PreventReportConfig reportConfigById = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
//        //设置上报时间为空
//        dangerInfo.setReportTime(null);
//        //设置本条数据上报更新时间
//        dangerInfo.setUpdateReportDataTime(new Date());
//        //读取上报主配置,进行任务记录上报配置,如果开启上报功能,且设置为自动上报,开启上报相关配置
//        if (reportConfigById.getReportState() == SyncEnum.REPORT_ON.getCode()
//                && reportConfigById.getReportType() == SyncEnum.REPORT_HAND_EXEC_CONFIG.getCode()){
//            //设置上报状态为-等待上报
//            dangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
//            //设置本条数据上报开关为-开启
//            dangerInfo.setReportSwitch(SyncEnum.REPORT_ON.getCode());
//            //其他情况默认不开启上报数据,如果是手动上报,可对单条数据进行操作
//        }else {
//            //设置上报状态为-不上报
//            dangerInfo.setReportStatus(SyncEnum.SYNC_NOT_EXEC.getCode());
//            //设置本条数据上报开关为-关闭
//            dangerInfo.setReportSwitch(SyncEnum.REPORT_OFF.getCode());
//        }
//
//        return preventRiskDangerInfoService.insertDangerInfo(dangerInfo);
//    }
}