From 5b26fa41fbbcf6955116e116489721f68c8af65f Mon Sep 17 00:00:00 2001 From: huangfeng Date: Tue, 18 Jun 2024 11:10:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0i2=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E4=B8=AD=E7=9B=91=E6=B5=8B=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xydl/cac/transform/I2DataTransformer.java | 18 ++++++---- .../java/com/xydl/cac/util/DataTable.java | 35 +++++++++++++++++++ 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xydl/cac/transform/I2DataTransformer.java b/src/main/java/com/xydl/cac/transform/I2DataTransformer.java index 1b5a0e8..8f1c559 100644 --- a/src/main/java/com/xydl/cac/transform/I2DataTransformer.java +++ b/src/main/java/com/xydl/cac/transform/I2DataTransformer.java @@ -1,5 +1,6 @@ package com.xydl.cac.transform; +import com.alibaba.excel.util.StringUtils; import com.xydl.cac.entity.I2syncField; import com.xydl.cac.entity.I2syncRecord; import com.xydl.cac.entity.NSensor; @@ -7,6 +8,7 @@ import com.xydl.cac.model.i2sync.Attr; import com.xydl.cac.model.i2sync.Datanode; import com.xydl.cac.model.i2sync.Monitordata; import com.xydl.cac.model.i2sync.Request; +import com.xydl.cac.util.DataTable; import com.xydl.cac.util.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -25,6 +27,11 @@ public class I2DataTransformer { List nodeList = new ArrayList<>(); for (Map map : dataList) { String date = (String) map.get("acquisitionTime"); + Datanode node = new Datanode(); + node.setSensorid(sensor.getSensorCode()); + node.setEquipmentid(sensor.getEquipmentId()); + node.setTimestamp(date); + List attrs = new ArrayList<>(); for (I2syncField field : fieldList) { Object value = map.get(field.getFieldName()); @@ -32,20 +39,19 @@ public class I2DataTransformer { attr.setName(field.getDestFieldName()); attr.setValue(String.valueOf(value)); attr.setAlarm("FALSE"); + if (StringUtils.isBlank(node.getType())) { + node.setType(DataTable.getDevType(field.getTableName())); + } attrs.add(attr); } - Datanode node = new Datanode(); - node.setSensorid(sensor.getEquipmentId()); - node.setType("027002"); - node.setEquipmentid(sensor.getEquipmentId()); - node.setTimestamp(date); node.setAttr(attrs); + nodeList.add(node); record.setLastDTime(DateUtil.parse(date)); } Monitordata monitordata = new Monitordata(); - monitordata.setCacid(sensor.getEquipmentId()); + monitordata.setCacid(sensor.getSensorCode()); monitordata.setDatanodenum(nodeList.size()); monitordata.setDatanode(nodeList); Request request = new Request(); diff --git a/src/main/java/com/xydl/cac/util/DataTable.java b/src/main/java/com/xydl/cac/util/DataTable.java index 6c6cdaa..b98fc4b 100644 --- a/src/main/java/com/xydl/cac/util/DataTable.java +++ b/src/main/java/com/xydl/cac/util/DataTable.java @@ -21,4 +21,39 @@ public class DataTable { public static String getDevidField(String tableName) { return "eqmid"; } + + public static String getDevType(String tableName) { + switch (tableName) { + case "data_byq_jbfd": + return "021001"; // 变压器/电抗器 局部放电 + case "data_ysp": + return "021002"; // 变压器/电抗器 油中溶解气体 + case "data_ws": + return "021003"; // 变压器/电抗器 微水 + case "data_tx": + return "021004"; // 变压器/电抗器 铁芯接地电流 + case "data_dcyw": + return "021005"; // 变压器/电抗器 顶层油温 + case "data_dr_jyjc": + return "022001"; // 电容型设备 绝缘监测 + case "data_jsyhw_jyjc": + return "023001"; // 金属氧化物避雷器 绝缘监测 + case "data_dlq_jbfd": + return "024001"; // 断路器/GIS 局部放电 + case "data_fhzxq": + return "024002"; // 断路器/GIS 分合闸线圈电流波形 + case "data_fhdlbx": + return "024003"; // 断路器/GIS 负荷电流波形 + case "data_sf6_qtyl": + return "024004"; // 断路器/GIS SF6 气体压力 + case "data_sf6_qtsf": + return "024005"; // 断路器/GIS SF6气体水分 + case "data_cnj": + return "024006"; // 断路器/GIS 储能电机工作状态 + case "data_microclimate": + return "025001"; // 综合 变电站微气象 + default: + return ""; + } + } }