From 7e8d51b6a2d2892c8eca2c8cefd91f7d1b6f8f40 Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: 星期二, 11 十月 2022 09:33:29 +0800
Subject: [PATCH] 隐患上报,已经测过

---
 src/main/java/com/ruoyi/doublePrevention/service/impl/RiskServiceImpl.java |  194 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 179 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/doublePrevention/service/impl/RiskServiceImpl.java b/src/main/java/com/ruoyi/doublePrevention/service/impl/RiskServiceImpl.java
index e9aa466..60d35d7 100644
--- a/src/main/java/com/ruoyi/doublePrevention/service/impl/RiskServiceImpl.java
+++ b/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);
+//    }
 }
\ No newline at end of file

--
Gitblit v1.9.2