From 90c11c1c0c95075ba802889f0436394067af0748 Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: 星期四, 15 六月 2023 17:02:31 +0800
Subject: [PATCH] 临时提交-检修记录数据采集

---
 src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java |  333 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 207 insertions(+), 126 deletions(-)

diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
index 5d1c8bf..04bab21 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -24,7 +24,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -95,11 +94,19 @@
     @Autowired
     private PreventRiskDangerCheckAndMeasureService riskDangerCheckAndMeasureService;//管控措施,任务清单对应关系。基础排查点附属表
 
+    @Autowired
+    private PreventTaskTypeService taskTypeService;//管控措施,任务清单对应关系。基础排查点附属表
+
+    @Autowired
+    private PreventOverhaulLogService overhaulLogService;//隐患信息附属表
+    @Autowired
+    private PreventCJReportOverhaulLogService reportOverhaulLogService;//隐患信息附属表
+
 
     @Transactional
 //    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
 //    @Scheduled(cron = "0/30 * * * * ?")  // 30秒
-    @Scheduled(cron = "0 0 0/2 * * ?")  // 小时
+//    @Scheduled(cron = "0 0 0/2 * * ?")  // 小时
 
     public void searchReportDate(){
 
@@ -553,137 +560,211 @@
         }
 
 
-//        /**
-//         * 6、隐患信息数据
-//         * */
-//        //读取安全风险管控措施数据上报主配置信息
-//        PreventReportConfig dangerReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
-//        //如果安全风险管控措施主配置开启上报
-//        if (dangerReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
-//
-//            //logger.info("【##】4.检索隐患信息数据...");
-//
-//            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
-//            List<PreventRiskDangerInfo> dangerManages = preventRiskDangerInfoService.listReportDanger();
-//            //获取上报数据list
-//            List<PreventCJReportDangerInfo> CJDangerInfoLists = new ArrayList<>();
-//
-//            if (ObjectUtils.isNotEmpty(dangerManages)){
-//                HandlerReportParam handlerReportParam = new HandlerReportParam();
-//                //遍历,封装数据
-//                for (PreventRiskDangerInfo dangerManage : dangerManages) {
-//
-//                    //获取隐患信息主表信息
-//                    HiddenDangerCheckPoint hiddenDanger = trHiddenDangerCheckPointService.getHiddenDangerCheckPointById(dangerManage.getDangerCheckPointId());
-//                    //获取上报数据对象
-//                    PreventCJReportDangerInfo CJDangerInfo = new PreventCJReportDangerInfo();
-//
-//                    //通过用户名,获取涉及到的各位用户的真实姓名
-//                    User createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());
-//                    User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy());
-//                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){
-//                        User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName());
-//                        //登记人信息
-//                        CJDangerInfo.setRegistrant(registerUser.getUserName());//登记人
-//                        CJDangerInfo.setRegistTime(hiddenDanger.getRegisterCreateTime());//登记时间
-//                    }
-//
-//                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRectifyUserName())){
-//                        User rectifyUser = trUserService.getUserByLoginName(hiddenDanger.getRectifyUserName());
-//                        //整改人信息
-//                        CJDangerInfo.setLiablePerson(rectifyUser.getUserName());//整改责任人
-//                    }
-//
-//                    if (ObjectUtils.isNotEmpty(hiddenDanger.getAcceptUserName())){
-//                        User acceptUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy());
-//                        //验收人信息
-//                        CJDangerInfo.setCheckAcceptPerson(acceptUser.getUserName());//验收人
-//                        CJDangerInfo.setCheckAcceptComment(hiddenDanger.getAcceptOpinion());//验收情况
-//                        CJDangerInfo.setCheckAcceptTime(hiddenDanger.getAcceptCreateTime());//验收时间
-//                    }
-//                    //如果排查任务正常存在,封装任务相关数据
-//                    HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId());
-//                    if (ObjectUtils.isNotEmpty(dangerCheckById)){
-//
-//                        PreventRiskDangerCheckLog dangerCheckLogByCheckId = preventRiskDangerCheckLogService.getByDangerCheckByCheckId(hiddenDanger.getCheckId());
-//                        CJDangerInfo.setCheckRecordId(dangerCheckLogByCheckId.getUuid());//隐患排查任务记录uuid
-//                        //找排查点,然后查措施
-//                        PreventRiskCheckUnit unit = preventRiskCheckUnitService.getUnitByBaseCheckPointId(hiddenDanger.getCheckPointId());
-//                        //查管控措施
-//                        PreventRiskControlMeasure controlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(unit.getControlMeasureId());
-//                        CJDangerInfo.setRiskMeasureId(controlMeasureById.getUuid());//管控措施uuid
-//                        CJDangerInfo.setControlMeasures(controlMeasureById.getCheckContent());//控制措施 ,整改措施
-//                    }else {
-//                        CJDangerInfo.setCheckRecordId(null);//隐患排查任务记录uuid
-//                        CJDangerInfo.setRiskMeasureId(null);//管控措施uuid
-//                    }
-//
-//                    if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
-//                        CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
-//                    }else {
-//                        CJDangerInfo.setDeleted("0");
-//                    }
-//                    CJDangerInfo.setId(dangerManage.getUuid());
-//                    CJDangerInfo.setCompanyCode(companyCode);
-//                    CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码
-//                    CJDangerInfo.setCreateBy(createUser.getUserName());
-//                    CJDangerInfo.setCreateDate(hiddenDanger.getCreateTime());
-//
-//                    if (ObjectUtils.isEmpty(updateUser)){
-//                        CJDangerInfo.setUpdateBy(createUser.getUserName());
-//                        CJDangerInfo.setUpdateDate(hiddenDanger.getCreateTime());
-//                    }else {
-//                        CJDangerInfo.setUpdateBy(updateUser.getUserName());
-//                        CJDangerInfo.setUpdateDate(hiddenDanger.getUpdateTime());
-//                    }
-//
-//                    CJDangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
-//                    CJDangerInfo.setReportTime(null);
-//                    CJDangerInfo.setDataSource((byte) 1);
-//                    CJDangerInfo.setDangerName(hiddenDanger.getDangerName());
-//                    CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel());//隐患等级
-//                    CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString());//隐患来源
-//                    CJDangerInfo.setDangerManageType(hiddenDanger.getRectifyType());//隐患治理类型
-//                    CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());//隐患描述
-//                    CJDangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因
-//                    CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金
-//                    CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());//治理期限
-//                    CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态
-//                    CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());//隐患类型
-//                    CJDangerInfo.setDangerManagerId(dangerManage.getId());
-//                    //封装数据
-//                    CJDangerInfoLists.add(CJDangerInfo);
-//                    //设置原始数据上报状态
-//                    handlerReportParam.setId(dangerManage.getId());
-//                    handlerReportParam.setReportTime(new Date());
-//                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
-//                    //修改隐患信息附属表状态
-//                    preventRiskDangerInfoService.updateDangerInfoReportStatus(handlerReportParam);
-//                }
-//            }else {
-//                logger.info("【双重预防】当前无隐患信息需要处理");
-//            }
-//
-//            //插入上报昌吉州转换表
-//            for (PreventCJReportDangerInfo CJDanger : CJDangerInfoLists) {
-//                logger.info("【双重预防】隐患信息插入...");
-//                int result = CJDangerInfoService.insert(CJDanger);
-//                if (result < 0){
-//                    throw new AusinessException(E.ADD_FAIL.getCode(), "隐患信息插入失败");
-//                }
-//                logger.info("【双重预防】隐患信息:数据处理...");
-//            }
-//        }else {
-//            logger.info("隐患信息数据上报已关闭");
-//        }
+        /**
+         * 6、隐患信息数据
+         * */
+        //读取安全风险管控措施数据上报主配置信息
+        PreventReportConfig dangerReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
+        //如果安全风险管控措施主配置开启上报
+        if (dangerReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
+
+            //logger.info("【##】6.检索隐患数据...");
+
+            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
+            List<PreventRiskDangerInfo> dangerManages = preventRiskDangerInfoService.listReportDanger();
+            //获取上报数据list
+            List<PreventCJReportDangerInfo> CJDangerInfoLists = new ArrayList<>();
+
+            if (ObjectUtils.isNotEmpty(dangerManages)){
+                HandlerReportParam handlerReportParam = new HandlerReportParam();
+                //遍历,封装数据
+                for (PreventRiskDangerInfo dangerManage : dangerManages) {
+
+                    //获取隐患信息主表信息
+                    HiddenDangerCheckPoint hiddenDanger = trHiddenDangerCheckPointService.getHiddenDangerCheckPointById(dangerManage.getDangerCheckPointId());
+                    //获取上报数据对象
+                    PreventCJReportDangerInfo CJDangerInfo = new PreventCJReportDangerInfo();
+
+                    //通过用户名,获取涉及到的各位用户的真实姓名
+                    User createUser = new User();
+                    createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());
+                    if(ObjectUtils.isEmpty(createUser)){
+                        createUser = trUserService.getUserByName(hiddenDanger.getCreateBy());
+                    }
+                    User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy());
+                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){
+                        User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName());
+                        //登记人信息
+                        CJDangerInfo.setRegistrant(registerUser.getUserName());//登记人
+                        CJDangerInfo.setRegistTime(hiddenDanger.getRegisterCreateTime());//登记时间
+                    }
+
+                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRectifyUserName())){
+                        User rectifyUser = trUserService.getUserByLoginName(hiddenDanger.getRectifyUserName());
+                        //整改人信息
+                        CJDangerInfo.setLiablePerson(rectifyUser.getUserName());//整改责任人
+                    }
+
+                    if (ObjectUtils.isNotEmpty(hiddenDanger.getAcceptUserName())){
+                        //验收人信息
+                        CJDangerInfo.setCheckAcceptPerson(hiddenDanger.getAcceptUserName());//验收人
+                        CJDangerInfo.setCheckAcceptComment(hiddenDanger.getAcceptOpinion());//验收情况
+                        CJDangerInfo.setCheckAcceptTime(hiddenDanger.getAcceptCreateTime());//验收时间
+                    }
+                    //如果排查任务正常存在,封装任务相关数据
+                    if (Integer.parseInt(hiddenDanger.getDangerSources()) != 2){
+                        HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId());
+
+                        PreventRiskDangerCheckLog dangerCheckLogByCheckId = preventRiskDangerCheckLogService.getByDangerCheckByCheckId(hiddenDanger.getCheckId());
+                        CJDangerInfo.setCheckRecordId(dangerCheckLogByCheckId.getUuid());//隐患排查任务记录uuid
+                        //找排查点,然后查措施
+                        PreventRiskCheckUnit unit = preventRiskCheckUnitService.getUnitByBaseCheckPointId(hiddenDanger.getCheckPointId());
+                        //查管控措施
+                        PreventRiskControlMeasure controlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(unit.getControlMeasureId());
+                        CJDangerInfo.setRiskMeasureId(controlMeasureById.getUuid());//管控措施uuid
+                        CJDangerInfo.setControlMeasures(controlMeasureById.getCheckContent());//控制措施 ,整改措施
+                    }else {
+                        CJDangerInfo.setCheckRecordId(null);//隐患排查任务记录uuid
+                        CJDangerInfo.setRiskMeasureId(null);//管控措施uuid
+                    }
+
+                    if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
+                        CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
+                    }else {
+                        CJDangerInfo.setDeleted("0");
+                    }
+                    CJDangerInfo.setId(dangerManage.getUuid());
+                    CJDangerInfo.setCompanyCode(companyCode);
+                    CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码
+                    CJDangerInfo.setCreateBy(createUser.getUserName());
+                    CJDangerInfo.setCreateDate(hiddenDanger.getCreateTime());
+
+                    if (ObjectUtils.isEmpty(updateUser)){
+                        CJDangerInfo.setUpdateBy(createUser.getUserName());
+                        CJDangerInfo.setUpdateDate(hiddenDanger.getCreateTime());
+                    }else {
+                        CJDangerInfo.setUpdateBy(updateUser.getUserName());
+                        CJDangerInfo.setUpdateDate(hiddenDanger.getUpdateTime());
+                    }
+                    CJDangerInfo.setHazardCategory("0");
+                    if (dangerManage.getId() <= 383){
+                        PreventTaskType taskTypeInfo = taskTypeService.getInfoByTaskId(dangerManage.getId());
+                        int i = 1;
+                        CJDangerInfo.setHazardCategory(taskTypeInfo.getType().toString());
+                    }
+
+                    CJDangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    CJDangerInfo.setReportTime(null);
+                    CJDangerInfo.setDataSource((byte) 1);
+                    CJDangerInfo.setDangerName(hiddenDanger.getDangerName());
+                    CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel());//隐患等级
+                    CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString());//隐患来源
+                    CJDangerInfo.setDangerManageType(hiddenDanger.getRectifyType());//隐患治理类型
+                    CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());//隐患描述
+                    CJDangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因
+                    CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金
+                    CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());//治理期限
+                    CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态
+                    CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());//隐患类型
+                    CJDangerInfo.setDangerManagerId(dangerManage.getId());
+                    //封装数据
+                    CJDangerInfoLists.add(CJDangerInfo);
+                    //设置原始数据上报状态
+                    handlerReportParam.setId(dangerManage.getId());
+                    handlerReportParam.setReportTime(new Date());
+                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    //修改隐患信息附属表状态
+                    preventRiskDangerInfoService.updateDangerInfoReportStatus(handlerReportParam);
+
+                }
+
+            }else {
+                logger.info("【双重预防】当前无隐患信息需要处理");
+            }
+
+            //插入上报昌吉州转换表
+            for (PreventCJReportDangerInfo CJDanger : CJDangerInfoLists) {
+                logger.info("【双重预防】隐患信息插入...");
+                int result = CJDangerInfoService.insert(CJDanger);
+                if (result < 0){
+                    throw new AusinessException(E.ADD_FAIL.getCode(), "隐患信息插入失败");
+                }
+                logger.info("【双重预防】隐患信息:数据处理...");
+            }
+        }else {
+            logger.info("隐患信息数据上报已关闭");
+        }
 
 
 
 
+        /**
+         * 7、检索检修记录数据
+         * */
+        //读取风险分析单元数据上报主配置信息
+        PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode());
+        //如果风险事件主配置开启上报
+        if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
 
