From 2656ae9bce8544d81da66c07aaede5386d6fbebb Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 25 七月 2025 15:41:01 +0800
Subject: [PATCH] 1.序列化问题 2.设备领用逻辑优化

---
 main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageDetailServiceImpl.java |  113 ++++++++++++++++++++++++++------------------------------
 1 files changed, 53 insertions(+), 60 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageDetailServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageDetailServiceImpl.java
index cb19b1a..3f0025b 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageDetailServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageDetailServiceImpl.java
@@ -1,9 +1,7 @@
 package com.ruoyi.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.business.dto.EquipmentManagementDto;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.business.dto.EquipmentUsageDetailDto;
 import com.ruoyi.business.entity.EquipmentManagement;
 import com.ruoyi.business.entity.EquipmentUsageDetail;
@@ -11,14 +9,11 @@
 import com.ruoyi.business.mapper.EquipmentManagementMapper;
 import com.ruoyi.business.mapper.EquipmentUsageDetailMapper;
 import com.ruoyi.business.mapper.EquipmentUsageRecordMapper;
-import com.ruoyi.business.service.EquipmentManagementService;
 import com.ruoyi.business.service.EquipmentUsageDetailService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.business.service.EquipmentUsageRecordService;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.bean.BeanUtils;
-import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -47,72 +42,70 @@
 
 
     @Override
