From 04914a9997afbbead6f8adbb9d9c40e05b2edbd1 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 17 十二月 2025 17:04:34 +0800
Subject: [PATCH] 修复调用导入工程失败 重复保存;修复分批出片逻辑

---
 mes-processes/mes-plcSend/src/main/java/com/mes/service/PlcDynamicDataService.java |   56 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/service/PlcDynamicDataService.java b/mes-processes/mes-plcSend/src/main/java/com/mes/service/PlcDynamicDataService.java
index 84b20e7..6d985f9 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/service/PlcDynamicDataService.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/service/PlcDynamicDataService.java
@@ -3,7 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.github.xingshuangs.iot.common.enums.EDataType;
 import com.github.xingshuangs.iot.protocol.s7.serializer.S7Parameter;
-import com.mes.entity.PlcAddress;
+import com.mes.device.entity.DeviceConfig;
 import com.mes.s7.enhanced.EnhancedS7Serializer;
 
 import java.util.ArrayList;
@@ -12,58 +12,70 @@
 
 /**
  * PLC鍔ㄦ�佹暟鎹鍐欐湇鍔�
- * 鏍规嵁PlcAddress閰嶇疆鍔ㄦ�佹瀯寤哄弬鏁帮紝鏀寔浠绘剰瀛楁缁勫悎鐨凱LC鏁版嵁浜や簰
+ * 鏍规嵁DeviceConfig閰嶇疆鍔ㄦ�佹瀯寤哄弬鏁帮紝鏀寔浠绘剰瀛楁缁勫悎鐨凱LC鏁版嵁浜や簰
  * 
  * @author huang
  * @date 2025/11/05
  */
 public interface PlcDynamicDataService {
-
+    
     /**
-     * 鏍规嵁PlcAddress閰嶇疆鍜屽瓧娈靛悕绉拌鍙朠LC鏁版嵁
+     * 鏍规嵁DeviceConfig閰嶇疆鍜屽瓧娈靛悕绉拌鍙朠LC鏁版嵁
      * 
-     * @param config PLC鍦板潃鏄犲皠閰嶇疆
+     * @param device 璁惧閰嶇疆
      * @param fieldNames 瑕佽鍙栫殑瀛楁鍚嶇О鍒楄〃
      * @param s7Serializer S7搴忓垪鍖栧櫒
      * @return 瀛楁鍚�->鍊� 鐨凪ap
      */
-    Map<String, Object> readPlcData(PlcAddress config, List<String> fieldNames, EnhancedS7Serializer s7Serializer);
-
+    Map<String, Object> readPlcData(DeviceConfig device, List<String> fieldNames, EnhancedS7Serializer s7Serializer);
+    
     /**
-     * 鏍规嵁PlcAddress閰嶇疆鍜屾暟鎹甅ap鍐欏叆PLC
+     * 鏍规嵁DeviceConfig閰嶇疆鍜屾暟鎹甅ap鍐欏叆PLC
      * 
-     * @param config PLC鍦板潃鏄犲皠閰嶇疆
+     * @param device 璁惧閰嶇疆
      * @param dataMap 瀛楁鍚�->鍊� 鐨凪ap
      * @param s7Serializer S7搴忓垪鍖栧櫒
      */
-    void writePlcData(PlcAddress config, Map<String, Object> dataMap, EnhancedS7Serializer s7Serializer);
-
+    void writePlcData(DeviceConfig device, Map<String, Object> dataMap, EnhancedS7Serializer s7Serializer);
+    
     /**
-     * 璇诲彇PLC鎵�鏈夊瓧娈�
+     * 璇诲彇PLC鎵�鏈夊瓧娈碉紙鍩轰簬DeviceConfig锛�
      * 
-     * @param config PLC鍦板潃鏄犲皠閰嶇疆
+     * @param device 璁惧閰嶇疆
      * @param s7Serializer S7搴忓垪鍖栧櫒
      * @return 鎵�鏈夊瓧娈电殑鍊�
      */
-    Map<String, Object> readAllPlcData(PlcAddress config, EnhancedS7Serializer s7Serializer);
-
+    Map<String, Object> readAllPlcData(DeviceConfig device, EnhancedS7Serializer s7Serializer);
+    
     /**
-     * 璇诲彇鍗曚釜瀛楁
+     * 璇诲彇鍗曚釜瀛楁锛堝熀浜嶥eviceConfig锛�
      * 
-     * @param config PLC鍦板潃鏄犲皠閰嶇疆
+     * @param device 璁惧閰嶇疆
      * @param fieldName 瀛楁鍚�
      * @param s7Serializer S7搴忓垪鍖栧櫒
      * @return 瀛楁鍊�
      */
-    Object readPlcField(PlcAddress config, String fieldName, EnhancedS7Serializer s7Serializer);
-
+    Object readPlcField(DeviceConfig device, String fieldName, EnhancedS7Serializer s7Serializer);
+    
     /**
-     * 鍐欏叆鍗曚釜瀛楁
+     * 鍐欏叆鍗曚釜瀛楁锛堝熀浜嶥eviceConfig锛�
      * 
-     * @param config PLC鍦板潃鏄犲皠閰嶇疆
+     * @param device 璁惧閰嶇疆
      * @param fieldName 瀛楁鍚�
      * @param value 瀛楁鍊�
      * @param s7Serializer S7搴忓垪鍖栧櫒
      */
-    void writePlcField(PlcAddress config, String fieldName, Object value, EnhancedS7Serializer s7Serializer);
+    void writePlcField(DeviceConfig device, String fieldName, Object value, EnhancedS7Serializer s7Serializer);
+    
+    /**
+     * 鏍规嵁瀹炰綋绫诲拰DeviceConfig閰嶇疆鍐欏叆PLC鏁版嵁
+     * 瀹炰綋绫诲瓧娈典娇鐢ˊS7Variable娉ㄨВ锛宎ddress瀛楁涓哄瓧娈靛悕锛堝搴攃onfigJson涓殑paramKey锛�
+     * 鍋忕Щ閲忎粠configJson涓殑paramValue鑾峰彇
+     * 
+     * @param <T> 瀹炰綋绫诲瀷
+     * @param device 璁惧閰嶇疆
+     * @param entity 瀹炰綋瀵硅薄
+     * @param s7Serializer S7搴忓垪鍖栧櫒
+     */
+    <T> void writePlcDataByEntity(DeviceConfig device, T entity, EnhancedS7Serializer s7Serializer);
 }

--
Gitblit v1.8.0