From 801854b46b8ad6b003fc767e0cf85367de8843eb Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 28 七月 2026 18:12:47 +0800
Subject: [PATCH] fix: 安全设施巡检修改

---
 src/main/java/com/ruoyi/safe/service/impl/SafeFacilityRectificationServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/safe/service/impl/SafeFacilityRectificationServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeFacilityRectificationServiceImpl.java
index 85df9ee..2f87d3f 100644
--- a/src/main/java/com/ruoyi/safe/service/impl/SafeFacilityRectificationServiceImpl.java
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeFacilityRectificationServiceImpl.java
@@ -2,12 +2,17 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.StorageBlobVO;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.safe.pojo.SafeFacilityInspection;
 import com.ruoyi.safe.pojo.SafeFacilityLedger;
 import com.ruoyi.safe.pojo.SafeFacilityRectification;
 import com.ruoyi.safe.mapper.SafeFacilityRectificationMapper;
+import com.ruoyi.safe.service.SafeFacilityInspectionService;
 import com.ruoyi.safe.service.SafeFacilityLedgerService;
 import com.ruoyi.safe.service.SafeFacilityRectificationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,7 +38,11 @@
     @Autowired
     private SafeFacilityLedgerService safeFacilityLedgerService;
     @Autowired
+    private SafeFacilityInspectionService safeFacilityInspectionService;
+    @Autowired
     private SysUserMapper sysUserMapper;
+    @Autowired
+    private FileUtil fileUtil;
 
     @Override
     public SafeFacilityRectification getById(Serializable id) {
@@ -62,12 +71,26 @@
             return;
         }
 
-        // 鏀堕泦璁炬柦ID
-        List<Integer> facilityIds = records.stream()
-                .map(SafeFacilityRectification::getFacilityId)
+        List<Integer> inspectionIds = records.stream()
+                .map(SafeFacilityRectification::getInspectionId)
                 .filter(Objects::nonNull)
                 .distinct()
                 .collect(Collectors.toList());
+
+        Map<Integer, SafeFacilityInspection> inspectionMap = inspectionIds.isEmpty() ? Collections.emptyMap()
+                : safeFacilityInspectionService.listByIds(inspectionIds).stream()
+                .collect(Collectors.toMap(SafeFacilityInspection::getId, inspection -> inspection, (v1, v2) -> v1));
+
+        // 鏀堕泦璁炬柦ID
+        Set<Integer> facilityIdSet = records.stream()
+                .map(SafeFacilityRectification::getFacilityId)
+                .filter(Objects::nonNull)
+                .collect(Collectors.toSet());
+        inspectionMap.values().stream()
+                .map(SafeFacilityInspection::getFacilityId)
+                .filter(Objects::nonNull)
+                .forEach(facilityIdSet::add);
+        List<Integer> facilityIds = new ArrayList<>(facilityIdSet);
 
         // 鏀堕泦鎵�鏈夌敤鎴稩D锛堟暣鏀硅矗浠讳汉 + 楠屾敹浜猴級
         Set<Long> userIds = new HashSet<>();
@@ -85,10 +108,23 @@
                 .collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName, (v1, v2) -> v1));
 
         for (SafeFacilityRectification record : records) {
+            SafeFacilityInspection inspection = record.getInspectionId() == null ? null : inspectionMap.get(record.getInspectionId());
+            if (inspection != null) {
+                record.setInspectionCode(inspection.getInspectionCode());
+                if (record.getFacilityId() == null) {
+                    record.setFacilityId(inspection.getFacilityId());
+                }
+                List<StorageBlobVO> attachments = fileUtil.getStorageBlobVOsByRecordTypeAndRecordId(
+                        RecordTypeEnum.SAFE_FACILITY_INSPECTION,
+                        inspection.getId().longValue()
+                );
+                record.setStorageBlobVOs(attachments == null ? Collections.emptyList() : attachments);
+            }
             if (record.getFacilityId() != null) {
                 SafeFacilityLedger facility = facilityMap.get(record.getFacilityId());
                 if (facility != null) {
                     record.setFacilityName(facility.getFacilityName());
+                    record.setFacilityCode(facility.getFacilityCode());
                 }
             }
             if (record.getRectifyUserId() != null) {
@@ -119,7 +155,9 @@
             entity.setActualTime(LocalDateTime.now());
         }
         if ("宸查獙鏀�".equals(entity.getStatus())) {
-            entity.setVerifyUserId(currentUserId.intValue());
+            if (entity.getVerifyUserId() == null) {
+                entity.setVerifyUserId(currentUserId.intValue());
+            }
             entity.setVerifyTime(LocalDateTime.now());
         }
         return super.updateById(entity);

--
Gitblit v1.9.3