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/mobile/service/ApiHiddenDangerCheckService.java |   91 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 81 insertions(+), 10 deletions(-)

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 8ed1f21..9dfc64f 100644
--- a/src/main/java/com/ruoyi/project/mobile/service/ApiHiddenDangerCheckService.java
+++ b/src/main/java/com/ruoyi/project/mobile/service/ApiHiddenDangerCheckService.java
@@ -7,6 +7,7 @@
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.security.ShiroUtils;
+import com.ruoyi.doublePrevention.entity.PreventRiskDangerInfo;
 import com.ruoyi.doublePrevention.service.RiskService;
 import com.ruoyi.doublePrevention.service.baseService.PreventRiskDangerCheckAndMeasureService;
 import com.ruoyi.doublePrevention.service.baseService.PreventRiskDangerConfirmLogService;
@@ -123,6 +124,17 @@
                     return ApiResult.success("传输hiddenDangerCheckType有误", new ArrayList<HiddenDangerCheck>());
                 }
                 List<HiddenDangerCheckPoint> resultList = hdcpService.selectHiddenDangerCheckPointList(hdcp);
+                for (HiddenDangerCheckPoint dangerCheckPoint : resultList) {
+                    PreventRiskDangerInfo dangerInfo = riskService.getDangerInfoByDangerCheckPointId(dangerCheckPoint.getId());
+                    if (ObjectUtils.isNotEmpty(dangerInfo)){
+                        if (ObjectUtils.isNotEmpty(dangerInfo.getDangerSrc())){
+                            dangerCheckPoint.setDangerSrc(dangerInfo.getDangerSrc());
+                        }
+                        if (ObjectUtils.isNotEmpty(dangerInfo.getReportTime())){
+                            dangerCheckPoint.setReportTime(dangerInfo.getReportTime());
+                        }
+                    }
+                }
                 return ApiResult.success("请求数据成功", resultList);
             }
         } catch (Exception e) {
@@ -169,12 +181,13 @@
             }
             return ApiResult.success("隐患核查保存成功");
         } catch (Exception e) {
-            return ApiResult.error("异常");
+            return ApiResult.error(e.getMessage());
         }
     }
     /**
      * 隐患核查--保存
      */
