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