skyouc
2025-03-26 34150a16ef56b933c59838da129d5b35b9dc09d8
添加仓库,库区树状接口
5个文件已修改
1个文件已添加
77 ■■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/WarehouseAreasDto.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}