自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-08-31 c08372ebf93b19997a2e4f3a6d3e81cfc041ee9b
#
2个文件已修改
122 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
@@ -4,7 +4,6 @@
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.mapper.BasCrnpMapper;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.BasDevpService;
@@ -57,57 +56,57 @@
        if (pakin) {
            //TODO控制入库暂存数,防止主干道堵塞,2022-5-24 ADD
            int staNo = 0;
            switch (crnNo){
                case 1:
                    staNo = 123;
                    break;
                case 2:
                    staNo = 121;
                    break;
                case 3:
                    staNo = 119;
                    break;
                case 4:
                    staNo = 117;
                    break;
                case 5:
                    staNo = 115;
                    break;
                case 6:
                    staNo = 113;
                    break;
                case 7:
                    staNo = 111;
                    break;
                case 8:
                    staNo = 109;
                    break;
                case 9:
                    staNo = 106;
                    break;
                case 10:
                    staNo = 105;
                    break;
                case 11:
                    staNo = 103;
                    break;
                case 12:
                    staNo = 101;
                    break;
            }
            int maxCount = 2;
            BasDevp devp = basDevpService.selectById(staNo);
            if(!Cools.isEmpty(devp)){
                maxCount = devp.getInQty();
            }
            int storeCount = wrkMastService.getStoreCount(crnNo);
            if(storeCount >= maxCount){
                log.error("{}号堆垛机暂存数已满!", crnNo);
                return false;
            }
//            int staNo = 0;
//            switch (crnNo){
//                case 1:
//                    staNo = 123;
//                    break;
//                case 2:
//                    staNo = 121;
//                    break;
//                case 3:
//                    staNo = 119;
//                    break;
//                case 4:
//                    staNo = 117;
//                    break;
//                case 5:
//                    staNo = 115;
//                    break;
//                case 6:
//                    staNo = 113;
//                    break;
//                case 7:
//                    staNo = 111;
//                    break;
//                case 8:
//                    staNo = 109;
//                    break;
//                case 9:
//                    staNo = 106;
//                    break;
//                case 10:
//                    staNo = 105;
//                    break;
//                case 11:
//                    staNo = 103;
//                    break;
//                case 12:
//                    staNo = 101;
//                    break;
//            }
//            int maxCount = 2;
//            BasDevp devp = basDevpService.selectById(staNo);
//            if(!Cools.isEmpty(devp)){
//                maxCount = devp.getInQty();
//            }
//
//            int storeCount = wrkMastService.getStoreCount(crnNo);
//
//            if(storeCount >= maxCount){
//                log.error("{}号堆垛机暂存数已满!", crnNo);
//                return false;
//            }
            if ("N".equals(crnp.getInEnable())) {
                log.error("{}号堆垛机不可入", crnNo);
src/main/java/com/zy/common/service/CommonService.java
@@ -123,8 +123,7 @@
                whsType = 3;
                break;
            default:
                whsType = 1;
                break;
                throw new CoolException("检索库位失败,请联系管理员");
        }
        // 生成工作号
        int workNo = getWorkNo(0);
@@ -184,6 +183,19 @@
        // 如果没有相近物料,则按规则轮询货架
        if (null == locMast) {
            switch (whsType) {
                case 1:
                    crnNo = 1;
                    break;
                case 2:
                    crnNo = 2;
                    break;
                case 3:
                    crnNo = 3;
                    break;
                default:
                    throw new CoolException("检索库位失败,请联系管理员");
            }
            Shelves shelves = new Shelves(rowCount, crn_qty);
            for (int i = 0; i < shelves.group; i ++) {
                curRow = shelves.start(curRow);
@@ -201,6 +213,9 @@
            }
        }
        if (!basCrnpService.checkSiteError(crnNo, true)) {
            throw new CoolException("没有可用的堆垛机");
        }
        if (crnNo == 0) {
            throw new CoolException("没有可用的堆垛机");
        }