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