From ac8870aae3ec2b5ec5315cc668b482858195cfa4 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期五, 04 七月 2025 15:14:52 +0800
Subject: [PATCH] 优化处理

---
 src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerReportController.java |    6 +++
 src/main/java/com/ruoyi/project/mobile/service/ApiHiddenDangerCheckService.java             |   21 ++++++++--
 src/main/java/com/ruoyi/project/mobile/service/ApiDangerScheduleService.java                |   23 +++++++++--
 src/main/java/com/ruoyi/project/mobile/service/ApiDangerReportService.java                  |   14 +++++++
 4 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/project/mobile/service/ApiDangerReportService.java b/src/main/java/com/ruoyi/project/mobile/service/ApiDangerReportService.java
index 7ddbe16..adbd51f 100644
--- a/src/main/java/com/ruoyi/project/mobile/service/ApiDangerReportService.java
+++ b/src/main/java/com/ruoyi/project/mobile/service/ApiDangerReportService.java
@@ -6,6 +6,7 @@
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.security.ShiroUtils;
+import com.ruoyi.doublePrevention.service.RiskService;
 import com.ruoyi.doublePrevention.service.baseService.PreventRiskDangerConfirmLogService;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -23,6 +24,7 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
@@ -49,6 +51,9 @@
 
     @Autowired
     private PreventRiskDangerConfirmLogService confirmLogService;
+
+    @Autowired
+    private RiskService riskService;
 
     /**
      * 获取隐患上报列表
@@ -130,6 +135,7 @@
     /**
      * 新增保存隐患上报------登记隐患
      */
+    @Transactional
     public ApiResult addDangerReportSave(String str, ApiRequestHeader header) {
         //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
         ApiRequestHeader requestHeader = getHeader(header);
@@ -144,6 +150,9 @@
             }
             if (ObjectUtils.isEmpty(hdcp.getFindTime())){
                 throw new RuntimeException("发现时间不能为空");
+            }
+            if (ObjectUtils.isEmpty(hdcp.getDangerSrc())){
+                throw new RuntimeException("隐患来源不能为空");
             }
             hdc.setCreateBy(header.loginName);//创建者
             hdc.setCreateTime(DateUtils.getNowDate());//获取创建时间
@@ -168,6 +177,11 @@
 
             hdcp.setCompanyId(user.getCompanyId());
             int result = hdcpService.insertHiddenDangerCheckPoint(hdcp);
+            //20250623增加此逻辑
+            int result1 = riskService.insertDangerInfo(hdcp.getId(), hdcp);
+            if (result1< 1){
+                throw new RuntimeException("添加隐患附属信息失败");
+            }
 
             hdcpService.getTaskCountTotal(Long.valueOf(header.userId));//查询未执行任务总数量并推送
 
diff --git a/src/main/java/com/ruoyi/project/mobile/service/ApiDangerScheduleService.java b/src/main/java/com/ruoyi/project/mobile/service/ApiDangerScheduleService.java
index 9069f25..a819682 100644
--- a/src/main/java/com/ruoyi/project/mobile/service/ApiDangerScheduleService.java
+++ b/src/main/java/com/ruoyi/project/mobile/service/ApiDangerScheduleService.java
@@ -9,6 +9,7 @@
 import com.ruoyi.common.utils.security.ShiroUtils;
 import com.ruoyi.doublePrevention.entity.PreventRiskDangerCheckAndMeasure;
 import com.ruoyi.doublePrevention.entity.PreventRiskDangerCheckLog;
+import com.ruoyi.doublePrevention.entity.PreventRiskDangerInfo;
 import com.ruoyi.doublePrevention.service.RiskService;
 import com.ruoyi.doublePrevention.service.baseService.PreventRiskDangerCheckAndMeasureService;
 import com.ruoyi.framework.web.domain.AjaxResult;
@@ -215,6 +216,9 @@
             if (ObjectUtils.isEmpty(hdcp.getFindTime())){
                 throw new RuntimeException("发现时间不能为空");
             }
+            if(ObjectUtils.isEmpty(hdcp.getDangerSrc())){
+                throw new RuntimeException("隐患来源不能为空");
+            }
             hdcp.setUpdateBy(header.loginName);
             hdcp.setUpdateTime(DateUtils.getNowDate());
             hdcp.setRegisterCreateTime(DateUtils.getNowDate());//设置隐患登记上报创建时间
@@ -269,11 +273,20 @@
                 hdcp.setUpdateTime(DateUtils.getNowDate());
                 i = hdcpService.updateHiddenDangerCheckPoint(hdcp);
 
