From 62e329c69dca026a38093c141ebf56d24fa11801 Mon Sep 17 00:00:00 2001 From: luoyifan Date: Sun, 22 Jun 2025 00:22:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=89=A7=E8=A1=8C=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E7=9A=84=E6=90=AD=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/galaxis/rcs/plan/PTRTaskPlanner.java | 65 +++++++++++++++++++++ .../com/galaxis/rcs/plan/TaskPlannerFactory.java | 2 - .../galaxis/rcs/plan/planner/PTRTaskPlanner.java | 66 ---------------------- 3 files changed, 65 insertions(+), 68 deletions(-) create mode 100644 servo/src/main/java/com/galaxis/rcs/plan/PTRTaskPlanner.java delete mode 100644 servo/src/main/java/com/galaxis/rcs/plan/planner/PTRTaskPlanner.java diff --git a/servo/src/main/java/com/galaxis/rcs/plan/PTRTaskPlanner.java b/servo/src/main/java/com/galaxis/rcs/plan/PTRTaskPlanner.java new file mode 100644 index 0000000..8413aff --- /dev/null +++ b/servo/src/main/java/com/galaxis/rcs/plan/PTRTaskPlanner.java @@ -0,0 +1,65 @@ +package com.galaxis.rcs.plan; + +import com.galaxis.rcs.common.entity.RcsTaskBiz; +import com.galaxis.rcs.common.entity.RcsTaskPlan; +import com.yvan.logisticsModel.LogisticsRuntime; + +/** + * PTR 任务规划器。 + * 用于处理 CL2 / CLX 等车型的任务规划 + */ +public class PTRTaskPlanner implements Planner { + /** + * 执行任务规划 + * + * @param runtime 物流运行时环境 + * @param task 任务对象,包含任务的详细信息 + * @param executorId 执行器ID + */ + @Override + public void executePlan(LogisticsRuntime runtime, RcsTaskBiz task, String executorId) { + /** + * 示例数据 + * { + * type: 'carry', // 任务类型 + * agv: 'cl2', // 指定车辆 + * lpn: 'pallet1124', // 托盘ID, 用于校验 + * priority: 1, // 优先级 + * // 起始点位的详细信息 + * from: { + * item: '27', // 货架编号 + * bay: 0, // 货架列 + * level: 1, // 货架层 + * cell: 0 // 货架格 + * }, + * // 目标点位的详细信息 + * to: { + * item: '20' // 地堆货位号 + * } + * } + */ + + /** + * 地图路由示例1 + * 17<->20, 20<->21, 21<->22, 22<->23, 23<->24, 24<->25, 25<->26, 26<->27, 27<->charger2, + * + * 地图货位信息 + * 21 左侧 rack1 / 3 + * 22 右侧 56 + * 23 左侧 rack1 / 2 + * 24 旋转位 + * 25 左侧 rack1 / 1 + * 26 右侧 58 + * 27 左侧 rack1 / 0 + */ + + // 绑定任务执行器 + task.setAllocatedExecutorId(executorId); + + // TODO: 写入 rcs_task_biz 表, 写入 rcs_task_plan 表, 并安排规划方案的顺序执行, 并将全部规划通知给 MQTT + RcsTaskPlan[] planList = new RcsTaskPlan[0]; + + runtime.executorItemMap.get(executorId).executeTaskPlanList(runtime, task, planList); + } + +} diff --git a/servo/src/main/java/com/galaxis/rcs/plan/TaskPlannerFactory.java b/servo/src/main/java/com/galaxis/rcs/plan/TaskPlannerFactory.java index a83c9c7..57be144 100644 --- a/servo/src/main/java/com/galaxis/rcs/plan/TaskPlannerFactory.java +++ b/servo/src/main/java/com/galaxis/rcs/plan/TaskPlannerFactory.java @@ -1,7 +1,5 @@ package com.galaxis.rcs.plan; -import com.galaxis.rcs.plan.planner.PTRTaskPlanner; - import java.util.Map; /** diff --git a/servo/src/main/java/com/galaxis/rcs/plan/planner/PTRTaskPlanner.java b/servo/src/main/java/com/galaxis/rcs/plan/planner/PTRTaskPlanner.java deleted file mode 100644 index 96c7826..0000000 --- a/servo/src/main/java/com/galaxis/rcs/plan/planner/PTRTaskPlanner.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.galaxis.rcs.plan.planner; - -import com.galaxis.rcs.common.entity.RcsTaskBiz; -import com.galaxis.rcs.common.entity.RcsTaskPlan; -import com.galaxis.rcs.plan.Planner; -import com.yvan.logisticsModel.LogisticsRuntime; - -/** - * PTR 任务规划器。 - * 用于处理 CL2 / CLX 等车型的任务规划 - */ -public class PTRTaskPlanner implements Planner { - /** - * 执行任务规划 - * - * @param runtime 物流运行时环境 - * @param task 任务对象,包含任务的详细信息 - * @param executorId 执行器ID - */ - @Override - public void executePlan(LogisticsRuntime runtime, RcsTaskBiz task, String executorId) { - /** - * 示例数据 - * { - * type: 'carry', // 任务类型 - * agv: 'cl2', // 指定车辆 - * lpn: 'pallet1124', // 托盘ID, 用于校验 - * priority: 1, // 优先级 - * // 起始点位的详细信息 - * from: { - * item: '27', // 货架编号 - * bay: 0, // 货架列 - * level: 1, // 货架层 - * cell: 0 // 货架格 - * }, - * // 目标点位的详细信息 - * to: { - * item: '20' // 地堆货位号 - * } - * } - */ - - /** - * 地图路由示例1 - * 17<->20, 20<->21, 21<->22, 22<->23, 23<->24, 24<->25, 25<->26, 26<->27, 27<->charger2, - * - * 地图货位信息 - * 21 左侧 rack1 / 3 - * 22 右侧 56 - * 23 左侧 rack1 / 2 - * 24 旋转位 - * 25 左侧 rack1 / 1 - * 26 右侧 58 - * 27 左侧 rack1 / 0 - */ - - // 绑定任务执行器 - task.setAllocatedExecutorId(executorId); - - // TODO: 写入 rcs_task_biz 表, 写入 rcs_task_plan 表, 并安排规划方案的顺序执行, 并将全部规划通知给 MQTT - RcsTaskPlan[] planList = new RcsTaskPlan[0]; - - runtime.executorItemMap.get(executorId).executeTaskPlanList(runtime, task, planList); - } - -}