| | |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.TurnCorner.desc, // 名称 |
| | | mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 属性值 |
| | | mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | String.valueOf(oriStaWorkDirection), // 动作参数 |
| | | ActionTypeType.TurnCorner.val(), // 动作类型 |
| | |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.ReadyReleaseToAgvSite.desc, // 名称 |
| | | (double) backpackType.lev, // 属性值 |
| | | (double) backpackType.lev, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | String.valueOf(backpackType.height), // 动作参数 |
| | | ActionTypeType.ReadyReleaseToAgvSite.val(), // 动作类型 |
| | |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.TurnCorner.desc, // 名称 |
| | | mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 属性值 |
| | | mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | String.valueOf(destStaWorkDirection), // 动作参数 |
| | | ActionTypeType.TurnCorner.val(), // 动作类型 |
| | |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.ReadyTakeFromAgvSite.desc, // 名称 |
| | | (double) backpackType.lev, // 属性值 |
| | | (double) backpackType.lev, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | String.valueOf(backpackType.height), // 动作参数 |
| | | ActionTypeType.ReadyTakeFromAgvSite.val(), // 动作类型 |
| | |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.ReadyReleaseToConveyorSta.desc, // 名称 |
| | | staWorkDirection, // 属性值 |
| | | staWorkDirection, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | String.valueOf(destSta.getOffset()), // 动作参数 |
| | | ActionTypeType.ReadyReleaseToConveyorSta.val(), // 动作类型 |
| | |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.TurnCorner.desc, // 名称 |
| | | mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 属性值 |
| | | mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | String.valueOf(chargeDirection), // 动作参数 |
| | | ActionTypeType.TurnCorner.val(), // 动作类型 |
| | |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.DockingCharge.desc, // 名称 |
| | | null, // 属性值 |
| | | null, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | null, // 动作参数 |
| | | ActionTypeType.DockingCharge.val(), // 动作类型 |
| | |
| | | // null, // 动作号 |
| | | // null, // 优先级 |
| | | // ActionTypeType.TurnCorner.desc, // 名称 |
| | | // null, // 属性值 |
| | | // null, // 属性값 |
| | | // lastCode.getData(), // 地面码 |
| | | // String.valueOf(standByDirection), // 动作参数 |
| | | // ActionTypeType.TurnCorner.val(), // 动作类型 |
| | |
| | | // )); |
| | | // lastDirection = standByDirection; |
| | | // } |
| | | String runToWaitHeightFlag = configService.getVal("RunToWaitHeightFlag", String.class); |
| | | if (!Cools.isEmpty(runToWaitHeightFlag) && runToWaitHeightFlag.contains(agvId.toString())) { |
| | | String runToWaitHeight = configService.getVal("RunToWaitHeight", String.class); |
| | | if (Cools.isEmpty(runToWaitHeight)) { |
| | | runToWaitHeight = "800"; |
| | | } |
| | | Double runToWaitHeightValue = configService.getVal("RunToWaitHeightValue", Double.class); |
| | | if (Cools.isEmpty(runToWaitHeight) || runToWaitHeightValue == 0) { |
| | | runToWaitHeightValue = 1D; |
| | | } |
| | | // 修复空指针异常:检查lastCode是否为null |
| | | if (lastCode == null) { |
| | | throw new BusinessException("AGV定位信息异常,无法生成待机动作"); |
| | | } |
| | | actionList.add(new Action( |
| | | null, // 编号 |
| | | task.getBusId(), // 总线 |
| | | task.getId(), // 任务 |
| | | null, // 动作号 |
| | | null, // 优先级 |
| | | ActionTypeType.RunToWaitHeight.desc, // 名称 |
| | | runToWaitHeightValue, // 属性값 |
| | | lastCode.getData(), // 地面码 |
| | | runToWaitHeight, // 动作参数 |
| | | ActionTypeType.RunToWaitHeight.val(), // 动作类型 |
| | | actionPrepareSts, // 动作进度 |
| | | agvId, // AGV |
| | | now // 工作时间 |
| | | )); |
| | | } |
| | | break; |
| | | case MOVE: |
| | | break; |
| | |
| | | .bodySync(body -> body.setDepth((short) Double.parseDouble(action.getParams()))) |
| | | ); |
| | | break; |
| | | case RunToWaitHeight: |
| | | agvAction.add(new AgvActionItem<>(RunToWaitHeight.class) |
| | | .setVal(action.getVal().intValue()) |
| | | .setQrCode(action.getCode()) |
| | | .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) |
| | | ); |
| | | break; |
| | | case FinishPath: |
| | | agvAction.add(new AgvActionItem<>(FinishPathAction.class) |
| | | .setQrCode(action.getCode()) |