From b7080587bc00e5451aa8435f093f0d8cc6f80320 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 16 十月 2026 22:39:04 +0800
Subject: [PATCH] feat: 设备巡检优化,巡检项目拆分
---
src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java | 398 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 308 insertions(+), 90 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..03bcbc2 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -6,38 +6,43 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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;
-import com.ruoyi.common.utils.MinioUtils;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.device.mapper.DeviceLedgerMapper;
+import com.ruoyi.device.mapper.DeviceRepairMapper;
+import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.device.pojo.DeviceRepair;
import com.ruoyi.inspectiontask.dto.InspectionTaskDto;
+import com.ruoyi.inspectiontask.mapper.InspectionTaskItemMapper;
import com.ruoyi.inspectiontask.mapper.InspectionTaskMapper;
import com.ruoyi.inspectiontask.pojo.InspectionTask;
+import com.ruoyi.inspectiontask.pojo.InspectionTaskItem;
import com.ruoyi.inspectiontask.service.InspectionTaskService;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
-import com.ruoyi.sales.mapper.CommonFileMapper;
-import com.ruoyi.sales.pojo.CommonFile;
-import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.io.IOException;
+import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
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
@@ -45,32 +50,25 @@
*/
@Service
@Slf4j
-public class InspectionTaskServiceImpl extends ServiceImpl<InspectionTaskMapper, InspectionTask> implements InspectionTaskService {
+@RequiredArgsConstructor
+public class InspectionTaskServiceImpl
+ extends ServiceImpl<InspectionTaskMapper, InspectionTask>
+ implements InspectionTaskService {
+ private final InspectionTaskMapper inspectionTaskMapper;
+ private final InspectionTaskItemMapper inspectionTaskItemMapper;
- @Autowired
- private InspectionTaskMapper inspectionTaskMapper;
+ private final SysUserMapper sysUserMapper;
- @Autowired
- private StorageAttachmentService storageAttachmentService;
+ private final FileUtil fileUtil;
- @Autowired
- private StorageBlobMapper storageBlobMapper;
+ private final DeviceRepairMapper deviceRepairMapper;
- @Autowired
- private StorageAttachmentMapper storageAttachmentMapper;
+ private final DeviceLedgerMapper deviceLedgerMapper;
- @Autowired
- private MinioUtils minioUtils;
-
- @Autowired
- private SysUserMapper sysUserMapper;
-
- @Autowired
- private CommonFileMapper commonFileMapper;
-
- @Autowired
- private CommonFileServiceImpl commonFileService;
+ private static final String INSPECTION_RESULT_ABNORMAL = "0";
+ private static final String INSPECTION_RESULT_NORMAL = "1";
+ private static final int REPAIR_STATUS_PENDING = 0;
@Override
public IPage<InspectionTaskDto> selectInspectionTaskList(Page<InspectionTask> page, InspectionTaskDto inspectionTaskDto) {
@@ -85,10 +83,16 @@
if (CollectionUtils.isEmpty(entityPage.getRecords())) {
return new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
}
- // 鑾峰彇id闆嗗悎
- List<Long> ids = entityPage.getRecords().stream().map(InspectionTask::getId).collect(Collectors.toList());
+ List<Long> inspectionTaskIds = entityPage.getRecords().stream().map(InspectionTask::getId).toList();
+ Map<Long, List<InspectionTaskItem>> recordItemsByTask = inspectionTaskItemMapper.selectList(
+ new LambdaQueryWrapper<InspectionTaskItem>()
+ .in(InspectionTaskItem::getInspectionTaskId, inspectionTaskIds)
+ .orderByAsc(InspectionTaskItem::getSortNum))
+ .stream().collect(Collectors.groupingBy(InspectionTaskItem::getInspectionTaskId));
//鐧昏浜篿ds
- List<Long> registrantIds = entityPage.getRecords().stream().map(InspectionTask::getRegistrantId).collect(Collectors.toList());
+ List<Long> registrantIds = entityPage.getRecords().stream()
+ .map(InspectionTask::getRegistrantId)
+ .collect(Collectors.toList());
// 鎵归噺鏌ヨ鐧昏浜�
Map<Long, SysUser> sysUserMap;
if (!registrantIds.isEmpty()) {
@@ -97,9 +101,6 @@
} else {
sysUserMap = new HashMap<>();
}
- //宸℃浜篿ds
- List<String> inspectorIds = entityPage.getRecords().stream().map(InspectionTask::getInspectorId).collect(Collectors.toList());
-
//鑾峰彇鎵�鏈変笉閲嶅鐨勭敤鎴稩D
Set<Long> allUserIds = entityPage.getRecords().stream()
.map(InspectionTask::getInspectorId) // 鑾峰彇"2,3"杩欐牱鐨勫瓧绗︿覆
@@ -118,25 +119,15 @@
// 浣跨敤SQL鎵归噺鏌ヨ鐢ㄦ埛淇℃伅
Map<Long, String> userIdToNameMap = allUserIds.isEmpty()
? Collections.emptyMap()
- : sysUserMapper.selectUsersByIds(new ArrayList<>(allUserIds))
- .stream()
- .collect(Collectors.toMap(
- SysUser::getUserId,
- SysUser::getNickName,
- (existing, replacement) -> existing));
-
- //澶勭悊闄勪欢
- List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
- .in(CommonFile::getCommonId, ids)
- .in(CommonFile::getType, Arrays.asList(FileNameType.INSPECTION.getValue(), FileNameType.INSPECTION_PRODUCTION_BEFORE.getValue(), FileNameType.INSPECTION_PRODUCTION_AFTER.getValue())));
- if(commonFiles == null){
- commonFiles = new ArrayList<>();
- }
- List<CommonFile> finalCommonFiles = commonFiles;
-
+ : sysUserMapper.selectUsersByIds(new ArrayList<>(allUserIds)).stream()
+ .collect(Collectors.toMap(
+ SysUser::getUserId,
+ SysUser::getNickName,
+ (existing, replacement) -> existing));
List<InspectionTaskDto> dtoList = entityPage.getRecords().stream().map(inspectionTask -> {
InspectionTaskDto dto = new InspectionTaskDto();
BeanUtils.copyProperties(inspectionTask, dto); // 澶嶅埗涓诲璞″睘鎬�
+ dto.setInspectionItems(recordItemsByTask.getOrDefault(inspectionTask.getId(), Collections.emptyList()));
// 璁剧疆鐧昏浜�
SysUser sysUser = sysUserMap.get(inspectionTask.getRegistrantId());
@@ -160,12 +151,13 @@
}
dto.setDateStr(inspectionTask.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-
// 鍒濆鍖栦笁涓檮浠跺垪琛�
- 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.setCommonFileListVO(fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(
+ ApplicationTypeEnum.FILE, RecordTypeEnum.INSPECTION_TASK, inspectionTask.getId()));
+ dto.setCommonFileListAfterVO(fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(
+ ApplicationTypeEnum.AFTER_FILE, RecordTypeEnum.INSPECTION_TASK, inspectionTask.getId()));
+ dto.setCommonFileListBeforeVO(fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(
+ ApplicationTypeEnum.BEFORE_FILE, RecordTypeEnum.INSPECTION_TASK, inspectionTask.getId()));
return dto;
}).collect(Collectors.toList());
@@ -177,43 +169,266 @@
return resultPage;
}
- // 鎻愬彇鍒涘缓BlobDTO鐨勫叕鍏辨柟娉�
- private StorageBlobDTO createBlobDto(StorageBlob blob) {
- StorageBlobDTO dto = new StorageBlobDTO();
- BeanUtils.copyProperties(blob, dto);
-
- // 璁剧疆URL
- dto.setUrl(minioUtils.getPreviewUrls(
- blob.getBucketFilename(),
- blob.getBucketName(),
- true
- ));
-
- // 璁剧疆涓嬭浇URL
- dto.setDownloadUrl(minioUtils.getDownloadUrls(
- blob.getBucketFilename(),
- blob.getBucketName(),
- blob.getOriginalFilename(),
- true
- ));
- return dto;
- }
-
@Override
@Transactional(rollbackFor = Exception.class)
- public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) throws IOException {
+ public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) {
+ InspectionTask oldInspectionTask = null;
+ if (Objects.nonNull(inspectionTaskDto.getId())) {
+ oldInspectionTask = inspectionTaskMapper.selectById(inspectionTaskDto.getId());
+ if (oldInspectionTask == null) {
+ throw new IllegalArgumentException("宸℃浠诲姟涓嶅瓨鍦�");
+ }
+ }
+ validateInspectionInput(inspectionTaskDto, oldInspectionTask);
+
InspectionTask inspectionTask = new InspectionTask();
BeanUtils.copyProperties(inspectionTaskDto, inspectionTask);
inspectionTask.setRegistrantId(SecurityUtils.getLoginUser().getUserId());
inspectionTask.setRegistrant(SecurityUtils.getLoginUser().getUsername());
+ fillAcceptanceInfo(inspectionTask, oldInspectionTask);
int i;
if (Objects.isNull(inspectionTaskDto.getId())) {
i = inspectionTaskMapper.insert(inspectionTask);
} else {
i = inspectionTaskMapper.updateById(inspectionTask);
}
- commonFileService.migrateTempFilesToFormal(inspectionTask.getId(),inspectionTaskDto.getTempFileIds());
+ if (i <= 0) {
+ return i;
+ }
+ if (inspectionTaskDto.getInspectionItems() != null) {
+ updateInspectionItemStatuses(inspectionTask.getId(), inspectionTaskDto);
+ }
+ Long linkedRepairId = syncRepairOrderIfAbnormal(inspectionTask, oldInspectionTask);
+ if (linkedRepairId != null && !Objects.equals(linkedRepairId, inspectionTask.getDeviceRepairId())) {
+ InspectionTask relationUpdate = new InspectionTask();
+ relationUpdate.setId(inspectionTask.getId());
+ relationUpdate.setDeviceRepairId(linkedRepairId);
+ inspectionTaskMapper.updateById(relationUpdate);
+ inspectionTask.setDeviceRepairId(linkedRepairId);
+ }
+ // 淇濆瓨鏂囦欢锛堝瓧娈典笉浼犲垯淇濈暀鍘嗗彶锛�
+ saveInspectionAttachments(inspectionTask.getId(), inspectionTaskDto);
+
return i;
+ }
+
+ private void updateInspectionItemStatuses(Long inspectionTaskId, InspectionTaskDto request) {
+ List<InspectionTaskItem> requestedItems = request.getInspectionItems();
+ List<InspectionTaskItem> currentItems = inspectionTaskItemMapper.selectList(
+ new LambdaQueryWrapper<InspectionTaskItem>()
+ .eq(InspectionTaskItem::getInspectionTaskId, inspectionTaskId));
+ Map<Long, InspectionTaskItem> currentById = currentItems.stream()
+ .collect(Collectors.toMap(InspectionTaskItem::getId, Function.identity()));
+ Set<Long> seenIds = new HashSet<>();
+ for (InspectionTaskItem requested : requestedItems) {
+ if (requested == null || requested.getId() == null
+ || requested.getItemStatus() == null
+ || (requested.getItemStatus() != 0 && requested.getItemStatus() != 1)
+ || !seenIds.add(requested.getId())) {
+ throw new IllegalArgumentException("宸℃鍐呭鐘舵�佹棤鏁�");
+ }
+ InspectionTaskItem current = currentById.get(requested.getId());
+ if (current == null) {
+ throw new IllegalArgumentException("宸℃鍐呭娓呭崟宸插彉鍖栵紝璇峰埛鏂板悗閲嶈瘯");
+ }
+ current.setItemStatus(requested.getItemStatus());
+ current.setRemarks(requested.getRemarks());
+ current.setCompletedBy(requested.getItemStatus() == 1 ? SecurityUtils.getUserId() : null);
+ current.setCompletedTime(requested.getItemStatus() == 1 ? LocalDateTime.now() : null);
+ inspectionTaskItemMapper.updateById(current);
+ }
+ }
+
+ private void validateInspectionInput(InspectionTaskDto inspectionTaskDto, InspectionTask oldInspectionTask) {
+ String inspectionResult = inspectionTaskDto.getInspectionResult();
+ if (StringUtils.isBlank(inspectionResult) && oldInspectionTask != null) {
+ inspectionResult = oldInspectionTask.getInspectionResult();
+ }
+ if (StringUtils.isBlank(inspectionResult)) {
+ throw new IllegalArgumentException("璇烽�夋嫨宸℃缁撴灉");
+ }
+ if (!INSPECTION_RESULT_ABNORMAL.equals(inspectionResult) && !INSPECTION_RESULT_NORMAL.equals(inspectionResult)) {
+ throw new IllegalArgumentException("宸℃缁撴灉浠呮敮鎸侊細0-寮傚父锛�1-姝e父");
+ }
+ inspectionTaskDto.setInspectionResult(inspectionResult);
+
+ if (!INSPECTION_RESULT_ABNORMAL.equals(inspectionResult)) {
+ return;
+ }
+
+ String abnormalDescription = inspectionTaskDto.getAbnormalDescription();
+ if (StringUtils.isBlank(abnormalDescription) && oldInspectionTask != null) {
+ abnormalDescription = oldInspectionTask.getAbnormalDescription();
+ }
+ if (StringUtils.isBlank(abnormalDescription)) {
+ throw new IllegalArgumentException("宸℃缁撴灉涓哄紓甯告椂锛屽紓甯告弿杩颁笉鑳戒负绌�");
+ }
+ inspectionTaskDto.setAbnormalDescription(abnormalDescription);
+
+ if (!hasAnyInspectionPhotoAfterSave(inspectionTaskDto, oldInspectionTask)) {
+ throw new IllegalArgumentException("宸℃缁撴灉涓哄紓甯告椂锛屽繀椤讳笂浼犺嚦灏戜竴寮犵収鐗�");
+ }
+ }
+
+ private boolean hasAnyInspectionPhotoAfterSave(InspectionTaskDto inspectionTaskDto, InspectionTask oldInspectionTask) {
+ Long recordId = oldInspectionTask == null ? null : oldInspectionTask.getId();
+ return hasApplicationPhotoAfterSave(
+ inspectionTaskDto.getCommonFileListDTO(), ApplicationTypeEnum.FILE, recordId)
+ || hasApplicationPhotoAfterSave(
+ inspectionTaskDto.getCommonFileListAfterDTO(), ApplicationTypeEnum.AFTER_FILE, recordId)
+ || hasApplicationPhotoAfterSave(
+ inspectionTaskDto.getCommonFileListBeforeDTO(), ApplicationTypeEnum.BEFORE_FILE, recordId);
+ }
+
+ private boolean hasApplicationPhotoAfterSave(
+ List<StorageBlobDTO> requestPhotos, ApplicationTypeEnum applicationType, Long recordId) {
+ if (requestPhotos != null) {
+ return !requestPhotos.isEmpty();
+ }
+ if (recordId == null) {
+ return false;
+ }
+ return CollectionUtils.isNotEmpty(fileUtil.getStorageAttachmentsByApplicationAndRecordTypeAndRecordId(
+ applicationType, RecordTypeEnum.INSPECTION_TASK, recordId));
+ }
+
+ private void fillAcceptanceInfo(InspectionTask inspectionTask, InspectionTask oldInspectionTask) {
+ Long acceptanceUserId = inspectionTask.getAcceptanceUserId();
+ if (acceptanceUserId == null && oldInspectionTask != null) {
+ acceptanceUserId = oldInspectionTask.getAcceptanceUserId();
+ }
+ if (acceptanceUserId != null) {
+ inspectionTask.setAcceptanceUserId(acceptanceUserId);
+ }
+
+ String acceptanceName = inspectionTask.getAcceptanceName();
+ if (StringUtils.isBlank(acceptanceName) && acceptanceUserId != null) {
+ SysUser acceptanceUser = sysUserMapper.selectUserById(acceptanceUserId);
+ if (acceptanceUser != null) {
+ acceptanceName = acceptanceUser.getNickName();
+ }
+ }
+ if (StringUtils.isBlank(acceptanceName) && oldInspectionTask != null) {
+ acceptanceName = oldInspectionTask.getAcceptanceName();
+ }
+ inspectionTask.setAcceptanceName(acceptanceName);
+ }
+
+ private Long syncRepairOrderIfAbnormal(InspectionTask inspectionTask, InspectionTask oldInspectionTask) {
+ if (!INSPECTION_RESULT_ABNORMAL.equals(inspectionTask.getInspectionResult())) {
+ return inspectionTask.getDeviceRepairId();
+ }
+ Long linkedRepairId = inspectionTask.getDeviceRepairId();
+ if (linkedRepairId == null && oldInspectionTask != null) {
+ linkedRepairId = oldInspectionTask.getDeviceRepairId();
+ }
+
+ if (linkedRepairId != null) {
+ DeviceRepair updateRepair = new DeviceRepair();
+ updateRepair.setId(linkedRepairId);
+ updateRepair.setRemark(inspectionTask.getAbnormalDescription());
+ deviceRepairMapper.updateById(updateRepair);
+ return linkedRepairId;
+ }
+
+ DeviceRepair deviceRepair = buildDeviceRepair(inspectionTask, oldInspectionTask);
+ deviceRepairMapper.insert(deviceRepair);
+ return deviceRepair.getId();
+ }
+
+ private DeviceRepair buildDeviceRepair(InspectionTask inspectionTask, InspectionTask oldInspectionTask) {
+ DeviceRepair deviceRepair = new DeviceRepair();
+ Long deviceLedgerId = resolveDeviceLedgerId(inspectionTask, oldInspectionTask);
+ DeviceLedger deviceLedger = resolveDeviceLedger(deviceLedgerId);
+ deviceRepair.setDeviceLedgerId(deviceLedgerId);
+ deviceRepair.setDeviceName(resolveDeviceName(inspectionTask, oldInspectionTask, deviceLedger));
+ deviceRepair.setDeviceModel(deviceLedger == null ? null : deviceLedger.getDeviceModel());
+ deviceRepair.setRepairName(resolveRepairReporter(inspectionTask, oldInspectionTask));
+ deviceRepair.setRepairTime(new Date());
+ deviceRepair.setRemark(inspectionTask.getAbnormalDescription());
+ deviceRepair.setMachineryCategory(deviceLedger == null ? null : deviceLedger.getType());
+ deviceRepair.setStatus(REPAIR_STATUS_PENDING);
+ return deviceRepair;
+ }
+
+ private Long resolveDeviceLedgerId(InspectionTask inspectionTask, InspectionTask oldInspectionTask) {
+ Integer taskId = inspectionTask.getTaskId();
+ if (taskId == null && oldInspectionTask != null) {
+ taskId = oldInspectionTask.getTaskId();
+ }
+ if (taskId == null || taskId <= 0) {
+ return null;
+ }
+ return taskId.longValue();
+ }
+
+ private DeviceLedger resolveDeviceLedger(Long deviceLedgerId) {
+ if (deviceLedgerId == null) {
+ return null;
+ }
+ return deviceLedgerMapper.selectById(deviceLedgerId);
+ }
+
+ private String resolveDeviceName(InspectionTask inspectionTask, InspectionTask oldInspectionTask, DeviceLedger deviceLedger) {
+ String taskName = inspectionTask.getTaskName();
+ if (StringUtils.isBlank(taskName) && oldInspectionTask != null) {
+ taskName = oldInspectionTask.getTaskName();
+ }
+ if (StringUtils.isNotBlank(taskName)) {
+ return taskName;
+ }
+ return deviceLedger == null ? null : deviceLedger.getDeviceName();
+ }
+
+ private String resolveRepairReporter(InspectionTask inspectionTask, InspectionTask oldInspectionTask) {
+ String reporter = inspectionTask.getInspector();
+ if (StringUtils.isBlank(reporter) && oldInspectionTask != null) {
+ reporter = oldInspectionTask.getInspector();
+ }
+ if (StringUtils.isNotBlank(reporter)) {
+ return reporter;
+ }
+ String inspectorNameByUserId = resolveInspectorNameByUserId(inspectionTask.getInspectorId());
+ if (StringUtils.isBlank(inspectorNameByUserId) && oldInspectionTask != null) {
+ inspectorNameByUserId = resolveInspectorNameByUserId(oldInspectionTask.getInspectorId());
+ }
+ if (StringUtils.isNotBlank(inspectorNameByUserId)) {
+ return inspectorNameByUserId;
+ }
+ try {
+ return SecurityUtils.getUsername();
+ } catch (Exception ignored) {
+ return "system";
+ }
+ }
+
+ private String resolveInspectorNameByUserId(String inspectorIds) {
+ if (StringUtils.isBlank(inspectorIds)) {
+ return null;
+ }
+ String firstInspectorId = Arrays.stream(inspectorIds.split(","))
+ .map(String::trim)
+ .filter(StringUtils::isNotBlank)
+ .findFirst()
+ .orElse(null);
+ if (!StringUtils.isNumeric(firstInspectorId)) {
+ return null;
+ }
+ SysUser sysUser = sysUserMapper.selectUserById(Long.parseLong(firstInspectorId));
+ return sysUser == null ? null : sysUser.getNickName();
+ }
+
+ private void saveInspectionAttachments(Long inspectionTaskId, InspectionTaskDto inspectionTaskDto) {
+ saveAttachmentIfPresent(inspectionTaskId, ApplicationTypeEnum.FILE, inspectionTaskDto.getCommonFileListDTO());
+ saveAttachmentIfPresent(inspectionTaskId, ApplicationTypeEnum.AFTER_FILE, inspectionTaskDto.getCommonFileListAfterDTO());
+ saveAttachmentIfPresent(inspectionTaskId, ApplicationTypeEnum.BEFORE_FILE, inspectionTaskDto.getCommonFileListBeforeDTO());
+ }
+
+ private void saveAttachmentIfPresent(Long inspectionTaskId, ApplicationTypeEnum applicationTypeEnum, List<StorageBlobDTO> storageBlobDTOS) {
+ if (storageBlobDTOS == null) {
+ return;
+ }
+ fileUtil.saveStorageAttachment(applicationTypeEnum, RecordTypeEnum.INSPECTION_TASK, inspectionTaskId, storageBlobDTOS);
}
@Override
@@ -223,9 +438,12 @@
if (ids == null || ids.length == 0) {
return 0;
}
- commonFileService.deleteByBusinessIds(Arrays.asList(ids),FileNameType.INSPECTION.getValue());
- commonFileService.deleteByBusinessIds(Arrays.asList(ids),FileNameType.INSPECTION_PRODUCTION_BEFORE.getValue());
- commonFileService.deleteByBusinessIds(Arrays.asList(ids),FileNameType.INSPECTION_PRODUCTION_AFTER.getValue());
+ inspectionTaskItemMapper.delete(new LambdaQueryWrapper<InspectionTaskItem>()
+ .in(InspectionTaskItem::getInspectionTaskId, Arrays.asList(ids)));
+ // 鍒犻櫎鏂囦欢
+ fileUtil.deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordIds(ApplicationTypeEnum.FILE, RecordTypeEnum.INSPECTION_TASK, Arrays.asList(ids));
+ fileUtil.deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordIds(ApplicationTypeEnum.AFTER_FILE, RecordTypeEnum.INSPECTION_TASK, Arrays.asList(ids));
+ fileUtil.deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordIds(ApplicationTypeEnum.BEFORE_FILE, RecordTypeEnum.INSPECTION_TASK, Arrays.asList(ids));
return inspectionTaskMapper.deleteBatchIds(Arrays.asList(ids));
}
--
Gitblit v1.9.3