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()); } } rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/WarehouseAreasDto.java
New file @@ -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 { } 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) { 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(); } 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(); 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; } }