From f9c5f3e02cd32d201428ef0700411f7c421b25fa Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 27 一月 2026 09:53:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java |   94 ++++++++++++++++------------------------------
 1 files changed, 33 insertions(+), 61 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 829d44c..8c30cb3 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -11,6 +11,7 @@
 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.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -21,10 +22,15 @@
 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.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.format.DateTimeFormatter;
 import java.util.*;
 import java.util.function.Function;
@@ -60,10 +66,19 @@
     @Autowired
     private SysUserMapper sysUserMapper;
 
+    @Autowired
+    private CommonFileMapper commonFileMapper;
+
+    @Autowired
+    private CommonFileServiceImpl commonFileService;
+
     @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());
+        }
         IPage<InspectionTask> entityPage = inspectionTaskMapper.selectPage(page, queryWrapper);
 
         //  鏃犳暟鎹彁鍓嶈繑鍥�
@@ -77,7 +92,7 @@
         // 鎵归噺鏌ヨ鐧昏浜�
         Map<Long, SysUser> sysUserMap;
         if (!registrantIds.isEmpty()) {
-            List<SysUser> sysUsers = sysUserMapper.selectRegistrantIds(registrantIds);
+            List<SysUser> sysUsers = sysUserMapper.selectUsersByIds(registrantIds);
             sysUserMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
         } else {
             sysUserMap = new HashMap<>();
@@ -111,21 +126,13 @@
                         (existing, replacement) -> existing));
 
         //澶勭悊闄勪欢
-        Map<Long, List<StorageAttachment>> attachmentsMap = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>().in(StorageAttachment::getRecordId, ids)
-                        .eq(StorageAttachment::getRecordType, InspectionTasks.ordinal()))
-                .stream()
-                .collect(Collectors.groupingBy(StorageAttachment::getRecordId));
-        //  鎵归噺鏌ヨ鎵�鏈夐渶瑕佺殑鏂囦欢鏁版嵁
-        Set<Long> blobIds = attachmentsMap.values()
-                .stream()
-                .flatMap(List::stream)
-                .map(StorageAttachment::getStorageBlobId)
-                .collect(Collectors.toSet());
-        Map<Long, StorageBlob> blobMap = blobIds.isEmpty()
-                ? Collections.emptyMap()
-                : storageBlobMapper.selectList(new LambdaQueryWrapper<StorageBlob>().in(StorageBlob::getId, blobIds))
-                .stream()
-                .collect(Collectors.toMap(StorageBlob::getId, Function.identity()));
+        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;
 
         List<InspectionTaskDto> dtoList = entityPage.getRecords().stream().map(inspectionTask -> {
             InspectionTaskDto dto = new InspectionTaskDto();
@@ -155,36 +162,10 @@
             dto.setDateStr(inspectionTask.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 
             // 鍒濆鍖栦笁涓檮浠跺垪琛�
-            dto.setBeforeProduction(new ArrayList<>());
-            dto.setAfterProduction(new ArrayList<>());
-            dto.setProductionIssues(new ArrayList<>());
+            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()));
 
-            // 澶勭悊闄勪欢鍒嗙被
-            Optional.ofNullable(attachmentsMap.get(inspectionTask.getId()))
-                    .orElse(Collections.emptyList())
-                    .forEach(attachment -> {
-                        StorageBlob blob = blobMap.get(attachment.getStorageBlobId());
-                        if (blob != null) {
-                            // 鍒涘缓闄勪欢DTO
-                            StorageBlobDTO blobDto = createBlobDto(blob);
-
-                            // 鏍规嵁type鍒嗙被
-                            switch ((int) blob.getType().longValue()) {
-                                case 0:
-                                    dto.getBeforeProduction().add(blobDto);
-                                    break;
-                                case 1:
-                                    dto.getAfterProduction().add(blobDto);
-                                    break;
-                                case 2:
-                                    dto.getProductionIssues().add(blobDto);
-                                    break;
-                                default:
-                                    // 鍙�夛細璁板綍鏈垎绫荤被鍨�
-                                    break;
-                            }
-                        }
-                    });
 
             return dto;
         }).collect(Collectors.toList());
@@ -219,7 +200,8 @@
     }
 
     @Override
-    public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) {
+    @Transactional(rollbackFor = Exception.class)
+    public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) throws IOException {
         InspectionTask inspectionTask = new InspectionTask();
         BeanUtils.copyProperties(inspectionTaskDto, inspectionTask);
         inspectionTask.setRegistrantId(SecurityUtils.getLoginUser().getUserId());
@@ -230,30 +212,20 @@
         } else {
             i = inspectionTaskMapper.updateById(inspectionTask);
         }
-
-        if (inspectionTaskDto.getStorageBlobDTO() != null && !inspectionTaskDto.getStorageBlobDTO().isEmpty()) {
-            List<StorageAttachment> attachments = new ArrayList<>();
-
-            for (StorageBlobDTO storageBlobDTO : inspectionTaskDto.getStorageBlobDTO()) {
-                StorageAttachment storageAttachment = new StorageAttachment(
-                        StorageAttachmentFile,
-                        (long) InspectionTasks.ordinal(),
-                        inspectionTask.getId()
-                );
-                storageAttachment.setStorageBlobDTO(storageBlobDTO);
-                attachments.add(storageAttachment);
-            }
-            storageAttachmentService.saveStorageAttachment(attachments, inspectionTask.getId(), InspectionTasks, StorageAttachmentFile);
-        }
+        commonFileService.migrateTempFilesToFormal(inspectionTask.getId(),inspectionTaskDto.getTempFileIds());
         return i;
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int delByIds(Long[] ids) {
         // 妫�鏌ュ弬鏁�
         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());
         return inspectionTaskMapper.deleteBatchIds(Arrays.asList(ids));
     }
 

--
Gitblit v1.9.3