From bb1430c419fea99d27450c905e86e024683b227c Mon Sep 17 00:00:00 2001 From: yvan Date: Sat, 26 Jul 2025 12:58:40 +0800 Subject: [PATCH 1/3] PlanTaskSequence.option, loadHeight / unloadHeight --- .../java/com/galaxis/rcs/plan/PlanTaskSequence.java | 18 +++++++++++++++++- .../com/yvan/workbench/controller/RcsController.java | 3 +++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java b/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java index c6180b7..554796e 100644 --- a/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java +++ b/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java @@ -12,6 +12,7 @@ import com.yvan.logisticsModel.ExecutorItem; import com.yvan.logisticsModel.LogisticsRuntime; import com.yvan.logisticsModel.LogisticsRuntimeService; import lombok.extern.slf4j.Slf4j; +import org.clever.core.Conv; import org.clever.core.id.SnowFlake; import org.clever.core.json.JsonWrapper; @@ -39,6 +40,7 @@ public class PlanTaskSequence { public BasLocationVo unloadBasLocationVo; public BasLocationVo executorVo; public int carryQty; + public Map option; public PlanTaskSequence(String executorId, LogisticsRuntime logisticsRuntime, RcsTaskBiz bizTask, String createBy) { this.executorId = executorId; @@ -65,7 +67,7 @@ public class PlanTaskSequence { return planTask; } - public ExecutorItem getAgv(){ + public ExecutorItem getAgv() { return this.logisticsRuntime.executorItemMap.get(this.executorId); } @@ -209,6 +211,20 @@ public class PlanTaskSequence { return this.taskList.size(); } + public float getLoadHeight() { + if (this.option == null || this.option.get("loadHeight") == null) { + return 0f; + } + return Conv.asFloat(this.option.get("loadHeight")); + } + + public float getUnloadHeight() { + if (this.option == null || this.option.get("unloadHeight") == null) { + return 0f; + } + return Conv.asFloat(this.option.get("unloadHeight")); + } + public int completedCount() { int count = 0; for (RcsTaskPlan task : taskList) { diff --git a/servo/src/main/java/com/yvan/workbench/controller/RcsController.java b/servo/src/main/java/com/yvan/workbench/controller/RcsController.java index 41327db..d98e8ff 100644 --- a/servo/src/main/java/com/yvan/workbench/controller/RcsController.java +++ b/servo/src/main/java/com/yvan/workbench/controller/RcsController.java @@ -224,6 +224,7 @@ public class RcsController { ps.planSequence.unloadBasLocationVo = new BasLocationVo(unloadBasLocation); ps.planSequence.carryLpn = lpn; ps.planSequence.carryQty = 1; + ps.planSequence.option = ps.option; ps.runtime.pathPlannerMap.get(ps.agv.getT()) .planCarryTask(ps.planSequence, ps.fromItem.getId(), ps.fromDirection, carryTask); @@ -289,6 +290,7 @@ public class RcsController { ps.planSequence.unloadBasLocationVo = new BasLocationVo(unloadBasLocation); ps.planSequence.carryLpn = lpn; ps.planSequence.carryQty = 1; + ps.planSequence.option = ps.option; ps.runtime.pathPlannerMap.get(ps.agv.getT()) .planUnloadTask(ps.planSequence, ps.fromItem.getId(), ps.fromDirection, unloadTask); @@ -353,6 +355,7 @@ public class RcsController { ps.planSequence.unloadBasLocationVo = null; ps.planSequence.carryLpn = lpn; ps.planSequence.carryQty = 1; + ps.planSequence.option = ps.option; ps.runtime.pathPlannerMap.get(ps.agv.getT()) .planLoadTask(ps.planSequence, ps.fromItem.getId(), ps.fromDirection, loadTask); From c17dca99fe2cc8632cd294901525e85f369dbb93 Mon Sep 17 00:00:00 2001 From: yvan Date: Sat, 26 Jul 2025 13:22:37 +0800 Subject: [PATCH 2/3] PlanTaskSequence.option, loadHeight / unloadHeight --- servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java | 8 +++++++- .../src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java | 12 ++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java b/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java index 1277282..cfade98 100644 --- a/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java +++ b/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java @@ -27,7 +27,7 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.locks.LockSupport; @Slf4j -public abstract class AmrAgvItem extends ExecutorItem { +public abstract class AmrAgvItem extends ExecutorItem { private static final int BLOCKING_QUEUE_CAPACITY = 100; private static final Redis redis = RedisAdmin.getRedis(); @@ -596,6 +596,9 @@ public abstract class AmrAgvItem extends ExecutorItem { } else { deviceTask.goodsSlotHeight = 1; } + if (sequence.getUnloadHeight() > 0d) { + deviceTask.goodsSlotHeight = (int) Math.round(sequence.getLoadHeight() * 1000); + } if (linkStore != null) { for (Map store : linkStore) { if (store.get("item").equals(plan.getTargetId()) && store.get("level").equals(plan.getTargetLevel()) && store.get("bay").equals(plan.getTargetBay()) && store.get("cell").equals(plan.getTargetCell())) { @@ -660,6 +663,9 @@ public abstract class AmrAgvItem extends ExecutorItem { } else { deviceTask.goodsSlotHeight = 1; } + if (sequence.getUnloadHeight() > 0d) { + deviceTask.goodsSlotHeight = (int) Math.round(sequence.getUnloadHeight() * 1000); + } if (linkStore != null) { for (Map store : linkStore) { if (store.get("item").equals(plan.getTargetId()) && store.get("level").equals(plan.getTargetLevel()) && store.get("bay").equals(plan.getTargetBay()) && store.get("cell").equals(plan.getTargetCell())) { diff --git a/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java b/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java index 554796e..c2b12fd 100644 --- a/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java +++ b/servo/src/main/java/com/galaxis/rcs/plan/PlanTaskSequence.java @@ -211,18 +211,18 @@ public class PlanTaskSequence { return this.taskList.size(); } - public float getLoadHeight() { + public double getLoadHeight() { if (this.option == null || this.option.get("loadHeight") == null) { - return 0f; + return 0d; } - return Conv.asFloat(this.option.get("loadHeight")); + return Conv.asDouble(this.option.get("loadHeight")); } - public float getUnloadHeight() { + public double getUnloadHeight() { if (this.option == null || this.option.get("unloadHeight") == null) { - return 0f; + return 0d; } - return Conv.asFloat(this.option.get("unloadHeight")); + return Conv.asDouble(this.option.get("unloadHeight")); } public int completedCount() { From 1b68804430493adba96bee091ee279b7dea73c7a Mon Sep 17 00:00:00 2001 From: yvan Date: Sat, 26 Jul 2025 13:23:32 +0800 Subject: [PATCH 3/3] PlanTaskSequence.option, loadHeight / unloadHeight --- servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java b/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java index cfade98..2dee505 100644 --- a/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java +++ b/servo/src/main/java/com/galaxis/rcs/amr/AmrAgvItem.java @@ -598,6 +598,7 @@ public abstract class AmrAgvItem extends ExecutorItem { } if (sequence.getUnloadHeight() > 0d) { deviceTask.goodsSlotHeight = (int) Math.round(sequence.getLoadHeight() * 1000); + log.info("option.loadHeight = {}", deviceTask.goodsSlotHeight); } if (linkStore != null) { for (Map store : linkStore) { @@ -665,6 +666,7 @@ public abstract class AmrAgvItem extends ExecutorItem { } if (sequence.getUnloadHeight() > 0d) { deviceTask.goodsSlotHeight = (int) Math.round(sequence.getUnloadHeight() * 1000); + log.info("option.unloadHeight = {}", deviceTask.goodsSlotHeight); } if (linkStore != null) { for (Map store : linkStore) {