自动化立体仓库 - WMS系统
pang.jiabao
18 小时以前 6797af492e55d2e63a95ed8f6d86e274f85a09c3
6.8 查询所有库位状态和物料-二机床信息化数字孪生用
3个文件已修改
1个文件已添加
76 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/DigitalTwinController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/DigitalTwinService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/DigitalTwinController.java
@@ -22,6 +22,14 @@
    private DigitalTwinService digitalTwinService;
    /**
     * 查询所有库位状态和物料-二机床信息化数字孪生用
     */
    @RequestMapping(value = "/getAllLocations")
    public R getAllLocations(){
        return digitalTwinService.getAllLocations();
    }
    /**
     * 数据总览
     *
     * @param areaId    库区编码
src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java
New file
@@ -0,0 +1,36 @@
package com.zy.asrs.entity.digitaltwin;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * @author pang.jiabao
 * @description 查询所有库位状态和物料-二机床信息化数字孪生用
 * @createDate 2026/1/26 11:13
 */
@Data
public class AllLocationsVo {
    // 库位号
    private String locNo;
    // 库位状态,O空库位(英文不是数字);F 在库;D 空板;P 出库中;R 出库预约;S 入库预约;其他 其他;
    private String locSts;
    private List<LocDetl> locDetls  = new ArrayList<>();
    @Data
    public static class LocDetl {
        @ApiModelProperty(value = "商品编号")
        private String matnr;
        @ApiModelProperty(value = "商品名称")
        private String maktx;
        private Double anfme;
    }
}
src/main/java/com/zy/asrs/service/DigitalTwinService.java
@@ -8,6 +8,11 @@
public interface DigitalTwinService {
    /**
     * 查询所有库位状态和物料-二机床信息化数字孪生用
     */
    R getAllLocations();
    /**
     * 总览:总库位、已用库位、剩余库位、今日出库、今日入库、剩余库位
     *
     * @param areaId
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -36,6 +36,33 @@
    @Resource
    private LocCountMapper locCountMapper;
    @Override
    public R getAllLocations() {
        List<AllLocationsVo> allLocationsVos = new ArrayList<>();
        List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>());
        locMastList.forEach(locMast -> {
            AllLocationsVo allLocationsVo = new AllLocationsVo();
            allLocationsVo.setLocNo(locMast.getLocNo());
            String locSts = locMast.getLocSts();
            allLocationsVo.setLocSts(locSts);
            // 有库存
            if (locSts.equals("F") || locSts.equals("P") || locSts.equals("Q") || locSts.equals("R")) {
                List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
                if (!locDetls.isEmpty()) {
                    List<AllLocationsVo.LocDetl> locDetlList = locDetls.stream().map(locDetl -> {
                                AllLocationsVo.LocDetl locDetl1 = new AllLocationsVo.LocDetl();
                                BeanUtils.copyProperties(locDetl, locDetl1);
                                return locDetl1;
                            }
                    ).collect(Collectors.toList());
                    allLocationsVo.setLocDetls(locDetlList);
                }
            }
            allLocationsVos.add(allLocationsVo);
        });
        return R.ok(allLocationsVos);
    }
    /**
     * 总览:总库位、已用库位、剩余库位、今日出库、今日入库、剩余库位
     *