From 435a67d82b91c3a17c99e137aaba0ecb9a0d8ac5 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Wed, 17 Jun 2026 09:55:58 +0800
Subject: [PATCH] 修改仓吉和准东数据传入字段缺失数据问题

---
 src/main/java/com/ruoyi/project/tr/HiddenDangerCheckJob/util/AbstractQuartzJob.java                |    4 +-
 src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java                    |   54 ++++++++++++++++++---------
 src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerPlanFormulateController.java |    4 ++
 src/main/java/com/ruoyi/common/utils/StringUtils.java                                              |   20 ++++++++++
 4 files changed, 62 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/utils/StringUtils.java b/src/main/java/com/ruoyi/common/utils/StringUtils.java
index 88e24d8..e006ecf 100644
--- a/src/main/java/com/ruoyi/common/utils/StringUtils.java
+++ b/src/main/java/com/ruoyi/common/utils/StringUtils.java
@@ -3,12 +3,14 @@
 import java.util.Collection;
 import java.util.Map;
 import com.ruoyi.common.utils.text.StrFormatter;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * 字符串工具类
  * 
  * @author ruoyi
  */
+@Slf4j
 public class StringUtils extends org.apache.commons.lang3.StringUtils
 {
     /** 空字符串 */
@@ -327,6 +329,24 @@
     }
 
     /**
+     * 判断字符串是否为数字
+     * @param str 待判断的字符串
+     * @return true-是数字, false-不是数字
+     */
+    private boolean isNumeric(String str) {
+        if (StringUtils.isEmpty(str)) {
+            return false;
+        }
+        try {
+            Integer.parseInt(str);
+            return true;
+        } catch (NumberFormatException e) {
+            log.warn("【双重预防】dangerSources值非法: {}", str);
+            return false;
+        }
+    }
+
+    /**
      * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
      * 
      * @param name 转换前的下划线大写方式命名的字符串
diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
index 3988c76..bec60ee 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -727,24 +727,40 @@
                         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);
-//                        CJDangerInfo.setRiskMeasureId(null);
-//                    }
-                    CJDangerInfo.setCheckRecordId(null);
-                    CJDangerInfo.setRiskMeasureId(null);//默认无任务
+                    //如果排查任务正常存在,封装任务相关数据  2026-06-17开启
+                    if (StringUtils.isNotEmpty(hiddenDanger.getDangerSources())  && StringUtils.isNumeric(hiddenDanger.getDangerSources()) && Integer.parseInt(hiddenDanger.getDangerSources()) != 2){
+                        //20260617未用到注释
+                        //HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId());
+
+                        PreventRiskDangerCheckLog dangerCheckLogByCheckId = preventRiskDangerCheckLogService.getByDangerCheckByCheckId(hiddenDanger.getCheckId());
+                        if (null != dangerCheckLogByCheckId) {
+                            CJDangerInfo.setCheckRecordId(dangerCheckLogByCheckId.getUuid());//隐患排查任务记录uuid
+                        }else {
+                            CJDangerInfo.setCheckRecordId(null);
+                        }
+
+                        //找排查点,然后查措施
+                        PreventRiskCheckUnit unit = preventRiskCheckUnitService.getUnitByBaseCheckPointId(hiddenDanger.getCheckPointId());
+                        if (null != unit){
+                            //查管控措施
+                            PreventRiskControlMeasure controlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(unit.getControlMeasureId());
+                            if (null != controlMeasureById){
+                                CJDangerInfo.setRiskMeasureId(controlMeasureById.getUuid());//管控措施uuid
+                                CJDangerInfo.setControlMeasures(controlMeasureById.getCheckContent());//控制措施 ,整改措施
+                            }else {
+                                CJDangerInfo.setRiskMeasureId(null);
+                            }
+
+                        }else {
+                            CJDangerInfo.setRiskMeasureId(null);
+                        }
+
+                    }else {
+                        CJDangerInfo.setCheckRecordId(null);
+                        CJDangerInfo.setRiskMeasureId(null);
+                    }
+//                    CJDangerInfo.setCheckRecordId(null);
+//                    CJDangerInfo.setRiskMeasureId(null);//默认无任务
                     CJDangerInfo.setDeleted("0");
                     CJDangerInfo.setId(dangerManage.getUuid());
                     CJDangerInfo.setCompanyCode(companyCode);
@@ -819,6 +835,8 @@
         }
 
 
+
+
 //        /**
 //         * 7、检索检修记录数据
 //         * */
diff --git a/src/main/java/com/ruoyi/project/tr/HiddenDangerCheckJob/util/AbstractQuartzJob.java b/src/main/java/com/ruoyi/project/tr/HiddenDangerCheckJob/util/AbstractQuartzJob.java
index afefc86..c3456f2 100644
--- a/src/main/java/com/ruoyi/project/tr/HiddenDangerCheckJob/util/AbstractQuartzJob.java
+++ b/src/main/java/com/ruoyi/project/tr/HiddenDangerCheckJob/util/AbstractQuartzJob.java
@@ -266,7 +266,7 @@
                         hdcp.setId(null);
 
                         hdcp.setCompanyId(job.getCompanyId());
-//                hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_SCHEDULE_PRODUCE);//隐患来源(定时器任务生成)
+                        hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_SCHEDULE_PRODUCE);//隐患来源(定时器任务生成)
                         // 写入数据库当中
                         SpringUtils.getBean(IHiddenDangerCheckPointService.class).insertHiddenDangerCheckPoint(hdcp);
 
@@ -302,7 +302,7 @@
                         hdcp.setId(null);
 
                         hdcp.setCompanyId(job.getCompanyId());
-//                hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_SCHEDULE_PRODUCE);//隐患来源(定时器任务生成)
+                        hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_SCHEDULE_PRODUCE);//隐患来源(定时器任务生成)
                         // 写入数据库当中
                         SpringUtils.getBean(IHiddenDangerCheckPointService.class).insertHiddenDangerCheckPoint(hdcp);
 
diff --git a/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerPlanFormulateController.java b/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerPlanFormulateController.java
index ca7e8a5..3cf0696 100644
--- a/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerPlanFormulateController.java
+++ b/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerPlanFormulateController.java
@@ -346,6 +346,8 @@
                     hdcp.setStage(TrHiddenDangerCheckConstants.DANGER_STAGE_PLAN_EXECUTE);//隐患排查阶段(数据进入到隐患排查计划执行阶段)
                     hdcp.setId(null);
                     hdcp.setCompanyId(getSysUser().getCompanyId());
+                    //20260617 增加类型  隐患计划排查生成
+                    hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_PLAN_PRODUCE);
                     hiddenDangerCheckPointService.insertHiddenDangerCheckPoint(hdcp);
                 }
             });
@@ -370,6 +372,8 @@
                     hdcp.setStage(TrHiddenDangerCheckConstants.DANGER_STAGE_PLAN_EXECUTE);//隐患排查阶段(数据进入到隐患排查计划执行阶段)
                     hdcp.setId(null);
                     hdcp.setCompanyId(getSysUser().getCompanyId());
+                    //20260617 增加类型  隐患计划排查生成
+                    hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_PLAN_PRODUCE);
                     hiddenDangerCheckPointService.insertHiddenDangerCheckPoint(hdcp);
                 }
             });

--
Gitblit v1.9.2