From 34150a16ef56b933c59838da129d5b35b9dc09d8 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 26 三月 2025 13:29:21 +0800 Subject: [PATCH] 添加仓库,库区树状接口 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/WarehouseAreasDto.java | 18 +++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java | 2 + rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java | 14 +++++-- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java | 32 ++++++++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java | 8 ++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseService.java | 3 + 6 files changed, 73 insertions(+), 4 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java index f97553f..c16a671 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java @@ -166,4 +166,12 @@ ExcelUtil.build(ExcelUtil.create(list, Warehouse.class), response); } + @PreAuthorize("hasAuthority('manager:warehouse:list')") + @GetMapping("/warehouse/areas") + public R getAreasForWarehouse() { + return R.ok(warehouseService.getAllWarehouseAreas()); + } + + + } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/WarehouseAreasDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/WarehouseAreasDto.java new file mode 100644 index 0000000..55f80f9 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/WarehouseAreasDto.java @@ -0,0 +1,18 @@ +package com.vincent.rsf.server.manager.controller.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @author Ryan + * @version 1.0 + * @title WarehouseAreasDto + * @description + * @create 2025/3/26 13:16 + */ + +@Data +@Accessors(chain = true) +public class WarehouseAreasDto { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java index a2b9775..61fedef 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java @@ -1,16 +1,14 @@ package com.vincent.rsf.server.manager.entity; -import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.*; + import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -20,6 +18,7 @@ import com.vincent.rsf.server.system.entity.User; import java.io.Serializable; import java.util.Date; +import java.util.List; @Data @TableName("man_warehouse") @@ -140,6 +139,13 @@ @ApiModelProperty(value= "澶囨敞") private String memo; + /** + * 搴撳尯 + */ + @TableField(exist = false) + @ApiModelProperty("搴撳尯") + private List<WarehouseAreas> children; + public Warehouse() {} public Warehouse(String name,String code,String factory,String address,String longitude,String latgitude,Double length,Double width,Double height,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseService.java index d58f458..486b341 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseService.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.vincent.rsf.server.manager.entity.Warehouse; +import java.util.List; + public interface WarehouseService extends IService<Warehouse> { + List<Warehouse> getAllWarehouseAreas(); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java index 373d76a..e2ffec0 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java @@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vincent.rsf.framework.common.R; @@ -104,6 +105,7 @@ @Override public PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam) { + QueryWrapper<Matnr> queryWrapper = pageParam.buildWrapper(true); IPage<Map<String, Object>> reulst = this.baseMapper.selectMatnrs(pageParam, pageParam.buildWrapper(true)); /**鑾峰彇鐗╂枡鍒嗛〉淇℃伅 */ List<Map<String, Object>> mapList = reulst.getRecords(); 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..fc56f98 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,44 @@ 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.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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; @Service("warehouseService") public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse> implements WarehouseService { + @Autowired + private WarehouseAreasService warehouseAreasService; + + @Override + public List<Warehouse> getAllWarehouseAreas() { + List<Warehouse> warehouses = this.list(new LambdaQueryWrapper<>()); + if (warehouses.isEmpty()) { + throw new CoolException("浠撳簱涓虹┖锛岃娣诲姞浠撳簱鍚庡啀鎿嶄綔锛侊紒"); + } + List<WarehouseAreas> warehouseAreas = warehouseAreasService.list(new LambdaQueryWrapper<>()); + if (warehouseAreas.isEmpty()) { + return warehouses; + } + warehouses.forEach(warehouse -> { + List<WarehouseAreas> areas = new ArrayList<>(); + warehouseAreas.forEach(warehouseAreas1 -> { + if (warehouse.getId().equals(warehouseAreas1.getWarehouseId())) { + areas.add(warehouseAreas1); + } + }); + warehouse.setChildren(areas); + }); + return warehouses; + } } -- Gitblit v1.9.1