From 7d096488e3622d92e398e9e38197ac9e632d2687 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 20 四月 2026 17:05:05 +0800
Subject: [PATCH] feat(inspectiontask): 添加巡检任务状态管理功能
---
src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++---------
1 files changed, 35 insertions(+), 9 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 b15c7c6..66bc2b8 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -8,7 +8,6 @@
import com.ruoyi.basic.dto.StorageBlobDTO;
import com.ruoyi.basic.mapper.StorageAttachmentMapper;
import com.ruoyi.basic.mapper.StorageBlobMapper;
-import com.ruoyi.basic.pojo.StorageAttachment;
import com.ruoyi.basic.pojo.StorageBlob;
import com.ruoyi.basic.service.StorageAttachmentService;
import com.ruoyi.common.enums.FileNameType;
@@ -35,13 +34,13 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.stream.Collectors;
-
-import static com.ruoyi.common.constant.StorageAttachmentConstants.StorageAttachmentFile;
-import static com.ruoyi.common.enums.StorageAttachmentRecordType.InspectionTasks;
/**
* @author :yys
@@ -50,6 +49,9 @@
@Service
@Slf4j
public class InspectionTaskServiceImpl extends ServiceImpl<InspectionTaskMapper, InspectionTask> implements InspectionTaskService {
+
+ private static final int INSPECTION_STATUS_PENDING = 1;
+ private static final int INSPECTION_STATUS_COMPLETED = 2;
@Autowired
@@ -85,12 +87,26 @@
@Override
public IPage<InspectionTaskDto> selectInspectionTaskList(Page<InspectionTask> page, InspectionTaskDto inspectionTaskDto) {
LambdaQueryWrapper<InspectionTask> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.orderByAsc(InspectionTask::getTimingId);
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());
+ }
+ LocalDateTime createTimeStart = inspectionTaskDto.getCreateTimeStart();
+ LocalDateTime createTimeEnd = inspectionTaskDto.getCreateTimeEnd();
+ if (createTimeStart == null && createTimeEnd == null) {
+ LocalDate today = LocalDate.now();
+ createTimeStart = today.atStartOfDay();
+ createTimeEnd = today.atTime(23, 59, 59);
+ }
+ if (createTimeStart != null) {
+ queryWrapper.ge(InspectionTask::getCreateTime, createTimeStart);
+ }
+ if (createTimeEnd != null) {
+ queryWrapper.le(InspectionTask::getCreateTime, createTimeEnd);
}
IPage<InspectionTask> entityPage = inspectionTaskMapper.selectPage(page, queryWrapper);
@@ -149,7 +165,7 @@
if(commonFiles == null){
commonFiles = new ArrayList<>();
}
- List<CommonFile> finalCommonFiles = commonFiles;
+ AtomicReference<List<CommonFile>> finalCommonFiles = new AtomicReference<>(commonFiles);
List<InspectionTaskDto> dtoList = entityPage.getRecords().stream().map(inspectionTask -> {
InspectionTaskDto dto = new InspectionTaskDto();
@@ -178,11 +194,11 @@
}
dto.setDateStr(inspectionTask.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-
+ finalCommonFiles.set(finalCommonFiles.get().stream().filter(commonFile -> commonFile.getCommonId().equals(inspectionTask.getId())).collect(Collectors.toList()));
// 鍒濆鍖栦笁涓檮浠跺垪琛�
- dto.setCommonFileList(finalCommonFiles.stream().filter(commonFile -> commonFile.getType().equals(FileNameType.INSPECTION.getValue())).collect(Collectors.toList()));
- dto.setCommonFileListAfter(finalCommonFiles.stream().filter(commonFile -> commonFile.getType().equals(FileNameType.INSPECTION_PRODUCTION_AFTER.getValue())).collect(Collectors.toList()));
- dto.setCommonFileListBefore(finalCommonFiles.stream().filter(commonFile -> commonFile.getType().equals(FileNameType.INSPECTION_PRODUCTION_BEFORE.getValue())).collect(Collectors.toList()));
+ dto.setCommonFileList(finalCommonFiles.get().stream().filter(commonFile -> commonFile.getType().equals(FileNameType.INSPECTION.getValue())).collect(Collectors.toList()));
+ dto.setCommonFileListAfter(finalCommonFiles.get().stream().filter(commonFile -> commonFile.getType().equals(FileNameType.INSPECTION_PRODUCTION_AFTER.getValue())).collect(Collectors.toList()));
+ dto.setCommonFileListBefore(finalCommonFiles.get().stream().filter(commonFile -> commonFile.getType().equals(FileNameType.INSPECTION_PRODUCTION_BEFORE.getValue())).collect(Collectors.toList()));
return dto;
@@ -230,6 +246,7 @@
public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) throws IOException {
InspectionTask inspectionTask = new InspectionTask();
BeanUtils.copyProperties(inspectionTaskDto, inspectionTask);
+ boolean hasUploadedFiles = CollectionUtils.isNotEmpty(inspectionTaskDto.getTempFileIds());
if (inspectionTask.getAreaId() == null && inspectionTask.getTaskId() != null) {
DeviceLedger deviceLedger = deviceLedgerMapper.selectById(Long.valueOf(inspectionTask.getTaskId()));
if (deviceLedger != null) {
@@ -240,8 +257,17 @@
inspectionTask.setRegistrant(SecurityUtils.getLoginUser().getUsername());
int i;
if (Objects.isNull(inspectionTaskDto.getId())) {
+ inspectionTask.setInspectionStatus(hasUploadedFiles ? INSPECTION_STATUS_COMPLETED : INSPECTION_STATUS_PENDING);
i = inspectionTaskMapper.insert(inspectionTask);
} else {
+ if (hasUploadedFiles) {
+ inspectionTask.setInspectionStatus(INSPECTION_STATUS_COMPLETED);
+ } else if (inspectionTask.getInspectionStatus() == null) {
+ InspectionTask existingTask = inspectionTaskMapper.selectById(inspectionTaskDto.getId());
+ if (existingTask != null) {
+ inspectionTask.setInspectionStatus(existingTask.getInspectionStatus());
+ }
+ }
i = inspectionTaskMapper.updateById(inspectionTask);
}
commonFileService.migrateTempFilesToFormal(inspectionTask.getId(),inspectionTaskDto.getTempFileIds());
--
Gitblit v1.9.3