+    @Transactional
     public ApiResult editDangerExamineSave(String str, ApiRequestHeader header) {
         //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
         ApiRequestHeader requestHeader = getHeader(header);
@@ -184,7 +197,7 @@
         try {
             Map<String, String> map = new ObjectMapper().readValue(str, HashMap.class);
             HiddenDangerCheckPoint hdcp = new ObjectMapper().readValue(str, HiddenDangerCheckPoint.class);
-            // todo-2023 此处最终核查
+            // todo-2023
             hdcp.setUpdateBy(header.loginName);
             hdcp.setUpdateTime(DateUtils.getNowDate());
             hdcp.setExamineCreateTime(DateUtils.getNowDate());//设置核查时间
@@ -200,12 +213,27 @@
             }
 
             hdcpService.updateHiddenDangerCheckPoint(hdcp);
-
-            //此处插入隐患附属表
-            int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
-            if (result< 1){
-                throw new RuntimeException("添加隐患附属信息失败");
+            //20250623 修改此处
+            PreventRiskDangerInfo dangerInfoByDangerCheckPointId = riskService.getDangerInfoByDangerCheckPointId(hdcp.getId());
+            if (ObjectUtils.isNotEmpty(dangerInfoByDangerCheckPointId)){
+                //此处插入隐患附属表
+                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.updateCheckLog(hdcp.getId(), hdcp);
+//            if (result< 1){
+//                throw new RuntimeException("添加隐患附属信息失败");
+//            }
+
 
             HiddenDangerCheckPoint hiddenDangerCheckPoint = hiddenDangerCheckPointService.getHiddenDangerCheckPointById(hdcp.getId());
             int confirmResult = confirmLogService.saveConfirmLog(hiddenDangerCheckPoint);
@@ -217,13 +245,14 @@
 
             return ApiResult.success("隐患核查保存成功");
         } catch (Exception e) {
-            return ApiResult.error("异常");
+            return ApiResult.error(e.getMessage());
         }
     }
 
     /**
      * 隐患整改--保存
      */
+    @Transactional
     public ApiResult editDangerRectifySave(String str, ApiRequestHeader header) {
         //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
         ApiRequestHeader requestHeader = getHeader(header);
@@ -256,6 +285,7 @@
     /**
      * 整改延期--保存
      */
+    @Transactional
     public ApiResult rectifyTimeOutSave(String str, ApiRequestHeader header) {
         //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
         ApiRequestHeader requestHeader = getHeader(header);
@@ -282,6 +312,7 @@
     /**
      * 隐患验收--保存
      */
+    @Transactional
     public ApiResult editDangerAcceptSave(String str, ApiRequestHeader header) {
         //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
         ApiRequestHeader requestHeader = getHeader(header);
@@ -406,6 +437,7 @@
     /**
      * 隐患计划执行中---隐患登记
      */
+    @Transactional
     public ApiResult editPointDangerRegisterSave(String str, ApiRequestHeader header) {
         //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
         ApiRequestHeader requestHeader = getHeader(header);
@@ -414,6 +446,15 @@
         }
         try {
             HiddenDangerCheckPoint hdcp = new ObjectMapper().readValue(str, HiddenDangerCheckPoint.class);
+            if (ObjectUtils.isEmpty(hdcp.getCheckPerson())){
+                throw new RuntimeException("检查人不能为空");
+            }
+            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
             User user = userService.selectUserById(Long.valueOf(header.userId));
@@ -441,17 +482,36 @@
 
                 hdcp.setCompanyId(user.getCompanyId());
                 i = hdcpService.insertHiddenDangerCheckPoint(hdcp);
+                //20250623增加此逻辑
+                int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
+                if (result< 1){
+                    throw new RuntimeException("添加隐患附属信息失败");
+                }
             }else{
                 hdcp.setUpdateBy(user.getLoginName());
                 hdcp.setUpdateTime(DateUtils.getNowDate());
                 i = hdcpService.updateHiddenDangerCheckPoint(hdcp);
+                //20250623增加此逻辑
+                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("修改失败");
+                    }
+                }
             }
 
             hdcpService.getTaskCountTotal(Long.valueOf(header.userId));//查询未执行任务总数量并推送
 
             return ApiResult.success("隐患排查计划执行--隐患登记--成功");
         } catch (Exception e) {
-            return ApiResult.error("异常");
+            return ApiResult.error(e.getMessage());
         }
     }
 
@@ -467,6 +527,10 @@
         try {
             HiddenDangerCheckPoint hdcp = new ObjectMapper().readValue(str, HiddenDangerCheckPoint.class);
             HiddenDangerCheckPoint hiddenDangerCheckPoint = hdcpService.selectHiddenDangerCheckPointById(hdcp.getId());
+            PreventRiskDangerInfo dangerInfo = riskService.getDangerInfoByDangerCheckPointId(hiddenDangerCheckPoint.getId());
+            if (ObjectUtils.isNotEmpty(dangerInfo.getReportTime())){
+                hiddenDangerCheckPoint.setReportTime(dangerInfo.getReportTime());
+            }
             return ApiResult.success("隐患查看--成功",hiddenDangerCheckPoint);
         } catch (Exception e) {
             return ApiResult.error("异常");
@@ -561,7 +625,14 @@
                     }
                 }
             }
-
+            for (HiddenDangerCheckPoint dangerCheckPoint : resultList) {
+                PreventRiskDangerInfo dangerInfo = riskService.getDangerInfoByDangerCheckPointId(dangerCheckPoint.getId());
+                if (ObjectUtils.isNotEmpty(dangerInfo)){
+                    if (ObjectUtils.isNotEmpty(dangerInfo.getReportTime())){
+                        dangerCheckPoint.setReportTime(dangerInfo.getReportTime());
+                    }
+                }
+            }
             resultMap.put("resultList", resultList);
 
             //companyId下总的数据统计

--
Gitblit v1.9.2