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