自动化立体仓库 - WMS系统
Junjie
2023-05-26 5d156a85fcb29d64009df1be11ffd0fc86c13b2c
库位地图,出库选择,出库拦截非空库位
2个文件已修改
67 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -165,33 +165,9 @@
                locNos.add(locDetl.getLocNo());
            }
        }
        //检测是否为浅库位
        boolean sign = false;
        String th = "";
        for (String locNo : locNos) {
            if (sign) {
                break;
            }
            List<String> groupInsideLoc = Utils.getGroupLoc(locNo);
            if (!Cools.isEmpty(groupInsideLoc)) {
                for (String insideLoc : groupInsideLoc) {
                    if (locNos.contains(insideLoc)) {
                        break;
                    }
                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
                    if (locMast != null) {
                        if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
                            sign = true;
                            th = "库位号:" + locNo + " 浅库位有非空库位!";
                            break;
                        }
                    }
                }
            }
        }
        if (sign){
            throw new CoolException("出库失败;" + th);
        }
        //检测提交的出库库位是否合法(浅库位有非空库位)
        Utils.checkStockOutLocNo(locNos);
        // 目标站点状态检测
        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
src/main/java/com/zy/asrs/utils/Utils.java
@@ -1,7 +1,12 @@
package com.zy.asrs.utils;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Arith;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.service.LocMastService;
import com.zy.common.properties.SlaveProperties;
import java.text.DecimalFormat;
@@ -527,6 +532,38 @@
        return result;
    }
    //检测提交的出库库位是否合法(浅库位有非空库位)
    public static void checkStockOutLocNo(List<String> locNos) {
        LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
        //检测是否为浅库位
        boolean sign = false;
        String th = "";
        for (String locNo : locNos) {
            if (sign) {
                break;
            }
            List<String> groupInsideLoc = Utils.getGroupLoc(locNo);
            if (!Cools.isEmpty(groupInsideLoc)) {
                for (String insideLoc : groupInsideLoc) {
                    if (locNos.contains(insideLoc)) {
                        break;
                    }
                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
                    if (locMast != null) {
                        if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
                            sign = true;
                            th = "库位号:" + locNo + " 浅库位有非空库位!";
                            break;
                        }
                    }
                }
            }
        }
        if (sign){
            throw new CoolException("出库失败;" + th);
        }
    }
    public static void main(String[] args) {
        List<String> groupLoc = Utils.getGroupLoc("1300801");
        System.out.println(groupLoc);