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