From 8e3dd5851dcedef5b21858dc1cfd5d11f1965ce6 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期五, 04 七月 2025 13:38:25 +0800
Subject: [PATCH] 优化处理

---
 src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java |  269 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 154 insertions(+), 115 deletions(-)

diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
index 403716f..b1d715c 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -1,6 +1,8 @@
 package com.ruoyi.doublePrevention.scheduls;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.doublePrevention.entity.*;
 import com.ruoyi.doublePrevention.entity.CJReport.*;
 import com.ruoyi.doublePrevention.enums.E;
@@ -20,6 +22,7 @@
 import com.ruoyi.project.tr.hiddenDangerCheckPoint.service.IHiddenDangerCheckPointService;
 import com.ruoyi.project.tr.riskList.domain.RiskList;
 import com.ruoyi.project.tr.riskList.service.IRiskListService;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -31,10 +34,10 @@
 import java.text.SimpleDateFormat;
 import java.util.*;
 
+@Slf4j
 @Component
 public class SearchReportDateSchedule {
 
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     public static SimpleDateFormat startFormat = new SimpleDateFormat("yyyy-MM-dd 06:30:00");
     public static SimpleDateFormat endFormat = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
@@ -107,12 +110,12 @@
 
 
     @Transactional
-    @Scheduled(cron = "0 0/10 * * * ? ")    // 分钟
+    @Scheduled(cron = "0 0/2 * * * ? ")    // 分钟
 //    @Scheduled(cron = "0/10 * * * * ?")  // 30秒
- //   @Scheduled(cron = "0 0/25 * * * ? ")    // 分钟
-    public void searchReportDate(){
+    //   @Scheduled(cron = "0 0/25 * * * ? ")    // 分钟
+    public void searchReportDate() {
 
-        logger.info("【双重预防】定时检索需要上报数据...");
+        log.info("【双重预防】定时检索需要上报数据...");
         int step = 1;
         String companyCode = "652310082";
 
@@ -122,16 +125,16 @@
         //读取风险分析单元数据上报主配置信息
         PreventReportConfig unitReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_ANA_UNIT.getCode());
         //如果主配置开启上报,开始
-        if (unitReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
+        if (unitReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())) {
 
-            logger.info("【##】1.检索风险分析单元...");
+            log.info("【##】1.检索风险分析单元...");
 
             //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
             List<PreventRiskUnitUuid> riskUnitUuidList = preventRiskUnitUuidService.listRiskAnaUnit();
             //获取上报数据list
 //            List<PreventReportRiskAnaUnit> unitLists = new ArrayList<>();
             List<PreventCJReportRiskAnaUnit> CJUnitLists = new ArrayList<>();
-            if (ObjectUtils.isNotEmpty(riskUnitUuidList)){
+            if (ObjectUtils.isNotEmpty(riskUnitUuidList)) {
                 HandlerReportParam handlerReportParam = new HandlerReportParam();
                 //遍历,封装数据
                 for (PreventRiskUnitUuid riskUnitUuid : riskUnitUuidList) {
@@ -161,16 +164,18 @@
 //                    }
                     CJReportRiskAnaUnit.setCreateBy(createUser.getUserName());
                     CJReportRiskAnaUnit.setCreateDate(infoByRiskId.getCreateTime());
-                    if (ObjectUtils.isEmpty(updateUser)){
+                    if (ObjectUtils.isEmpty(updateUser)) {
                         CJReportRiskAnaUnit.setUpdateBy(createUser.getUserName());
                         CJReportRiskAnaUnit.setUpdateDate(infoByRiskId.getUpdateTime());
-                    }else {
+                    } else {
                         CJReportRiskAnaUnit.setUpdateBy(updateUser.getUserName());
                         CJReportRiskAnaUnit.setUpdateDate(infoByRiskId.getCreateTime());
                     }
                     CJReportRiskAnaUnit.setDataSource((byte) 1);
                     CJReportRiskAnaUnit.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     CJReportRiskAnaUnit.setReportTime(null);
+                    CJReportRiskAnaUnit.setZhunReportTime(null);
+                    CJReportRiskAnaUnit.setZhunReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     CJReportRiskAnaUnit.setRiskUnitId(infoByRiskId.getRiskListId());//此处封装主表的id
                     //封装数据
                     CJUnitLists.add(CJReportRiskAnaUnit);
@@ -180,18 +185,18 @@
                     handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     int result = preventRiskUnitUuidService.updateReportStatus(handlerReportParam);
                 }
-            }else {
-                logger.info("【双重预防】当前无风险分析单元数据需要处理");
+            } else {
+                log.info("【双重预防】当前无风险分析单元数据需要处理");
             }
             //写入昌吉州转换表
             for (PreventCJReportRiskAnaUnit CJUnit : CJUnitLists) {
                 CJRiskAnaUnitService.insertUnitList(CJUnit);
-                logger.info("【双重预防】1.风险分析单元CJ:数据处理...");
+                log.info("【双重预防】1.风险分析单元CJ:数据处理...");
             }
             step = 2;
-        }else {
+        } else {
             step = 2;
-            logger.info("风险分析单元数据上报已关闭");
+            log.info("风险分析单元数据上报已关闭");
         }
 
 
@@ -201,14 +206,14 @@
         //读取风险分析单元数据上报主配置信息
         PreventReportConfig eventReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_EVENT.getCode());
         //如果风险事件主配置开启上报
-        if (eventReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
+        if (eventReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())) {
 
             //logger.info("【##】2.检索安全风险事件...");
             //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
             List<PreventRiskEvent> riskEvents = preventRiskEventService.listReportEvent();
             //获取上报数据对象与list
             List<PreventCJReportRiskEvent> CJEventLists = new ArrayList<>();
-            if (ObjectUtils.isNotEmpty(riskEvents)){
+            if (ObjectUtils.isNotEmpty(riskEvents)) {
                 //遍历,封装数据
                 for (PreventRiskEvent riskEvent : riskEvents) {
                     //String eventUuid = UUID.randomUUID().toString();
@@ -217,9 +222,9 @@
                     //封装上报昌吉州风险事件数据
                     CJReportRiskEvent.setId(riskEvent.getUuid());
                     CJReportRiskEvent.setCompanyCode(companyCode);
-                    if (riskEvent.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
+                    if (riskEvent.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())) {
                         CJReportRiskEvent.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
-                    }else {
+                    } else {
                         CJReportRiskEvent.setDeleted("0");
                     }
                     CJReportRiskEvent.setCreateBy(riskEvent.getCreateByUserName());
@@ -228,6 +233,8 @@
                     CJReportRiskEvent.setUpdateDate(riskEvent.getGmtModitify());
                     CJReportRiskEvent.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     CJReportRiskEvent.setReportTime(null);
+                    CJReportRiskEvent.setZhunReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    CJReportRiskEvent.setZhunReportTime(null);
                     CJReportRiskEvent.setDataSource((byte) 1);
                     PreventRiskUnitUuid riskUnitUuidByUnitId = preventRiskUnitUuidService.getRiskUnitUuidByUnitId(riskEvent.getRiskUnitId());
                     CJReportRiskEvent.setRiskUnitId(riskUnitUuidByUnitId.getRiskUnitUuid());
@@ -241,18 +248,18 @@
                     handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     preventRiskEventService.updateEventReportStatus(handlerReportParam);
                 }
-            }else {
-                logger.info("【双重预防】当前无安全风险事件数据需要处理");
+            } else {
+                log.info("【双重预防】当前无安全风险事件数据需要处理");
             }
             //写入昌吉州转换表
             for (PreventCJReportRiskEvent CJEvent : CJEventLists) {
                 CJEventService.insertEventLists(CJEvent);
-                logger.info("【双重预防】2.风险分析事件CJ:数据处理...");
+                log.info("【双重预防】2.风险分析事件CJ:数据处理...");
             }
             step = 3;
-        }else {
+        } else {
             step = 3;
-            logger.info("安全风险事件数据上报已关闭");
+            log.info("安全风险事件数据上报已关闭");
         }
 
 
@@ -262,7 +269,7 @@
         //读取安全风险管控措施数据上报主配置信息
         PreventReportConfig measureReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_MEASURE.getCode());
         //如果安全风险管控措施主配置开启上报
-        if (measureReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
+        if (measureReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())) {
             //logger.info("{【##】3.检索安全风险管控措施...");
 
             //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
@@ -271,7 +278,7 @@
             List<PreventCJReportRiskControlMeasure> CJMeasureLists = new ArrayList<>();
             HandlerReportParam handlerReportParam = new HandlerReportParam();
 
-            if (ObjectUtils.isNotEmpty(measures)){
+            if (ObjectUtils.isNotEmpty(measures)) {
                 //遍历,封装数据
                 for (PreventRiskControlMeasure measure : measures) {
                     String measureUuid = UUID.randomUUID().toString();
@@ -284,9 +291,9 @@
                     //封装上报昌吉州管控措施数据
                     CJReportMeasure.setId(measure.getUuid());
                     CJReportMeasure.setCompanyCode(companyCode);
-                    if (measure.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
+                    if (measure.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())) {
                         CJReportMeasure.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
-                    }else {
+                    } else {
                         CJReportMeasure.setDeleted("0");
                     }
                     CJReportMeasure.setCreateBy(measure.getCreateByUserName());
@@ -295,6 +302,8 @@
                     CJReportMeasure.setUpdateDate(measure.getGmtModitify());
                     CJReportMeasure.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     CJReportMeasure.setReportTime(null);
+                    CJReportMeasure.setZhunReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    CJReportMeasure.setZhunReportTime(null);
                     CJReportMeasure.setDataSource((byte) 1);
                     CJReportMeasure.setRiskEventId(measure.getRiskEventUuid());
                     CJReportMeasure.setRiskMeasureDesc(measure.getMeasureDesc());
@@ -314,8 +323,8 @@
                     handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     preventRiskControlMeasureService.updateMeasureReportStatus(handlerReportParam);
                 }
-            }else {
-                logger.info("【双重预防】当前无安全风险管控措施数据需要处理");
+            } else {
+                log.info("【双重预防】当前无安全风险管控措施数据需要处理");
             }
 
             step = 4;
@@ -324,11 +333,11 @@
             for (PreventCJReportRiskControlMeasure CJMeasure : CJMeasureLists) {
                 CJMeasureService.insertMeasureList(CJMeasure);
 
-                logger.info("【双重预防】3.安全风险管控措施CJ:数据处理...");
+                log.info("【双重预防】3.安全风险管控措施CJ:数据处理...");
             }
-        }else {
+        } else {
             step = 4;
-            logger.info("安全风险管控措施数据上报已关闭");
+            log.info("安全风险管控措施数据上报已关闭");
         }
 
         /**
@@ -337,15 +346,15 @@
         //读取任务配置数据上报主配置信息
         PreventReportConfig workReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode());
         //如果任务配置主配置开启上报
-        if (workReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
-          //  logger.info("【##】4.检索任务配置...");
+        if (workReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())) {
+            //  logger.info("【##】4.检索任务配置...");
             //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
             List<PreventRiskJobAndMeasure> works = preventRiskJobAndMeasureService.listReportWork();
             //获取上报数据对象与list
             List<PreventCJReportCheckTaskFromWork> CJTaskFromWorkLists = new ArrayList<>();
             HandlerReportParam handlerReportParam = new HandlerReportParam();
-
-            if (ObjectUtils.isNotEmpty(works)){
+            log.info("检索任务配置开始执行,{}", works.size());
+            if (ObjectUtils.isNotEmpty(works)) {
                 //遍历,封装数据
                 for (PreventRiskJobAndMeasure work : works) {
                     //通过work中的信息,查询主表数据
@@ -353,22 +362,22 @@
                     //获取数据对象
                     PreventCJReportCheckTaskFromWork CJTaskFromWork = new PreventCJReportCheckTaskFromWork();
                     //转换时间周期单位 (1小时,2日,3周,4月,5年)
-                    if (jobById.getTroubleshootTypeCycleType() == 1){
+                    if (jobById.getTroubleshootTypeCycleType() == 1) {
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("小时");
                         CJTaskFromWork.setWorkStartTime("00:00:00");
                         CJTaskFromWork.setWorkEndTime("23:59:59");
-                    }else if (jobById.getTroubleshootTypeCycleType() == 2){
+                    } else if (jobById.getTroubleshootTypeCycleType() == 2) {
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("天");
-                    }else if (jobById.getTroubleshootTypeCycleType() == 3){
+                    } else if (jobById.getTroubleshootTypeCycleType() == 3) {
                         Long num = jobById.getTroubleshootTypeCycleNum() * 7;
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(num));
                         CJTaskFromWork.setCheckCycleUnit("天");
-                    }else if (jobById.getTroubleshootTypeCycleType() == 4){
+                    } else if (jobById.getTroubleshootTypeCycleType() == 4) {
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("月");
-                    }else if (jobById.getTroubleshootTypeCycleType() == 5){
+                    } else if (jobById.getTroubleshootTypeCycleType() == 5) {
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("年");
                     }
@@ -376,34 +385,36 @@
                     User createUser = new User();
                     User updateUser = new User();
                     createUser = trUserService.getUserByLoginName(jobById.getCreateBy());
-                    if(ObjectUtils.isEmpty(createUser)){
+                    if (ObjectUtils.isEmpty(createUser)) {
                         createUser = trUserService.getUserByName(jobById.getCreateBy());
                     }
 
                     updateUser = trUserService.getUserByLoginName(jobById.getUpdateBy());
-                    if(ObjectUtils.isEmpty(updateUser)){
+                    if (ObjectUtils.isEmpty(updateUser)) {
                         updateUser = trUserService.getUserByName(jobById.getUpdateBy());
                     }
 
                     //封装上报昌吉州任务配置数据
                     CJTaskFromWork.setId(work.getJobUuid());
                     CJTaskFromWork.setCompanyCode(companyCode);
-                    if (work.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
+                    if (work.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())) {
                         CJTaskFromWork.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
-                    }else {
+                    } else {
                         CJTaskFromWork.setDeleted("0");
                     }
                     CJTaskFromWork.setCreateBy(createUser.getUserName());
                     CJTaskFromWork.setCreateDate(jobById.getCreateTime());
-                    if (ObjectUtils.isEmpty(updateUser)){
+                    if (ObjectUtils.isEmpty(updateUser)) {
                         CJTaskFromWork.setUpdateBy(createUser.getUserName());
                         CJTaskFromWork.setUpdateDate(jobById.getCreateTime());
-                    }else {
+                    } else {
                         CJTaskFromWork.setUpdateBy(updateUser.getUserName());
                         CJTaskFromWork.setUpdateDate(jobById.getCreateTime());
                     }
                     CJTaskFromWork.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     CJTaskFromWork.setReportTime(null);
+                    CJTaskFromWork.setZhunReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    CJTaskFromWork.setZhunReportTime(null);
                     CJTaskFromWork.setDataSource((byte) 1);
                     CJTaskFromWork.setRiskMeasureId(work.getMeasureUuid());
                     CJTaskFromWork.setWorkId(jobById.getJobId());
@@ -419,7 +430,7 @@
                     for (PreventTaskType taskType : typeByJobId) {
                         typeTag = taskType.getType();
                     }
-                    if (typeTag !=0){
+                    if (typeTag != 0) {
                         CJTaskFromWork.setTaskNum("1");
                     }
                     CJTaskFromWork.setWorkType(String.valueOf(typeTag));
@@ -432,17 +443,18 @@
                     handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                     preventRiskJobAndMeasureService.updateWorkReportStatus(handlerReportParam);
                 }
-            }else {
-                logger.info("【双重预防】当前无任务配置数据需要处理");
+            } else {
+                log.info("【双重预防】当前无任务配置数据需要处理");
             }
             //写入上报昌吉州数据转换表
+            log.info("【双重预防】任务配置CJ数量:{}", CJTaskFromWorkLists.size());
             for (PreventCJReportCheckTaskFromWork CJTaskFromWorks : CJTaskFromWorkLists) {
                 CJTaskFromWorkService.insertTaskFromWorkList(CJTaskFromWorks);
-                logger.info("【双重预防】任务配置CJ:数据处理...");
+                log.info("【双重预防】任务配置CJ:数据处理...");
             }
-        }else {
+        } else {
             step = 5;
-            logger.info("任务配置数据上报已关闭");
+            log.info("任务配置数据上报已关闭");
         }
 
 
@@ -452,10 +464,10 @@
         //读取安全风险管控措施数据上报主配置信息
         PreventReportConfig recordReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG__CHECK_RECORD.getCode());
         //如果安全风险管控措施主配置开启上报
-        if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
+        if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())) {
 
             //logger.info("【##】5.检索排查任务记录数据...");
-            System.out.println("【##】5.检索排查任务记录数据...");
+            log.info("【##】5.检索排查任务记录数据...");
 
             //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
             List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listReportTask();
@@ -465,7 +477,7 @@
             int tag = 0;
 //            HandlerReportParam handlerReportParam = new HandlerReportParam();
 //            List<HandlerReportParam> handlerReportParamList = new ArrayList<>();
-            if (ObjectUtils.isNotEmpty(tasks)){
+            if (ObjectUtils.isNotEmpty(tasks)) {
                 //获取信息
                 List<User> allUserList = trUserService.getAllUser();
                 List<PreventRiskControlMeasure> allMeasureList = preventRiskControlMeasureService.getAllMeasureList();
@@ -476,19 +488,19 @@
                     HiddenDangerCheck hiddenDangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(task.getCheckId());
                     //转换检查结果
                     //如果已经执行过,进入方法
-                    if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1){
+                    if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1) {
 
                         List<HiddenDangerCheckPoint> hiddenDangerCheckPointList = trHiddenDangerCheckPointService.getHiddenDangerCheckPointByCheckId(task.getCheckId());
 
                         //避免个别任务无检查点的情况
                         if (ObjectUtils.isEmpty(hiddenDangerCheckPointList)) {
-                            logger.info("【双重预防】排查任务记录CJ:异常,无检查点...");
-                        }else {
+                            log.info("【双重预防】排查任务记录CJ:异常,无检查点...");
+                        } else {
                             for (HiddenDangerCheckPoint hiddenDangerCheckPoint : hiddenDangerCheckPointList) {
                                 //获取上报数据对象
                                 PreventCJReportCheckRecordFromTask CJRecordFromTask = new PreventCJReportCheckRecordFromTask();
                                 CJRecordFromTask.setCheckStatus("0");// 0-正常;1-存在隐患;2-未处理;3-其他
-                                if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1){
+                                if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1) {
                                     CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他
                                 }
 
@@ -503,21 +515,20 @@
 
                                 // todo 取出所有用户信息,再循环在匹配
                                 for (User user : allUserList) {
-                                    if (hiddenDangerCheckById.getCreateBy().equals(user.getLoginName())){
+                                    if (hiddenDangerCheckById.getCreateBy().equals(user.getLoginName())) {
                                         createUser = user;
                                     }
-                                    if (hiddenDangerCheckById.getUpdateBy().equals(user.getLoginName())){
+                                    if (hiddenDangerCheckById.getUpdateBy().equals(user.getLoginName())) {
                                         updateUser = user;
                                     }
                                 }
-                                if(ObjectUtils.isEmpty(createUser)){
+                                if (ObjectUtils.isEmpty(createUser)) {
                                     for (User user : allUserList) {
-                                        if (hiddenDangerCheckById.getCreateBy().equals(user.getUserName())){
+                                        if (hiddenDangerCheckById.getCreateBy().equals(user.getUserName())) {
                                             createUser = user;
                                         }
                                     }
                                 }
-
 
 
                                 //封装上报昌吉州的任务数据
@@ -527,23 +538,25 @@
                                 CJRecordFromTask.setCreateBy(createUser.getUserName());
                                 CJRecordFromTask.setCreateDate(hiddenDangerCheckById.getCreateTime());
                                 CJRecordFromTask.setCreateByMobile(createUser.getPhonenumber());
-                                if (ObjectUtils.isEmpty(updateUser)){
+                                if (ObjectUtils.isEmpty(updateUser)) {
                                     CJRecordFromTask.setUpdateBy(createUser.getUserName());
                                     CJRecordFromTask.setUpdateDate(hiddenDangerCheckById.getCreateTime());
                                     CJRecordFromTask.setUpdateByMobile(createUser.getPhonenumber());
-                                }else {
+                                } else {
                                     CJRecordFromTask.setUpdateBy(updateUser.getUserName());
                                     CJRecordFromTask.setUpdateDate(hiddenDangerCheckById.getUpdateTime());
                                     CJRecordFromTask.setUpdateByMobile(updateUser.getPhonenumber());
                                 }
 
-                                if (task.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
+                                if (task.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())) {
                                     CJRecordFromTask.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
-                                }else {
+                                } else {
                                     CJRecordFromTask.setDeleted("0");
                                 }
                                 CJRecordFromTask.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                                 CJRecordFromTask.setReportTime(null);
+                                CJRecordFromTask.setZhunReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                                CJRecordFromTask.setZhunReportTime(null);
                                 CJRecordFromTask.setDataSource((byte) 1);
                                 List<PreventRiskDangerCheckAndMeasure> baseCheckPointAndMeasure = riskDangerCheckAndMeasureService.getByBaseCheckPointId(hiddenDangerCheckPoint.getCheckPointId());
                                 //获取该条记录对应的管控措施id,
@@ -557,15 +570,27 @@
 //                                PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(preventRiskControlMeasureById.getUuid(), task.getJobId());
 //                                CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId());
                                 // todo 取出所有措施,再循环在匹配
+                                boolean checkTaskIdExist = true;
                                 for (PreventRiskControlMeasure measure : allMeasureList) {
-                                    if (controlMeasureId.equals(measure.getId())){
+                                    if (controlMeasureId.equals(measure.getId())) {
                                         //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid
+
                                         PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(measure.getUuid(), task.getJobId());
-                                        CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId());
+                                        try {
+                                            //  if(preventCJReportCheckTaskFromWork!=null) {
+                                            CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId());
+                                            //}
+                                        } catch (Exception e) {
+                                            checkTaskIdExist = false;
+                                            log.info("chekcPointId={},PreventRiskDangerCheckLogId={},controlMeasureId={},measure uuid={},jobId={}", hiddenDangerCheckPoint.getId(), task.getId(), controlMeasureId, measure.getUuid(), task.getJobId());
+                                            log.error(e.getMessage());
+                                        }
                                     }
                                 }
 
-
+                                if (!checkTaskIdExist) {
+                                    continue;
+                                }
                                 CJRecordFromTask.setCheckTime(hiddenDangerCheckById.getCheckTime());
                                 CJRecordFromTask.setTaskId(task.getCheckId());
                                 //第二版标准新增
@@ -581,8 +606,8 @@
 
                                 // todo 取出所有任务信息表,再循环在匹配
                                 for (PreventTaskType taskType : allTaskTypeList) {
-                                    if (taskType.getJobId().equals(task.getJobId())){
-                                        if (taskType.getType()!= 0) {
+                                    if (taskType.getJobId().equals(task.getJobId())) {
+                                        if (taskType.getType() != 0) {
                                             typeTag = 1;
                                         }
                                     }
@@ -595,39 +620,48 @@
                             }
                         }
 
-                            //设置原始数据上报状态
+                        //设置原始数据上报状态
 //                            handlerReportParam.setId(task.getId());
 //                            handlerReportParam.setReportTime(new Date());
 //                            handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
 //                            handlerReportParamList.add(handlerReportParam);
 //                            preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam);
-                            int i = 1;
+                        int i = 1;
                         taskIds.add(task.getId());
-                        tag ++;
+                        tag++;
                     }
-                    System.out.println("【##】5.数据封装完成...");
+                    log.info("【##】5.数据封装完成...");
 
                 }
-            }else {
-                logger.info("【双重预防】当前无排查任务记录需要处理");
+            } else {
+                log.info("【双重预防】当前无排查任务记录需要处理");
             }
 
-            if (CJRecordFromTaskLists.size() > 0){
-                logger.info("【双重预防】排查任务记录CJ:数据处理...");
+            if (CJRecordFromTaskLists.size() > 0) {
+                log.info("【双重预防】排查任务记录CJ:数据处理...");
+                log.info("【双重预防】排查任务记录CJ:数据处理开始taskIds..." + JSONObject.toJSONString(taskIds));
+
+
                 //设置原始数据状态
                 int taskUpdateResult = preventRiskDangerCheckLogService.updateTaskReportStatusByList(taskIds);
-                if (taskUpdateResult < taskIds.size()){
+                if (taskUpdateResult < taskIds.size()) {
+                    log.error("【双重预防】排查任务记录CJ:数据处理开始taskIds...排查任务记录原始数据更新失败, 取消操作");
                     throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录原始数据更新失败, 取消操作");
                 }
+
+                log.info("【双重预防】排查任务记录CJ:数据处理开始CJRecordFromTaskLists..." + JSONObject.toJSONString(CJRecordFromTaskLists));
                 int result = CJTaskRecordService.insertRecordList(CJRecordFromTaskLists);
-                if (result < CJRecordFromTaskLists.size()){
+                if (result < CJRecordFromTaskLists.size()) {
+                    log.error("【双重预防】排查任务记录CJ:数据处理开始taskIds...排查任务记录插入失败, 取消操作");
                     throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败, 取消操作");
                 }
+
+
             }
             step = 6;
-        }else {
+        } else {
             step = 6;
-            logger.info("排查任务记录数据上报已关闭");
+            log.info("排查任务记录数据上报已关闭");
         }
 
 
@@ -637,7 +671,7 @@
         //读取安全风险管控措施数据上报主配置信息
         PreventReportConfig dangerReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
         //如果安全风险管控措施主配置开启上报
-        if (dangerReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
+        if (dangerReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())) {
 
             //logger.info("【##】6.检索隐患数据...");
 
@@ -646,7 +680,7 @@
             //获取上报数据list
             List<PreventCJReportDangerInfo> CJDangerInfoLists = new ArrayList<>();
 
-            if (ObjectUtils.isNotEmpty(dangerManages)){
+            if (ObjectUtils.isNotEmpty(dangerManages)) {
                 HandlerReportParam handlerReportParam = new HandlerReportParam();
                 //遍历,封装数据
                 for (PreventRiskDangerInfo dangerManage : dangerManages) {
@@ -660,12 +694,12 @@
                     User createUser = new User();
                     createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());
 //                    createUser = trUserService.getUserByLoginName("guotai");
-                    if(ObjectUtils.isEmpty(createUser)){
+                    if (ObjectUtils.isEmpty(createUser)) {
                         createUser = trUserService.getUserByName(hiddenDanger.getCreateBy());
                     }
                     User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy());
 //                    User updateUser = trUserService.getUserByLoginName("guotai");
-                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){
+                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())) {
                         User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName());
                         //登记人信息
                         CJDangerInfo.setRegistrant(registerUser.getUserName());//登记人
@@ -673,14 +707,25 @@
                     }
 
                     CJDangerInfo.setCost(String.valueOf(0));//初始值给0
-                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRectifyUserName())){
+                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRectifyUserName())) {
                         User rectifyUser = trUserService.getUserByLoginName(hiddenDanger.getRectifyUserName());
                         //整改人信息
                         CJDangerInfo.setLiablePerson(rectifyUser.getUserName());//整改责任人
-                        CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金
+                        if (!StringUtils.isEmpty(hiddenDanger.getRectifyFund())) {
+                            String REGEX_CHINESE = "[\u4e00-\u9fa5]";// 中文正则
+                            String cost = hiddenDanger.getRectifyFund().replaceAll(REGEX_CHINESE, "").trim();
+                            if (StringUtils.isEmpty(cost)) {
+                                CJDangerInfo.setCost(null);//资金
+                            } else {
+                                CJDangerInfo.setCost(cost);//资金
+                            }
+                        } else {
+                            CJDangerInfo.setCost(null);//资金
+                        }
+
                     }
 
-                    if (ObjectUtils.isNotEmpty(hiddenDanger.getAcceptUserName())){
+                    if (ObjectUtils.isNotEmpty(hiddenDanger.getAcceptUserName())) {
                         //验收人信息
                         CJDangerInfo.setCheckAcceptPerson(hiddenDanger.getAcceptUserName());//验收人
                         CJDangerInfo.setCheckAcceptComment(hiddenDanger.getAcceptOpinion());//验收情况
@@ -712,35 +757,37 @@
                     CJDangerInfo.setCreateBy(createUser.getUserName());
                     CJDangerInfo.setCreateDate(hiddenDanger.getCreateTime());
 
-                    if (ObjectUtils.isEmpty(updateUser)){
+                    if (ObjectUtils.isEmpty(updateUser)) {
                         CJDangerInfo.setUpdateBy(createUser.getUserName());
                         CJDangerInfo.setUpdateDate(hiddenDanger.getCreateTime());
-                    }else {
+                    } else {
                         CJDangerInfo.setUpdateBy(updateUser.getUserName());
                         CJDangerInfo.setUpdateDate(hiddenDanger.getUpdateTime());
                     }
                     // todo 2024-07-01 需要检查
                     CJDangerInfo.setHazardCategory("0");
-                    if (dangerManage.getId() <= 383){
+                    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.setZhunReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+                    CJDangerInfo.setZhunReportTime(null);
                     CJDangerInfo.setDataSource((byte) 1);
                     CJDangerInfo.setDangerName(hiddenDanger.getDangerName());
                     CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel());
                     CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString());
-                    if (hiddenDanger.getRectifyType().equals("1")){
+                    if (hiddenDanger.getRectifyType().equals("1")) {
                         CJDangerInfo.setDangerManageType("0");
-                    }else {
+                    } else {
                         CJDangerInfo.setDangerManageType("1");
                     }
                     CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());
                     CJDangerInfo.setDangerReason(dangerManage.getDangerReason());
                     CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());
-                    if (ObjectUtils.isNotEmpty(dangerManage.getDangerState())){
+                    if (ObjectUtils.isNotEmpty(dangerManage.getDangerState())) {
                         CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());
                     }
                     CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());
@@ -754,24 +801,22 @@
                     //修改隐患信息附属表状态
                     preventRiskDangerInfoService.updateDangerInfoReportStatus(handlerReportParam);
                 }
-            }else {
-                logger.info("【双重预防】当前无隐患信息需要处理");
+            } else {
+                log.info("【双重预防】当前无隐患信息需要处理");
             }
 
             //插入上报昌吉州转换表
             for (PreventCJReportDangerInfo CJDanger : CJDangerInfoLists) {
-                logger.info("【双重预防】隐患信息插入...");
+                log.info("【双重预防】隐患信息插入...");
                 int result = CJDangerInfoService.insert(CJDanger);
-                if (result < 0){
+                if (result < 0) {
                     throw new AusinessException(E.ADD_FAIL.getCode(), "隐患信息插入失败");
                 }
-                logger.info("【双重预防】隐患信息:数据处理...");
+                log.info("【双重预防】隐患信息:数据处理...");
             }
-        }else {
-            logger.info("隐患信息数据上报已关闭");
+        } else {
+            log.info("隐患信息数据上报已关闭");
         }
-
-
 
 
 //        /**
@@ -842,12 +887,6 @@
 //            logger.info("检修记录数据上报已关闭");
 //        }
 //
-
-
-
-
-
-
 
 
 //         TODO 目前应急厅没有风险点概念,此处暂时不写。目前看,风险点概念,类似管控措施,对用某个具体的风险位置

--
Gitblit v1.9.2