From 49e1bc66ebaf696ebd3fc3ed33d65c8795fd3cde Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 01 七月 2025 18:05:12 +0800
Subject: [PATCH] 1.巡检定时任务 2.设备管理 3.文档查询

---
 main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java |   72 ++++++++++++++++++++++++++++++++++--
 1 files changed, 68 insertions(+), 4 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java
index 414e3f7..2c2400a 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.entity.StorageAttachment;
 import com.ruoyi.basic.entity.StorageBlob;
+import com.ruoyi.basic.entity.Supply;
 import com.ruoyi.basic.entity.dto.StorageBlobDTO;
 import com.ruoyi.basic.mapper.StorageAttachmentMapper;
 import com.ruoyi.basic.mapper.StorageBlobMapper;
@@ -15,9 +16,12 @@
 import com.ruoyi.business.entity.InspectionTask;
 import com.ruoyi.business.mapper.InspectionTaskMapper;
 import com.ruoyi.business.service.InspectionTaskService;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.file.MinioUtils;
+import com.ruoyi.system.mapper.SysUserMapper;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -50,8 +54,10 @@
 
     private final MinioUtils minioUtils;
 
+    private final SysUserMapper sysUserMapper;
+
     @Override
-    public IPage<InspectionTaskDto> selectInspectionTaskList(Page page, InspectionTaskDto inspectionTaskDto) {
+    public IPage<InspectionTaskDto> selectInspectionTaskList(Page<InspectionTask> page, InspectionTaskDto inspectionTaskDto) {
         LambdaQueryWrapper<InspectionTask> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.orderByDesc(InspectionTask::getCreateTime);
         IPage<InspectionTask> entityPage = inspectionTaskMapper.selectPage(page, queryWrapper);
@@ -61,8 +67,46 @@
             return new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
         }
         // 鑾峰彇id闆嗗悎
-        List<Long> ids = entityPage.getRecords().stream().map(InspectionTask::getId).collect(Collectors.toList());
+        List<Long> ids = entityPage.getRecords().stream().map(InspectionTask::getId).toList();
+        //鐧昏浜篿ds
+        List<Long> registrantIds = entityPage.getRecords().stream().map(InspectionTask::getRegistrantId).toList();
+        // 鎵归噺鏌ヨ鐧昏浜�
+        Map<Long, SysUser> sysUserMap;
+        if (!registrantIds.isEmpty()) {
+            List<SysUser> sysUsers = sysUserMapper.selectList(registrantIds);
+            sysUserMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
+        } else {
+            sysUserMap = new HashMap<>();
+        }
+        //宸℃浜篿ds
+        List<String> inspectorIds = entityPage.getRecords().stream().map(InspectionTask::getInspectorId).toList();
 
+        //鑾峰彇鎵�鏈変笉閲嶅鐨勭敤鎴稩D
+        Set<Long> allUserIds = entityPage.getRecords().stream()
+                .map(InspectionTask::getInspectorId) // 鑾峰彇"2,3"杩欐牱鐨勫瓧绗︿覆
+                .filter(StringUtils::isNotBlank)
+                .flatMap(idsStr -> Arrays.stream(idsStr.split(",")))
+                .map(idStr -> {
+                    try {
+                        return Long.parseLong(idStr.trim());
+                    } catch (NumberFormatException e) {
+                        return null;
+                    }
+                })
+                .filter(Objects::nonNull)
+                .collect(Collectors.toSet());
+
+        // 浣跨敤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));
+
+        //澶勭悊闄勪欢
         Map<Long, List<StorageAttachment>> attachmentsMap = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>().in(StorageAttachment::getRecordId, ids)
                         .eq(StorageAttachment::getRecordType, InspectionTasks.ordinal()))
                 .stream()
@@ -82,6 +126,27 @@
         List<InspectionTaskDto> dtoList = entityPage.getRecords().stream().map(inspectionTask -> {
             InspectionTaskDto dto = new InspectionTaskDto();
             BeanUtils.copyProperties(inspectionTask, dto);  // 澶嶅埗涓诲璞″睘鎬�
+
+            // 璁剧疆鐧昏浜�
+            SysUser sysUser = sysUserMap.get(inspectionTask.getRegistrantId());
+            if (sysUser != null) {
+                dto.setRegistrant(sysUser.getNickName());
+            }
+            // 澶勭悊宸℃浜哄悕绉�
+            if (StringUtils.isNotBlank(inspectionTask.getInspectorId())) {
+                String inspectorNames = Arrays.stream(inspectionTask.getInspectorId().split(","))
+                        .map(String::trim)
+                        .map(idStr -> {
+                            try {
+                                Long userId = Long.parseLong(idStr);
+                                return userIdToNameMap.getOrDefault(userId, "鏈煡鐢ㄦ埛(" + idStr + ")");
+                            } catch (NumberFormatException e) {
+                                return "鏃犳晥ID(" + idStr + ")";
+                            }
+                        })
+                        .collect(Collectors.joining(","));
+                dto.setInspector(inspectorNames);
+            }
 
             // 鍒濆鍖栦笁涓檮浠跺垪琛�
             dto.setBeforeProduction(new ArrayList<>());
@@ -149,7 +214,6 @@
 
     @Override
     public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) {
-        SecurityUtils.getLoginUser().getUserId();
         InspectionTask inspectionTask = new InspectionTask();
         BeanUtils.copyProperties(inspectionTaskDto, inspectionTask);
         inspectionTask.setRegistrantId(SecurityUtils.getLoginUser().getUserId());
@@ -184,6 +248,6 @@
         if (ids == null || ids.length == 0) {
             return 0;
         }
-      return inspectionTaskMapper.deleteByIds(Arrays.asList(ids));
+        return inspectionTaskMapper.deleteByIds(Arrays.asList(ids));
     }
 }

--
Gitblit v1.9.3