From c731084698d89c12c23180f57598d521abb97a23 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 12 五月 2025 14:15:32 +0800
Subject: [PATCH] 质检功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java
index fc56f98..8c9d9f2 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java
@@ -2,17 +2,22 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.manager.entity.Loc;
 import com.vincent.rsf.server.manager.entity.WarehouseAreas;
 import com.vincent.rsf.server.manager.mapper.WarehouseMapper;
 import com.vincent.rsf.server.manager.entity.Warehouse;
 import com.vincent.rsf.server.manager.service.WarehouseAreasService;
 import com.vincent.rsf.server.manager.service.WarehouseService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 @Service("warehouseService")
 public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse> implements WarehouseService {
@@ -21,19 +26,38 @@
     private WarehouseAreasService warehouseAreasService;
 
     @Override
-    public List<Warehouse> getAllWarehouseAreas() {
-        List<Warehouse> warehouses = this.list(new LambdaQueryWrapper<>());
+    public List<Warehouse> getAllWarehouseAreas(Map<String, Object> param) {
+        List<Warehouse> filters = new ArrayList<>();
+        List<Long> wareIds = new ArrayList<>();
+        Object name = param.get("name");
+        boolean isEmpty = !Objects.isNull(name) && !StringUtils.isBlank(name.toString());
+        if (isEmpty) {
+            filters = this.baseMapper.selectByName(name.toString());
+            wareIds =  filters.stream().map(Warehouse::getId).collect(Collectors.toList());
+        }
+        List<Warehouse> warehouses  = this.list(new LambdaQueryWrapper<Warehouse>().in(!wareIds.isEmpty(), Warehouse::getId, wareIds));
         if (warehouses.isEmpty()) {
             throw new CoolException("浠撳簱涓虹┖锛岃娣诲姞浠撳簱鍚庡啀鎿嶄綔锛侊紒");
         }
-        List<WarehouseAreas> warehouseAreas = warehouseAreasService.list(new LambdaQueryWrapper<>());
+        List<Long> list = warehouses.stream().map(Warehouse::getId).collect(Collectors.toList());
+        List<WarehouseAreas> warehouseAreas = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>()
+                .like(isEmpty, WarehouseAreas::getName, !Objects.isNull(name) ? name.toString() : "")
+                .in(!warehouses.isEmpty(), WarehouseAreas::getWarehouseId, list)
+        );
         if (warehouseAreas.isEmpty()) {
             return warehouses;
         }
         warehouses.forEach(warehouse -> {
+            warehouse.setFlagWare(1);
+            //浠撳簱ID鍜屽簱鍖篒D鏈夊彲鑳介噸澶嶏紝鎷兼帴浠撳簱ID锛岀粍鎴愬敮涓�绱㈠紩
+            warehouse.setIndex(warehouse.getId());
             List<WarehouseAreas> areas = new ArrayList<>();
             warehouseAreas.forEach(warehouseAreas1 -> {
                 if (warehouse.getId().equals(warehouseAreas1.getWarehouseId())) {
+                    warehouseAreas1.setFlagWare(0);
+                    //浠撳簱ID鍜屽簱鍖篒D鏈夊彲鑳介噸澶嶏紝鎷兼帴浠撳簱ID锛岀粍鎴愬敮涓�绱㈠紩
+                    String s = warehouseAreas1.getId() + "" + warehouseAreas1.getWarehouseId();
+                    warehouseAreas1.setIndex(Long.parseLong(s));
                     areas.add(warehouseAreas1);
                 }
             });

--
Gitblit v1.9.1