From 9fe1ec3afe8696c628d076d1f76686c4efc3012e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 21 十月 2025 10:49:55 +0800
Subject: [PATCH] 容器初始化功能优化
---
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