自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-08-17 cb7dd7a126955cd9d84f24494220f6ce68e99589
src/main/java/com/zy/common/service/CommonService.java
@@ -113,7 +113,17 @@
     */
    public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, LocTypeDto oldLocType, int times) {
        StartupDto startupDto = new StartupDto();
        switch (sourceStaNo) {
            case 107:
                whsType = 2;
                break;
            case 118:
                whsType = 3;
                break;
            default:
        whsType = 1;
                break;
        }
        // 生成工作号
        int workNo = getWorkNo(0);
        RowLastno rowLastno = rowLastnoService.selectById(whsType);
@@ -179,6 +189,9 @@
                    throw new CoolException("检索库位失败,请联系管理员");
                }
                Integer crnNo1 = shelves.get(curRow) + 1;
                if (whsType != 1) {
                    crnNo1 = whsType;
                }
                if (basCrnpService.checkSiteError(crnNo1, true)) {
                    crnNo = crnNo1;
                    break;
@@ -215,6 +228,11 @@
        // 1.当检索库排为浅库位排时,优先寻找当前库排的深库位排
        if (locMast == null) {
            List<Integer> rows;
            if (whsType == 2) {
                rows = FIRST_GROUP_ROW_LIST;
            } else if (whsType == 3) {
                rows = SECOND_GROUP_ROW_LIST;
            } else {
            switch (curRow) {
                case 1:
                    rows = FIRST_GROUP_ROW_LIST;
@@ -225,8 +243,9 @@
                default:
                    throw new CoolException("入库逻辑故障【" + curRow + "】");
            }
            }
            locMast = locMastService.queryFreeLocMast(curRow, rows, locTypeDto.getLocType1());
            locMast = locMastService.queryFreeLocMast(null, rows, locTypeDto.getLocType1());
            // 因库位移转、需预留空库位
//            if (!locMastService.checkEmptyCount(locMast)) {
//                locMast = null;