#
luxiaotao1123
2025-12-29 9e7d103dcc2d95f72109ab5f02d3e942e9b7bbf9
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1495,33 +1495,42 @@
                                success = true;
                                break;
                            case ORI_STA:
                                // load from sta
                                sta = staService.getById(currTask.getOriSta());
                                boolean reserveWaitingOk = staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT);
                                if (!reserveWaitingOk) {
                                // reserve to be waiting
                                if (!staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT)) {
                                    break;
                                }
                                boolean permit = conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT);
                                if (!permit) {
                                // convey plc valid
                                if (!conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT)) {
                                    // reserve rollback
                                    staReserveService.rollbackWaitingToReserved(sta, currTask, StaReserveType.OUT);
                                    break;
                                }
                                success = true;
                                break;
                            case DEST_STA:
                                // place sta
                                // place to sta
                                sta = staService.getById(currTask.getDestSta());
                                success = staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.IN);
                                // reserve to be waiting
                                if (!staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.IN)) {
                                    break;
                                }
                                // convey plc valid
                                if (!conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT)) {
                                    // reserve rollback
                                    staReserveService.rollbackWaitingToReserved(sta, currTask, StaReserveType.OUT);
                                    break;
                                }
                                success = true;
                                break;
                            default:
                                log.error("agv[{}] has wrong posType [{}], segment [{}]", protocol.getAgvNo(), posType.toString(), currSeg.getId());
                                break;
                        }
                    }
                }
            } catch (Exception e) {
                log.error("agv[{}] failed to deal with action request, qrCode={}", agv.getUuid(), agv_06_up.getVal(), e);
            }