自动化立体仓库 - WMS系统
#
zjj
2025-06-30 fa2e00c46422b436d15eee8f2cd915c306681f9a
src/main/java/com/zy/common/service/CommonService.java
@@ -127,11 +127,6 @@
            switch (rowLastnoType.getType()) {
                case 1:
                    List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                            .eq("loc_sts", "O").eq("loc_type1", locTypeDto.getLocType1()).eq("whs_type", rowLastnoType.getType().longValue()));
                    if (locMasts != null && locMasts.size() < 8) {
                        throw new CoolException("没有空库位");
                    }
                    return getLocNoRun(whsType, staDescId, sourceStaNo, matnr, batch, grade, 0, locTypeDto, 0);
                case 2:
                    log.error("站点={} 未查询到对应的规则", sourceStaNo);
@@ -439,6 +434,14 @@
                }
            }
        }
        //查询当前库位类型空库位 小于5个则locmast = null
        List<LocMast> locTypeLocMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                .eq("loc_sts", "O").eq("crn_no", crnNo).eq("loc_type1", locTypeDto.getLocType1())
                        .eq("whs_type", rowLastnoType.getType().longValue())
                );
        if (null !=locTypeLocMasts && locTypeLocMasts.size()<=5){
            locMast = null;
        }
        if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) {
            locMast = null;
@@ -653,7 +656,7 @@
                    continue;
                }
                for (LocMast locMastGro1 : locMasts1) {
                    if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q") || locMastGro1.getLocSts().equals("R") || locMastGro1.getLocSts().equals("X")) {
                    if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q") || locMastGro1.getLocSts().equals("S") || locMastGro1.getLocSts().equals("R") || locMastGro1.getLocSts().equals("X")) {
                        break;
                    }
                    if (locMastGro1.getLocSts().equals("O")) {
@@ -672,6 +675,12 @@
                times = times + 1;
                return getLocNoRun4(whsType, staDescId, sourceStaNo, matnr, batch, grade, moveCrnNo, locTypeDto, times, mixture);
            }
            // 2.库位当前所属尺寸无空库位时,调整尺寸参数,向上兼容检索库位
            if (locTypeDto.getLocType1() < 2) {
                int i = locTypeDto.getLocType1() + 1;
                locTypeDto.setLocType1((short) i);
                return getLocNoRun4(whsType, staDescId, sourceStaNo, matnr, batch, grade, moveCrnNo, locTypeDto, 0, mixture);
            }
            log.error("系统没有空库位!!! 尺寸规格: {}, 轮询次数:{}", JSON.toJSONString(locTypeDto), times);
            throw new CoolException("没有空库位");
        }