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

iec104
huangfeng 1 year ago
parent 052ba1fa6e
commit 5b26fa41fb

@ -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<Datanode> nodeList = new ArrayList<>();
for (Map<String, Object> map : dataList) {
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<>();
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();

@ -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 "";
}
}
}

Loading…
Cancel
Save