1
zhang
2025-09-29 0d81063735b221b81413784db00aff62e77f637b
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -974,6 +974,8 @@
                        } else {
                            this.inPut(crn, crnProtocol, mark);
                        }
                    } else {
                        log.error("" + mark + " - 1" + " - 有物料无工作档  ===》异常");
                    }
                } else if (crnProtocol.getLoaded() == 1 && crnProtocol.getLoadedTwo() == 0) {
                    // 堆垛机工位1有物料
@@ -996,6 +998,8 @@
                                this.inPut(crn, crnProtocol, mark);
                            }
                        }
                    } else {
                        log.error("" + mark + " - 1" + " - 有物料无工作档  ===》异常");
                    }
                } else if (crnProtocol.getLoaded() == 0 && crnProtocol.getLoadedTwo() == 1) {
                    // 堆垛机工位2有物料
@@ -1018,6 +1022,8 @@
                                this.inPut(crn, crnProtocol, mark);
                            }
                        }
                    } else {
                        log.error("" + mark + " - 1" + " - 有物料无工作档  ===》异常");
                    }
                }
            }
@@ -1366,7 +1372,7 @@
                    crnCommand.setPltType(crnStation);
                    crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号
//                    crnCommand.setAckFinish((short) 0);  // 任务完成确认位
                    crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式:  库位移转
                    crnCommand.setTaskMode(CrnTaskModeType.TAKE); // 任务模式:  库位移转
                    crnCommand.setSourcePosX((short) (sourceSta.getRow1() + slave.getOffset()));     // 源库位排
                    crnCommand.setSourcePosY((short) (sourceSta.getBay1() + slave.getOffset()));     // 源库位列
                    crnCommand.setSourcePosZ((short) (sourceSta.getLev1() + slave.getOffset()));     // 源库位层
@@ -1394,7 +1400,7 @@
    }
    /**
     * 出库取货
     * 出库放货
     */
    public synchronized void outPut(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) {
        News.warnNoLog("" + mark + " - 2" + " - 0" + " - 堆垛机入出库作业下发:执行出库");
@@ -1494,6 +1500,11 @@
                        }
                    }
                    if (wrkMastMapper.selectByPltType(slave.getId(), wrkMast.getPltType()) == null) {
                        News.error("" + mark + " - 1" + " - 9" + " - 堆垛机改工位存在工作档,工位={}", wrkMast.getPltType());
                    }
                    // 已经存在吊车执行任务时,则过滤
                    if (wrkMastMapper.selectWorking(slave.getId()) != null) {
                        break;
@@ -1510,7 +1521,7 @@
                    crnCommand.setCrnNo(slave.getId()); // 堆垛机编号
                    crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号
//                    crnCommand.setAckFinish((short) 0);  // 任务完成确认位
                    crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式:  库位移转
                    crnCommand.setTaskMode(CrnTaskModeType.PUT); // 任务模式:  库位移转
//                    crnCommand.setSourcePosX((short) (sourceSta.getRow1() + slave.getOffset()));     // 源库位排
//                    crnCommand.setSourcePosY((short) (sourceSta.getBay1() + slave.getOffset()));     // 源库位列
//                    crnCommand.setSourcePosZ((short) (sourceSta.getLev1() + slave.getOffset()));     // 源库位层
@@ -2661,13 +2672,14 @@
            LocMast loc = null;
            for (Integer row : rows) {
                if (Utils.isDeepLoc(slaveProperties, row)) {
                    if (shallowLoc.getRow1() == 1 && row == 1) {
                        loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                    } else if (shallowLoc.getRow1() == 29 && row == 29) {
                        loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                    if (shallowLoc.getBay1() == 1) {
                        loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1(), 1);
                    } else if (shallowLoc.getRow1() == 29) {
                        loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1(), 29);
                    } else {
                        loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
                    }
                    if (loc != null) {
                        if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
@@ -2686,10 +2698,10 @@
            if (null == loc) {
                for (Integer row : rows) {
                    if (Utils.isShallowLoc(slaveProperties, row)) {
                        if (shallowLoc.getRow1() == 1 && row == 1) {
                            loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                        } else if (shallowLoc.getRow1() == 29 && row == 29) {
                            loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                        if (shallowLoc.getBay1() == 1) {
                            loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1(), 1);
                        } else if (shallowLoc.getRow1() == 29) {
                            loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1(), 29);
                        } else {
                            loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
                        }