-    public IPage<EquipmentUsageDetailDto> selectEquipmentUsageDetailList(Page<EquipmentUsageDetail> page,EquipmentUsageDetailDto equipmentUsageDetailDto) {
-        // 蹇呴』浼犻�抲sageId鍙傛暟
+    public List<EquipmentUsageDetailDto> selectEquipmentUsageDetailList(EquipmentUsageDetailDto equipmentUsageDetailDto) {
+        // 蹇呴』浼犻�� usageId 鍙傛暟
         if (equipmentUsageDetailDto.getUsageId() == null) {
             throw new BaseException("璇烽�夋嫨浣跨敤璁板綍");
         }
+
+        // 鏌ヨ鏄庣粏鍒楄〃锛堜笉鍒嗛〉锛�
         LambdaQueryWrapper<EquipmentUsageDetail> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(EquipmentUsageDetail::getUsageId, equipmentUsageDetailDto.getUsageId());
+        List<EquipmentUsageDetail> details = equipmentUsageDetailMapper.selectList(queryWrapper);
 
-        Page<EquipmentUsageDetail> entityPage = equipmentUsageDetailMapper.selectPage(page, queryWrapper);
-        IPage<EquipmentUsageDetailDto> dtoPage = new Page<>();
-        BeanUtils.copyProperties(entityPage, dtoPage);
-        // 鍏堣幏鍙栦富琛ㄨ褰�
-        List<Long> usageIds = entityPage.getRecords().stream()
+        // 濡傛灉娌℃湁鏁版嵁锛岀洿鎺ヨ繑鍥炵┖鍒楄〃
+        if (details.isEmpty()) {
+            return Collections.emptyList();
+        }
+
+        // 鑾峰彇鎵�鏈夊叧鑱旂殑 usageId
+        List<Long> usageIds = details.stream()
                 .map(EquipmentUsageDetail::getUsageId)
                 .distinct()
                 .collect(Collectors.toList());
 
-        if (!usageIds.isEmpty()) {
-            // 鏌ヨ鍏宠仈鐨勪娇鐢ㄨ褰�
-            List<EquipmentUsageRecord> usageRecords = equipmentUsageRecordMapper.selectList(
-                    new LambdaQueryWrapper<EquipmentUsageRecord>()
-                            .in(EquipmentUsageRecord::getId, usageIds)
-            );
+        // 鏌ヨ鍏宠仈鐨勪娇鐢ㄨ褰�
+        List<EquipmentUsageRecord> usageRecords = equipmentUsageRecordMapper.selectList(
+                new LambdaQueryWrapper<EquipmentUsageRecord>()
+                        .in(EquipmentUsageRecord::getId, usageIds)
+        );
 
-            // 鑾峰彇鎵�鏈夎澶嘔D
-            List<Long> equipmentIds = usageRecords.stream()
-                    .map(EquipmentUsageRecord::getEquipmentId)
-                    .distinct()
-                    .collect(Collectors.toList());
+        // 鑾峰彇鎵�鏈夎澶嘔D
+        List<Long> equipmentIds = usageRecords.stream()
+                .map(EquipmentUsageRecord::getEquipmentId)
+                .distinct()
+                .collect(Collectors.toList());
 
-            // 鏌ヨ璁惧淇℃伅
-            Map<Long, EquipmentManagement> equipmentMap;
-            if (!equipmentIds.isEmpty()) {
-                equipmentMap = equipmentManagementMapper.selectList(
-                        new LambdaQueryWrapper<EquipmentManagement>()
-                                .in(EquipmentManagement::getId, equipmentIds)
-                ).stream().collect(Collectors.toMap(EquipmentManagement::getId, Function.identity()));
-            } else {
-                equipmentMap = new HashMap<>();
+        // 鏌ヨ璁惧淇℃伅
+        Map<Long, EquipmentManagement> equipmentMap;
+        if (!equipmentIds.isEmpty()) {
+            equipmentMap = equipmentManagementMapper.selectList(
+                    new LambdaQueryWrapper<EquipmentManagement>()
+                            .in(EquipmentManagement::getId, equipmentIds)
+            ).stream().collect(Collectors.toMap(EquipmentManagement::getId, Function.identity()));
+        } else {
+            equipmentMap = new HashMap<>();
+        }
+
+        // 鏋勫缓 usageId 鈫� equipmentId 鐨勬槧灏�
+        Map<Long, Long> usageIdToEquipmentIdMap = usageRecords.stream()
+                .collect(Collectors.toMap(EquipmentUsageRecord::getId, EquipmentUsageRecord::getEquipmentId));
+
+        // 杞崲涓� DTO 骞跺~鍏呰澶囦俊鎭�
+        return details.stream().map(detail -> {
+            EquipmentUsageDetailDto detailDto = new EquipmentUsageDetailDto();
+            BeanUtils.copyProperties(detail, detailDto);
+
+            // 鑾峰彇鍏宠仈鐨勮澶囦俊鎭�
+            Long equipmentId = usageIdToEquipmentIdMap.get(detail.getUsageId());
+            if (equipmentId != null && equipmentMap.containsKey(equipmentId)) {
+                EquipmentManagement equipment = equipmentMap.get(equipmentId);
+                detailDto.setEquipmentNo(equipment.getEquipmentNo());
+                detailDto.setEquipmentName(equipment.getEquipmentName());
+                detailDto.setSpecification(equipment.getSpecification());
             }
 
-            // 鏋勫缓浣跨敤璁板綍ID鍒拌澶嘔D鐨勬槧灏�
-            Map<Long, Long> usageIdToEquipmentIdMap = usageRecords.stream()
-                    .collect(Collectors.toMap(EquipmentUsageRecord::getId, EquipmentUsageRecord::getEquipmentId));
-
-            // 杞崲DTO骞跺~鍏呰澶囦俊鎭�
-            List<EquipmentUsageDetailDto> dtoList = entityPage.getRecords().stream().map(detail -> {
-                EquipmentUsageDetailDto detailDto = new EquipmentUsageDetailDto();
-                BeanUtils.copyProperties(detail, detailDto);
-
-                // 鑾峰彇鍏宠仈鐨勮澶嘔D
-                Long equipmentId = usageIdToEquipmentIdMap.get(detail.getUsageId());
-                if (equipmentId != null && equipmentMap.containsKey(equipmentId)) {
-                    EquipmentManagement equipment = equipmentMap.get(equipmentId);
-                    detailDto.setEquipmentNo(equipment.getEquipmentNo());
-                    detailDto.setEquipmentName(equipment.getEquipmentName());
-                    detailDto.setSpecification(equipment.getSpecification());
-                }
-
-                return detailDto;
-            }).collect(Collectors.toList());
-
-            dtoPage.setRecords(dtoList);
-        } else {
-            dtoPage.setRecords(Collections.emptyList());
-        }
-        return dtoPage;
+            return detailDto;
+        }).collect(Collectors.toList());
     }
 }

--
Gitblit v1.9.3