自动化立体仓库 - WMS系统
zwl
2 天以前 2c1d32f4371145dc8636864fb268f316a57e77cb
src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
@@ -22,86 +22,46 @@
    @Autowired
    private BasDevpService basDevpService;
    /**
     * 检查堆垛机基础可用状态,不满足时直接抛出业务异常。
     */
    @Override
    public BasCrnp checkSiteStatus(Integer crnId) {
        BasCrnp crnp = this.selectById(crnId);
        if (Cools.isEmpty(crnp)) {
            throw new CoolException(crnId + "号堆垛机不存在");
        }
        if ("N".equals(crnp.getInEnable())) {
        if (!isEnabled(crnp.getInEnable())) {
            throw new CoolException(crnId + "堆垛机不可入");
        }
        if ("N".equals(crnp.getOutEnable())) {
        if (!isEnabled(crnp.getOutEnable())) {
            throw new CoolException(crnId + "堆垛机不可出");
        }
        return crnp;
    }
    /**
     * 统一校验堆垛机是否可参与入库/出库分配。
     */
    @Override
    public boolean checkSiteError(Integer crnNo, boolean pakin) {
        BasCrnp crnp = this.selectById(crnNo);
        if (Cools.isEmpty(crnp)) {
            log.error("{}号堆垛机不存在", crnNo);
//            log.error("{}号堆垛机不存在", crnNo);
            return false;
        }
        if (crnp.getCrnErr() != null && crnp.getCrnSts() != 3){
        if (crnp.getCrnSts() == null || crnp.getCrnSts() != 3) {
            log.error("{}号堆垛机非自动连线状态,无法作业!", crnNo);
            return false;
        }
        if (crnp.getCrnErr() != null) {
            if (crnp.getCrnErr() != 0) {
                log.error("{}号堆垛机异常,异常码{}", crnNo, crnp.getCrnErr());
                return false;
            }
        if (crnp.getCrnErr() != null && crnp.getCrnErr() != 0) {
            log.error("{}号堆垛机异常,异常码{}", crnNo, crnp.getCrnErr());
            return false;
        }
        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;
//            }
            //控制入库暂存数,防止主干道堵塞,2022-10-23 ADD  未实装
//            int maxCount = 2;
//            BasDevp devp = basDevpService.selectById(staNo);
//            if(!Cools.isEmpty(devp)){
//                maxCount = devp.getInQty();
//            }
//
//            int storeCount = wrkMastService.getStoreCount(crnNo);
//
//            if(storeCount >= maxCount){
@@ -109,12 +69,12 @@
//                return false;
//            }
            if ("N".equals(crnp.getInEnable())) {
            if (!isEnabled(crnp.getInEnable())) {
                log.error("{}号堆垛机不可入", crnNo);
                return false;
            }
        } else {
            if ("N".equals(crnp.getOutEnable())) {
            if (!isEnabled(crnp.getOutEnable())) {
                log.error("{}号堆垛机不可出", crnNo);
                return false;
            }
@@ -122,4 +82,8 @@
        return true;
    }
    private boolean isEnabled(String flag) {
        return "Y".equalsIgnoreCase(flag);
    }
}