From c477506a6d672f71c6353608f3cf3424d8026790 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 13 四月 2026 18:18:40 +0800
Subject: [PATCH] refactor(approve): 优化审批流程ID生成逻辑
---
src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
index 8c30cb3..b15c7c6 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -16,6 +16,10 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.device.mapper.DeviceAreaMapper;
+import com.ruoyi.device.mapper.DeviceLedgerMapper;
+import com.ruoyi.device.pojo.DeviceArea;
+import com.ruoyi.device.pojo.DeviceLedger;
import com.ruoyi.inspectiontask.dto.InspectionTaskDto;
import com.ruoyi.inspectiontask.mapper.InspectionTaskMapper;
import com.ruoyi.inspectiontask.pojo.InspectionTask;
@@ -72,12 +76,21 @@
@Autowired
private CommonFileServiceImpl commonFileService;
+ @Autowired
+ private DeviceLedgerMapper deviceLedgerMapper;
+
+ @Autowired
+ private DeviceAreaMapper deviceAreaMapper;
+
@Override
public IPage<InspectionTaskDto> selectInspectionTaskList(Page<InspectionTask> page, InspectionTaskDto inspectionTaskDto) {
LambdaQueryWrapper<InspectionTask> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByDesc(InspectionTask::getCreateTime);
if (StringUtils.isNotBlank(inspectionTaskDto.getTaskName())) {
queryWrapper.like(InspectionTask::getTaskName, inspectionTaskDto.getTaskName());
+ }
+ if (inspectionTaskDto.getAreaId() != null) {
+ queryWrapper.eq(InspectionTask::getAreaId, inspectionTaskDto.getAreaId());
}
IPage<InspectionTask> entityPage = inspectionTaskMapper.selectPage(page, queryWrapper);
@@ -87,6 +100,10 @@
}
// 鑾峰彇id闆嗗悎
List<Long> ids = entityPage.getRecords().stream().map(InspectionTask::getId).collect(Collectors.toList());
+ Map<Long, String> areaNameMap = buildAreaNameMap(entityPage.getRecords().stream()
+ .map(InspectionTask::getAreaId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toSet()));
//鐧昏浜篿ds
List<Long> registrantIds = entityPage.getRecords().stream().map(InspectionTask::getRegistrantId).collect(Collectors.toList());
// 鎵归噺鏌ヨ鐧昏浜�
@@ -143,6 +160,7 @@
if (sysUser != null) {
dto.setRegistrant(sysUser.getNickName());
}
+ dto.setAreaName(areaNameMap.get(inspectionTask.getAreaId()));
// 澶勭悊宸℃浜哄悕绉�
if (StringUtils.isNotBlank(inspectionTask.getInspectorId())) {
String inspectorNames = Arrays.stream(inspectionTask.getInspectorId().split(","))
@@ -177,6 +195,14 @@
return resultPage;
}
+ private Map<Long, String> buildAreaNameMap(Set<Long> areaIds) {
+ if (areaIds == null || areaIds.isEmpty()) {
+ return Collections.emptyMap();
+ }
+ return deviceAreaMapper.selectBatchIds(new ArrayList<>(areaIds)).stream()
+ .collect(Collectors.toMap(DeviceArea::getId, DeviceArea::getAreaName, (left, right) -> left));
+ }
+
// 鎻愬彇鍒涘缓BlobDTO鐨勫叕鍏辨柟娉�
private StorageBlobDTO createBlobDto(StorageBlob blob) {
StorageBlobDTO dto = new StorageBlobDTO();
@@ -204,6 +230,12 @@
public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) throws IOException {
InspectionTask inspectionTask = new InspectionTask();
BeanUtils.copyProperties(inspectionTaskDto, inspectionTask);
+ if (inspectionTask.getAreaId() == null && inspectionTask.getTaskId() != null) {
+ DeviceLedger deviceLedger = deviceLedgerMapper.selectById(Long.valueOf(inspectionTask.getTaskId()));
+ if (deviceLedger != null) {
+ inspectionTask.setAreaId(deviceLedger.getAreaId());
+ }
+ }
inspectionTask.setRegistrantId(SecurityUtils.getLoginUser().getUserId());
inspectionTask.setRegistrant(SecurityUtils.getLoginUser().getUsername());
int i;
--
Gitblit v1.9.3