feat: 增加i2数据转换中监测类型编码的处理

dev
huangfeng 1 year ago
parent 052ba1fa6e
commit 5b26fa41fb

@ -1,5 +1,6 @@
package com.xydl.cac.transform; package com.xydl.cac.transform;
import com.alibaba.excel.util.StringUtils;
import com.xydl.cac.entity.I2syncField; import com.xydl.cac.entity.I2syncField;
import com.xydl.cac.entity.I2syncRecord; import com.xydl.cac.entity.I2syncRecord;
import com.xydl.cac.entity.NSensor; 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.Datanode;
import com.xydl.cac.model.i2sync.Monitordata; import com.xydl.cac.model.i2sync.Monitordata;
import com.xydl.cac.model.i2sync.Request; import com.xydl.cac.model.i2sync.Request;
import com.xydl.cac.util.DataTable;
import com.xydl.cac.util.DateUtil; import com.xydl.cac.util.DateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -25,6 +27,11 @@ public class I2DataTransformer {
List<Datanode> nodeList = new ArrayList<>(); List<Datanode> nodeList = new ArrayList<>();
for (Map<String, Object> map : dataList) { for (Map<String, Object> map : dataList) {
String date = (String) map.get("acquisitionTime"); String date = (String) map.get("acquisitionTime");
Datanode node = new Datanode();
node.setSensorid(sensor.getSensorCode());
node.setEquipmentid(sensor.getEquipmentId());
node.setTimestamp(date);
List<Attr> attrs = new ArrayList<>(); List<Attr> attrs = new ArrayList<>();
for (I2syncField field : fieldList) { for (I2syncField field : fieldList) {
Object value = map.get(field.getFieldName()); Object value = map.get(field.getFieldName());
@ -32,20 +39,19 @@ public class I2DataTransformer {
attr.setName(field.getDestFieldName()); attr.setName(field.getDestFieldName());
attr.setValue(String.valueOf(value)); attr.setValue(String.valueOf(value));
attr.setAlarm("FALSE"); attr.setAlarm("FALSE");
if (StringUtils.isBlank(node.getType())) {
node.setType(DataTable.getDevType(field.getTableName()));
}
attrs.add(attr); attrs.add(attr);
} }
Datanode node = new Datanode();
node.setSensorid(sensor.getEquipmentId());
node.setType("027002");
node.setEquipmentid(sensor.getEquipmentId());
node.setTimestamp(date);
node.setAttr(attrs); node.setAttr(attrs);
nodeList.add(node); nodeList.add(node);
record.setLastDTime(DateUtil.parse(date)); record.setLastDTime(DateUtil.parse(date));
} }
Monitordata monitordata = new Monitordata(); Monitordata monitordata = new Monitordata();
monitordata.setCacid(sensor.getEquipmentId()); monitordata.setCacid(sensor.getSensorCode());
monitordata.setDatanodenum(nodeList.size()); monitordata.setDatanodenum(nodeList.size());
monitordata.setDatanode(nodeList); monitordata.setDatanode(nodeList);
Request request = new Request(); Request request = new Request();

@ -21,4 +21,39 @@ public class DataTable {
public static String getDevidField(String tableName) { public static String getDevidField(String tableName) {
return "eqmid"; 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 "";
}
}
} }

Loading…
Cancel
Save