From 366ba040d2447bacd3455299425e3166f1f992bb Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期四, 20 十一月 2025 14:38:32 +0800
Subject: [PATCH] 添加大车、大理片笼以及多设备串行/并行执行写入基础逻辑
---
mes-processes/mes-plcSend/src/main/java/com/mes/interaction/flow/LargeGlassInteraction.java | 56 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 43 insertions(+), 13 deletions(-)
diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/flow/LargeGlassInteraction.java b/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/flow/LargeGlassInteraction.java
index 7a24ee6..c0ded0b 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/flow/LargeGlassInteraction.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/flow/LargeGlassInteraction.java
@@ -25,20 +25,50 @@
@Override
public InteractionResult execute(InteractionContext context) {
- Object source = context.getSharedData().get("glassesFromVehicle");
- List<String> glassQueue = castList(source);
- if (CollectionUtils.isEmpty(glassQueue)) {
- return InteractionResult.waitResult("绛夊緟涓婂ぇ杞﹁緭鍑�", null);
+ try {
+ // 鍓嶇疆鏉′欢楠岃瘉
+ if (context.getCurrentDevice() == null) {
+ return InteractionResult.fail("璁惧閰嶇疆涓嶅瓨鍦�");
+ }
+
+ // 妫�鏌ヤ笂澶ц溅鏄惁瀹屾垚
+ Object source = context.getSharedData().get("glassesFromVehicle");
+ List<String> glassQueue = castList(source);
+ if (CollectionUtils.isEmpty(glassQueue)) {
+ // 涔熷皾璇曚粠涓婁笅鏂囪幏鍙�
+ glassQueue = context.getLoadedGlassIds();
+ if (CollectionUtils.isEmpty(glassQueue)) {
+ return InteractionResult.waitResult("绛夊緟涓婂ぇ杞﹁緭鍑�", null);
+ }
+ }
+
+ // 楠岃瘉鐜荤拑ID
+ for (String glassId : glassQueue) {
+ if (glassId == null || glassId.trim().isEmpty()) {
+ return InteractionResult.fail("鐜荤拑ID涓嶈兘涓虹┖");
+ }
+ }
+
+ // 鎵ц澶х悊鐗囧鐞�
+ List<String> processed = new ArrayList<>(glassQueue);
+ context.setProcessedGlassIds(processed);
+ context.getSharedData().put("processedGlasses", processed);
+ context.getSharedData().put("largeGlassProcessTime", System.currentTimeMillis());
+
+ // 鍚庣疆鏉′欢妫�鏌�
+ if (context.getProcessedGlassIds().isEmpty()) {
+ return InteractionResult.fail("澶х悊鐗囧鐞嗗け璐ワ細澶勭悊鍚庣殑鐜荤拑ID鍒楄〃涓虹┖");
+ }
+
+ Map<String, Object> data = new HashMap<>();
+ data.put("processedCount", processed.size());
+ data.put("processedGlasses", processed);
+ data.put("deviceId", context.getCurrentDevice().getId());
+ data.put("deviceCode", context.getCurrentDevice().getDeviceCode());
+ return InteractionResult.success(data);
+ } catch (Exception e) {
+ return InteractionResult.fail("澶х悊鐗囦氦浜掓墽琛屽紓甯�: " + e.getMessage());
}
-
- List<String> processed = new ArrayList<>(glassQueue);
- context.setProcessedGlassIds(processed);
- context.getSharedData().put("processedGlasses", processed);
-
- Map<String, Object> data = new HashMap<>();
- data.put("processedCount", processed.size());
- data.put("processedGlasses", processed);
- return InteractionResult.success(data);
}
@SuppressWarnings("unchecked")
--
Gitblit v1.8.0