自动化立体仓库 - WMS系统
#
zyx
2023-10-31 bd261458eee547abe546aa02b66a35ab511f59a1
src/main/java/com/zy/common/service/CommonService.java
@@ -120,12 +120,13 @@
    /**
     * 检索库位号
     * @param staDescId 路径ID
     *
     * @param staDescId   路径ID
     * @param sourceStaNo 源站
     * @param matNos 物料号集合
     * @param matNos      物料号集合
     * @return locNo 检索到的库位号
     */
    public StartupDto getLocNo(Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto,int times) {
    public StartupDto getLocNo(Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, int times) {
        // 目标库位
        LocMast locMast = null;
@@ -163,7 +164,13 @@
            //找到库位,返回dto
            return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto
        }
        if(locTypeDto.getLocType1()==1){
            locTypeDto.setLocType1((short)2);
            return getLocNo(staDescId, 1, sourceStaNo, matNos, locTypeDto,0);
        }else if(locTypeDto.getLocType1()==2){
            locTypeDto.setLocType1((short)3);
            return getLocNo(staDescId, 1, sourceStaNo, matNos, locTypeDto,0);
        }
        //找不到库位,抛出异常
        throw new CoolException("没有空库位");
    }
@@ -216,7 +223,7 @@
                LocMast locMast0 = locMastService.findNearloc(wrkMast.getLocNo());
                if (null != locMast0) {
                    // 浅库位符合尺寸检测
                    if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
                    if (VersionUtils.checkLocType(locMast0, locTypeDto)) {
                        locMast = locMast0;
                    }
                }
@@ -228,7 +235,7 @@
                    LocMast locMast0 = locMastService.findNearloc(locNo);
                    if (null != locMast0) {
                        // 浅库位符合尺寸检测
                        if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
                        if (VersionUtils.checkLocType(locMast0, locTypeDto)) {
                            locMast = locMast0;
                            break;
                        }
@@ -251,7 +258,7 @@
                LocMast locMast0 = locMastService.findNearloc(wrkMast.getLocNo());
                if (null != locMast0) {
                    // 浅库位符合尺寸检测
                    if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
                    if (VersionUtils.checkLocType(locMast0, locTypeDto)) {
                        locMast = locMast0;
                        break;
                    }
@@ -265,7 +272,7 @@
                        LocMast locMast0 = locMastService.findNearloc(loc.getLocNo());
                        if (null != locMast0) {
                            // 浅库位符合尺寸检测
                            if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
                            if (VersionUtils.checkLocType(locMast0, locTypeDto)) {
                                locMast = locMast0;
                                break;
                            }
@@ -309,6 +316,7 @@
        if (matNos.size() == 1) {
            //单品
            List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(), 2);//搜索单品库位
            for (LocMast mast : locMasts) {
                List<String> groupLoc = Utils.getGroupLoc(mast.getLocNo());
                if (!locMastService.checkAllLocEmpty(groupLoc)) {