From 272d7eac91547a88522fcf697877b49a2b116851 Mon Sep 17 00:00:00 2001 From: yvan Date: Mon, 30 Jun 2025 11:15:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BB=E5=8F=96=E8=BD=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yvan/logisticsModel/LogisticsRuntime.java | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/servo/src/main/java/com/yvan/logisticsModel/LogisticsRuntime.java b/servo/src/main/java/com/yvan/logisticsModel/LogisticsRuntime.java index e83ee5a..7ee40f4 100644 --- a/servo/src/main/java/com/yvan/logisticsModel/LogisticsRuntime.java +++ b/servo/src/main/java/com/yvan/logisticsModel/LogisticsRuntime.java @@ -16,11 +16,16 @@ import com.yvan.logisticsEnv.LogisticsEnv; import lombok.extern.slf4j.Slf4j; import org.clever.core.Conv; import org.clever.core.json.JsonWrapper; +import org.clever.data.jdbc.DaoFactory; +import org.clever.data.jdbc.QueryDSL; +import org.clever.data.jdbc.querydsl.utils.QueryDslUtils; import java.util.List; import java.util.Map; import java.util.Set; +import static com.galaxis.rcs.common.query.QLccBasExecutor.lccBasExecutor; + /** * 物流上下文运行时 */ @@ -166,6 +171,43 @@ public class LogisticsRuntime { break; } } + + // 读取地图上所有的车 + final QueryDSL queryDSL = DaoFactory.getQueryDSL(); + var list = queryDSL.select(QueryDslUtils.linkedMap( + lccBasExecutor.executorId, + lccBasExecutor.virtualLocationAt, + lccBasExecutor.virtualExecutorPayload + )) + .from(lccBasExecutor) + .where(lccBasExecutor.envId.eq(envId)) + .where(lccBasExecutor.isActive.eq(true)) + .fetch(); + + for (var item : list) { + String payload = Conv.asString(item.get("virtual_executor_payload")); + /** + * { + * "id": "3", + * "t": "cl2", + * "v": true, + * "dt": { + * "ptrWidth": 1.5, + * "ptrDepth": 1.5, + * "ptrHeight": 1.98 + * } + * } + */ + JsonWrapper jwPayload = new JsonWrapper(payload); + if ("cl2".equals(jwPayload.asStr("t"))) { + var eitem = new Cl2Item(this, (Map) jwPayload.getInnerMap()); + this.executorItemMap.put(eitem.getId(), eitem); + + } else if ("clx".equals(jwPayload.asStr("t"))) { + var eitem = new Cl2Item(this, (Map) jwPayload.getInnerMap()); + this.executorItemMap.put(eitem.getId(), eitem); + } + } } /**