From f29c8786807015d78b9be8a33397f69478d92a76 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期六, 12 七月 2025 16:52:27 +0800
Subject: [PATCH] 1.设备优化 2.配煤计算器

---
 main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java |   70 ++++++++++++++++++++++++++++++++---
 1 files changed, 64 insertions(+), 6 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java
index 1ac61c9..863d663 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java
@@ -4,17 +4,20 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.business.dto.EquipmentManagementDto;
-import com.ruoyi.business.dto.ProductionMasterDto;
 import com.ruoyi.business.entity.EquipmentManagement;
-import com.ruoyi.business.entity.Production;
+import com.ruoyi.business.entity.EquipmentUsageRecord;
 import com.ruoyi.business.mapper.EquipmentManagementMapper;
+import com.ruoyi.business.mapper.EquipmentUsageRecordMapper;
 import com.ruoyi.business.service.EquipmentManagementService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.business.vo.EquipmentManagementVo;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
 
 import java.util.Arrays;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -31,11 +34,52 @@
 
     private final EquipmentManagementMapper equipmentManagementMapper;
 
-    public IPage<EquipmentManagementDto> selectProductionList(Page<EquipmentManagement> page, EquipmentManagementDto equipmentManagementDto) {
-        Page<EquipmentManagement> entityPage = equipmentManagementMapper.selectPage(page, null);
-        IPage<EquipmentManagementDto> dtoPage = new Page<>();
-        BeanUtils.copyProperties(entityPage, dtoPage);
+    private final EquipmentUsageRecordMapper equipmentUsageRecordMapper;
 
+    public IPage<EquipmentManagementDto> selectProductionList(Page<EquipmentManagement> page, EquipmentManagementDto equipmentManagementDto) {
+        // 1. 鏋勫缓鏌ヨ鏉′欢锛坰earchAll 妯$硦鏌ヨ锛�
+        LambdaQueryWrapper<EquipmentManagement> queryWrapper = new LambdaQueryWrapper<>();
+
+        if (StringUtils.isNotBlank(equipmentManagementDto.getSearchAll())) {
+            String searchValue = equipmentManagementDto.getSearchAll();
+            queryWrapper.and(wrapper ->
+                    wrapper.like(EquipmentManagement::getEquipmentNo, searchValue)
+                            .or()
+                            .like(EquipmentManagement::getEquipmentName, searchValue)
+                            .or()
+                            .like(EquipmentManagement::getSpecification, searchValue)
+            );
+        }
+
+        // 2. 鎵ц鍒嗛〉鏌ヨ
+        Page<EquipmentManagement> entityPage = equipmentManagementMapper.selectPage(page, queryWrapper);
+
+        // 3. 杞崲涓� DTO 鍒嗛〉
+        IPage<EquipmentManagementDto> dtoPage = new Page<>();
+        BeanUtils.copyProperties(entityPage, dtoPage, "records");
+
+        // 4. 鏌ヨ姣忎釜璁惧鐨勪娇鐢ㄦ�婚噺锛坲sageQuantity锛夊苟璁剧疆鍒� DTO
+        List<EquipmentManagementDto> dtoRecords = entityPage.getRecords().stream()
+                .map(entity -> {
+                    EquipmentManagementDto dto = new EquipmentManagementDto();
+                    BeanUtils.copyProperties(entity, dto);
+
+                    // 鏌ヨ璇ヨ澶囩殑浣跨敤鎬婚噺锛坲sageQuantity锛�
+                    LambdaQueryWrapper<EquipmentUsageRecord> usageQueryWrapper = new LambdaQueryWrapper<>();
+                    usageQueryWrapper.eq(EquipmentUsageRecord::getEquipmentId, entity.getId());
+
+                    // 璁$畻鎬讳娇鐢ㄩ噺
+                    Integer totalUsage = equipmentUsageRecordMapper.selectList(usageQueryWrapper).stream()
+                            .mapToInt(EquipmentUsageRecord::getUsageQuantity)
+                            .sum();
+
+                    // 璁剧疆浣跨敤鎬婚噺
+                    dto.setUsedNo(totalUsage);
+                    return dto;
+                })
+                .toList();
+
+        dtoPage.setRecords(dtoRecords);
         return dtoPage;
     }
 
@@ -51,6 +95,20 @@
     }
 
     @Override
+    public List<EquipmentManagementVo> selectEquipmentList() {
+        List<EquipmentManagement> equipmentManagements = equipmentManagementMapper.selectList(null);
+        return equipmentManagements.stream()
+                .map(equipment -> {
+                    EquipmentManagementVo vo = new EquipmentManagementVo();
+                    vo.setId(equipment.getId());               // 璁惧id
+                    vo.setEquipmentName(equipment.getEquipmentName()); // 璁惧鍚嶇О
+                    vo.setQuantity(equipment.getQuantity());    // 鏁伴噺
+                    return vo;
+                })
+                .toList();
+    }
+
+    @Override
     public int delByIds(Long[] ids) {
         return equipmentManagementMapper.deleteByIds(Arrays.asList(ids));
     }

--
Gitblit v1.9.3