baoshiwei
2025-06-08 013fa08f64639a4a722dbb709a746a4561a02964
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());