+            //logger.info("【##】2.检索检修记录...");
+            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
+            List<PreventOverhaulLog> preventOverhaulLogList = overhaulLogService.listReportOverhaulLog();
+            //获取上报数据对象与list
+            List<PreventCJReportOverhaulLog> CJOverhaulLogLists = new ArrayList<>();
+            if (ObjectUtils.isNotEmpty(preventOverhaulLogList)){
+                //遍历,封装数据
+                for (PreventOverhaulLog preventOverhaulLog : preventOverhaulLogList) {
+                    HandlerReportParam handlerReportParam = new HandlerReportParam();
+                    PreventCJReportOverhaulLog CJOverhaulLog = new PreventCJReportOverhaulLog();
 
+                    //封装上报昌吉州检修记录数据
+                    CJOverhaulLog.setId(preventOverhaulLog.getUuid());
+                    if (preventOverhaulLog.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
+                        CJOverhaulLog.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
+                    }else {
+                        CJOverhaulLog.setDeleted("0");
+                    }
+                    CJOverhaulLog.setCompanyCode(companyCode);
+                    CJOverhaulLog.setHazardCode(preventOverhaulLog.getHazardCode());
+                    CJOverhaulLog.setRiskUnitId(preventOverhaulLog.getRiskUnitUuid());
+                    CJOverhaulLog.setStopStartTime(preventOverhaulLog.getStopStartTime());
+                    CJOverhaulLog.setStopEndTime(preventOverhaulLog.getStopEndTime());
+                    CJOverhaulLog.setStopReason(preventOverhaulLog.getStopReason());
+                    CJOverhaulLog.setCreateBy(preventOverhaulLog.getCreateByUserName());
+                    CJOverhaulLog.setCreateDate(preventOverhaulLog.getGmtCreate());
+                    CJOverhaulLog.setUpdateBy(preventOverhaulLog.getCreateByUserName());
+                    CJOverhaulLog.setUpdateDate(preventOverhaulLog.getGmtModitify());
+                    CJOverhaulLog.setReportTime(null);
+                    CJOverhaulLog.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    CJOverhaulLog.setDataSource((byte) 1);
 
-
+                    //封装数据
+                    CJOverhaulLogLists.add(CJOverhaulLog);
+                    //设置原始数据上报状态
+                    handlerReportParam.setId(preventOverhaulLog.getId());
+                    handlerReportParam.setReportTime(new Date());
+                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam);
+                    if (result < 1){
+                        throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
+                    }
+                }
+            }else {
+                logger.info("【检修记录】当前无检修记录数据需要处理");
+            }
+            //写入昌吉州转换表
+            for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) {
+                int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog);
+                if (result < 1){
+                    throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
+                }
+                logger.info("【检修记录】2.检修记录CJ:数据处理...");
+            }
+            step = 3;
+        }else {
+            step = 3;
+            logger.info("检修记录数据上报已关闭");
+        }
 
 
 

--
Gitblit v1.9.2