From 1566e4c7604d85737ea67fe6757e71b8185fa48e Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期二, 18 十一月 2025 16:52:42 +0800
Subject: [PATCH] 添加设备管理页面,添加测试设备任务监控页面

---
 mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DevicePlcOperationServiceImpl.java |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DevicePlcOperationServiceImpl.java b/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DevicePlcOperationServiceImpl.java
index c3c50d1..f034b9e 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DevicePlcOperationServiceImpl.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DevicePlcOperationServiceImpl.java
@@ -6,6 +6,7 @@
 import com.mes.device.service.DeviceConfigService;
 import com.mes.device.service.DeviceGroupRelationService;
 import com.mes.device.service.DevicePlcOperationService;
+import com.mes.device.util.ConfigJsonHelper;
 import com.mes.device.vo.DeviceGroupVO;
 import com.mes.device.vo.DevicePlcVO;
 import com.mes.service.PlcTestWriteService;
@@ -247,13 +248,21 @@
             throw new IllegalArgumentException("璁惧淇℃伅涓虹┖");
         }
 
+        // 浼樺厛浠巆onfigJson涓幏鍙�
+        Map<String, Object> configParams = ConfigJsonHelper.parseToMap(device.getConfigJson(), objectMapper);
+        Object plcProjectId = configParams.get(PLC_PROJECT_ID_KEY);
+        if (plcProjectId != null) {
+            return String.valueOf(plcProjectId);
+        }
+
+        // 鍏舵浠庢墿灞曞弬鏁颁腑鑾峰彇锛堝吋瀹规棫閰嶇疆锛�
         String extra = device.getExtraParams();
         if (extra != null && !extra.isEmpty()) {
             try {
                 Map<String, Object> extraParams = objectMapper.readValue(extra, new TypeReference<Map<String, Object>>() {});
-                Object plcProjectId = extraParams.get(PLC_PROJECT_ID_KEY);
-                if (plcProjectId != null) {
-                    return String.valueOf(plcProjectId);
+                Object plcProjectIdFromExtra = extraParams.get(PLC_PROJECT_ID_KEY);
+                if (plcProjectIdFromExtra != null) {
+                    return String.valueOf(plcProjectIdFromExtra);
                 }
             } catch (Exception e) {
                 log.warn("瑙f瀽璁惧鎵╁睍鍙傛暟澶辫触, deviceId={}", device.getId(), e);
@@ -271,7 +280,7 @@
         throw new IllegalStateException("鏃犳硶瑙f瀽璁惧鐨� PLC 椤圭洰鏍囪瘑, deviceId=" + device.getId());
     }
 
-    private enum PlcOperationType {
+    public enum PlcOperationType {
         REQUEST("PLC璇锋眰", "PLC 璇锋眰鍙戦�佹垚鍔�", "PLC 璇锋眰鍙戦�佸け璐�"),
         REPORT("PLC姹囨姤", "PLC 姹囨姤妯℃嫙鎴愬姛", "PLC 姹囨姤妯℃嫙澶辫触"),
         RESET("PLC閲嶇疆", "PLC 鐘舵�佸凡閲嶇疆", "PLC 鐘舵�侀噸缃け璐�");

--
Gitblit v1.8.0