自动化立体仓库 - WMS系统
13
zhang
2025-05-25 3f21b9181b250de317761128771fa551e355a609
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -538,30 +538,26 @@
        LocMast locMast = locMastService.selectById(taskDto.getLocNo());
        List<LocMast> locMasts = new ArrayList<>();
        if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
        if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6) ) {
            locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                    .eq("gro1", locMast.getGro1())
                    .eq("crn_no", 7)
                    .eq("loc_type1", locMast.getLocType1())
                    .orderBy("bay1", false));
        } else {
            locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                    .eq("gro1", locMast.getGro1())
                    .eq("row1", locMast.getBay1())
                    .in("bay1", 3,4,5,6)
                    .eq("crn_no", 7)
                    .eq("loc_type1", locMast.getLocType1())
                    .orderBy("bay1", true));
        }
        for (LocMast locMast1 : locMasts) {
            if (locMast1.getLocNo().equals(taskDto.getLocNo())) {
                break;
            }
            if (locMast1.getLocSts().equals("X")) {
                throw new CoolException(taskDto.getLocNo() + "库位前方有锁定库位,禁止出库");
            }
            if (locMast1.getLocSts().equals("F")) {
                moveLocForDeepLoc(locMast1);
            for (LocMast locMast1 : locMasts) {
                if (locMast1.getLocNo().equals(taskDto.getLocNo())) {
                    break;
                }
                if (locMast1.getLocSts().equals("X")) {
                    throw new CoolException(taskDto.getLocNo() + "库位前方有锁定库位,禁止出库");
                }
                if (locMast1.getLocSts().equals("F")) {
                    locMast = locMast1;
                }
            }
        }
        // 获取路径
        int ioType = taskDto.isAll() ? 101 : 103;
@@ -1775,31 +1771,51 @@
            LocMast locMast = locMastService.selectById(dto.getLocNo());
            List<LocMast> locMasts = new ArrayList<>();
            if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
//            if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
//                locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
//                        .eq("gro1", locMast.getGro1())
//                        .eq("crn_no", 7)
//                        .eq("loc_type1", locMast.getLocType1())
//                        .orderBy("bay1", false));
//            } else {
//                locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
//                        .eq("gro1", locMast.getGro1())
//                        .eq("crn_no", 7)
//                        .eq("loc_type1", locMast.getLocType1())
//                        .orderBy("bay1", true));
//            }
//            for (LocMast locMast1 : locMasts) {
//                if (locMast1.getLocNo().equals(dto.getLocNo())) {
//                    break;
//                }
//                if (locMast1.getLocSts().equals("X")) {
//                    throw new CoolException(dto.getLocNo() + "库位前方有锁定库位,禁止出库");
//                }
//                if (locMast1.getLocSts().equals("F")) {
//                    moveLocForDeepLoc(locMast1);
//                }
//            }
            if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6) ) {
                locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                        .eq("gro1", locMast.getGro1())
                        .eq("crn_no", 7)
                        .eq("loc_type1", locMast.getLocType1())
                        .orderBy("bay1", false));
            } else {
                locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                        .eq("gro1", locMast.getGro1())
                        .eq("row1", locMast.getBay1())
                        .in("bay1", 3,4,5,6)
                        .eq("crn_no", 7)
                        .eq("loc_type1", locMast.getLocType1())
                        .orderBy("bay1", true));
            }
            for (LocMast locMast1 : locMasts) {
                if (locMast1.getLocNo().equals(dto.getLocNo())) {
                    break;
                }
                if (locMast1.getLocSts().equals("X")) {
                    throw new CoolException(dto.getLocNo() + "库位前方有锁定库位,禁止出库");
                }
                if (locMast1.getLocSts().equals("F")) {
                    moveLocForDeepLoc(locMast1);
                for (LocMast locMast1 : locMasts) {
                    if (locMast1.getLocNo().equals(locMast.getLocNo())) {
                        break;
                    }
                    if (locMast1.getLocSts().equals("X")) {
                        throw new CoolException(locMast.getLocNo() + "库位前方有锁定库位,禁止出库");
                    }
                    if (locMast1.getLocSts().equals("F")) {
                        locMast = locMast1;
                    }
                }
            }
            Integer outSta = staNo.getDevNo();
//            //2号堆垛机全板出库站指定为204站,拣料站指定为202
//            if(locMast.getCrnNo()==2){