From 013fa08f64639a4a722dbb709a746a4561a02964 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期日, 08 六月 2025 14:45:33 +0800
Subject: [PATCH] feat(service): 添加压缩空气和水表数据模拟器

---
 src/main/java/com/zhitan/service/impl/OpcServiceImpl.java |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zhitan/service/impl/OpcServiceImpl.java b/src/main/java/com/zhitan/service/impl/OpcServiceImpl.java
index b456832..e75289f 100644
--- a/src/main/java/com/zhitan/service/impl/OpcServiceImpl.java
+++ b/src/main/java/com/zhitan/service/impl/OpcServiceImpl.java
@@ -366,12 +366,29 @@
             // 1. 鐩存帴閫氳繃InfluxDB瀛樺偍搴撳啓鍏�
             for (OpcData data : dataList) {
                 if (data.getValue() != null) {
-                    Point point = Point
-                            .measurement(influxdbConfig.getMeasurement())
-                            .addTag(TAG, data.getName())
-                            .addField(FIELD_VALUE, data.getValue())
-                            .time(data.getTimestamp(), WritePrecision.NS);
-                    points.add(point);
+                    // 濡傛灉鏄數鍘嬶紝鍥涜矾鍏辩敤锛岄渶瑕佸鐞� 1-1#yijidiankonggui_1_VoltageA
+                    if (data.getName().contains("_Voltage")) {
+                        String prefix = data.getName().split("_")[0];
+                        String suffix = data.getName().split("_")[2];
+                        // 寰幆鍥涙
+                        for (int i = 1; i <= 4; i++) {
+                            String name = prefix + "_" + i + "_" + suffix;
+                            Point point = Point
+                                    .measurement(influxdbConfig.getMeasurement())
+                                    .addTag(TAG, name)
+                                    .addField(FIELD_VALUE, data.getValue())
+                                    .time(data.getTimestamp(), WritePrecision.NS);
+                            points.add(point);
+                        }
+                    } else {
+                        Point point = Point
+                                .measurement(influxdbConfig.getMeasurement())
+                                .addTag(TAG, data.getName())
+                                .addField(FIELD_VALUE, data.getValue())
+                                .time(data.getTimestamp(), WritePrecision.NS);
+                        points.add(point);
+                    }
+
                     log.debug("閲囬泦OPC UA鏁版嵁: {} = {}", data.getName(), data.getValue());
                 } else if (data.getErrorMessage() != null) {
                     log.warn("閲囬泦OPC UA鏁版嵁澶辫触: {} - {}", data.getName(), data.getErrorMessage());

--
Gitblit v1.9.3