From 4153937c91df7fcf6d7f70d95f6f8e03643b975d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 31 三月 2025 15:48:16 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 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 784116a..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
@@ -1,12 +1,68 @@
 package com.vincent.rsf.server.manager.service.impl;
 
+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 {
 
+    @Autowired
+    private WarehouseAreasService warehouseAreasService;
+
+    @Override
+    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<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);
+                }
+            });
+            warehouse.setChildren(areas);
+        });
+        return warehouses;
+    }
 }

--
Gitblit v1.9.1