-                // todo-2022 此处修改附属表 20250623 放开
-                int result = riskService.updateDangerInfo(hdcp);
-                if (result < 1){
-                    throw new RuntimeException("修改失败");
+                PreventRiskDangerInfo dangerInfoByDangerCheckPointId = riskService.getDangerInfoByDangerCheckPointId(hdcp.getId());
+                if (dangerInfoByDangerCheckPointId != null){
+                    // todo-2022 此处修改附属表 20250623 放开
+                    int result = riskService.updateDangerInfo(hdcp);
+                    if (result < 1){
+                        throw new RuntimeException("修改失败");
+                    }
+                }else {
+                    int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
+                    if (result < 1){
+                        throw new RuntimeException("修改失败");
+                    }
                 }
+
 //                int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
 //                if (result< 1){
 //                    throw new RuntimeException("添加隐患附属信息失败");
@@ -286,7 +299,7 @@
 
             return ApiResult.success("定时隐患排查--隐患登记--成功");
         } catch (Exception e) {
-            return ApiResult.error("异常");
+            return ApiResult.error(e.getMessage());
         }
     }
 }
diff --git a/src/main/java/com/ruoyi/project/mobile/service/ApiHiddenDangerCheckService.java b/src/main/java/com/ruoyi/project/mobile/service/ApiHiddenDangerCheckService.java
index bf3b915..9dfc64f 100644
--- a/src/main/java/com/ruoyi/project/mobile/service/ApiHiddenDangerCheckService.java
+++ b/src/main/java/com/ruoyi/project/mobile/service/ApiHiddenDangerCheckService.java
@@ -437,6 +437,7 @@
     /**
      * 隐患计划执行中---隐患登记
      */
+    @Transactional
     public ApiResult editPointDangerRegisterSave(String str, ApiRequestHeader header) {
         //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
         ApiRequestHeader requestHeader = getHeader(header);
@@ -450,6 +451,9 @@
             }
             if (ObjectUtils.isEmpty(hdcp.getFindTime())){
                 throw new RuntimeException("发现时间不能为空");
+            }
+            if(ObjectUtils.isEmpty(hdcp.getDangerSrc())){
+                throw new RuntimeException("隐患来源不能为空");
             }
             hdcp.setRegisterCreateTime(DateUtils.getNowDate());//设置隐患登记上报创建时间
             hdcp.setRegisterUserId(Long.valueOf(header.userId));//设置隐患登记上报创建人ID
@@ -488,9 +492,18 @@
                 hdcp.setUpdateTime(DateUtils.getNowDate());
                 i = hdcpService.updateHiddenDangerCheckPoint(hdcp);
                 //20250623增加此逻辑
-                int result = riskService.updateDangerInfo(hdcp);
-                if (result < 1){
-                    throw new RuntimeException("修改失败");
+                PreventRiskDangerInfo dangerInfoByDangerCheckPointId = riskService.getDangerInfoByDangerCheckPointId(hdcp.getId());
+                if (dangerInfoByDangerCheckPointId != null){
+                    // todo-2022 此处修改附属表 20250623 放开
+                    int result = riskService.updateDangerInfo(hdcp);
+                    if (result < 1){
+                        throw new RuntimeException("修改失败");
+                    }
+                }else {
+                    int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
+                    if (result < 1){
+                        throw new RuntimeException("修改失败");
+                    }
                 }
             }
 
@@ -498,7 +511,7 @@
 
             return ApiResult.success("隐患排查计划执行--隐患登记--成功");
         } catch (Exception e) {
-            return ApiResult.error("异常");
+            return ApiResult.error(e.getMessage());
         }
     }
 
diff --git a/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerReportController.java b/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerReportController.java
index 011702a..1daba73 100644
--- a/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerReportController.java
+++ b/src/main/java/com/ruoyi/project/tr/hiddenDangerCheck/controller/DangerReportController.java
@@ -169,6 +169,9 @@
         if (ObjectUtils.isEmpty(hdcp.getFindTime())){
             throw new RuntimeException("发现时间不能为空");
         }
+        if (ObjectUtils.isEmpty(hdcp.getDangerSrc())){
+            throw new RuntimeException("隐患来源不能为空");
+        }
         HiddenDangerCheck hiddenDangerCheck  = new HiddenDangerCheck();
         hiddenDangerCheck.setCreateBy(ShiroUtils.getLoginName());//创建者
         hiddenDangerCheck.setCreateTime(DateUtils.getNowDate());//获取创建时间
@@ -247,6 +250,9 @@
         if (ObjectUtils.isEmpty(hdcp.getFindTime())){
             throw new RuntimeException("发现时间不能为空");
         }
+        if (ObjectUtils.isEmpty(hdcp.getDangerSrc())){
+            throw new RuntimeException("隐患来源不能为空");
+        }
         hiddenDangerCheck.setCreateBy(ShiroUtils.getLoginName());//创建者
         hiddenDangerCheck.setCreateTime(hdcp.getRectifyCreateTime());//获取创建时间
 

--
Gitblit v1.9.2