feat: 调整i2导出类型数据xml预览

main
huangfeng 6 months ago
parent 1ae46c69ae
commit 72f65ab4cb

@ -2,10 +2,7 @@ package com.xydl.cac.controller;
import com.alibaba.excel.util.StringUtils; import com.alibaba.excel.util.StringUtils;
import com.xydl.cac.adapter.BusiAdapter; import com.xydl.cac.adapter.BusiAdapter;
import com.xydl.cac.entity.I2syncConfig; import com.xydl.cac.entity.*;
import com.xydl.cac.entity.I2syncField;
import com.xydl.cac.entity.I2syncRecord;
import com.xydl.cac.entity.ModevType;
import com.xydl.cac.exception.BusinessException; import com.xydl.cac.exception.BusinessException;
import com.xydl.cac.model.Response; import com.xydl.cac.model.Response;
import com.xydl.cac.model.i2sync.Attr; import com.xydl.cac.model.i2sync.Attr;
@ -13,7 +10,9 @@ 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.service.I2syncService; import com.xydl.cac.service.I2syncService;
import com.xydl.cac.service.ModevTypePointService;
import com.xydl.cac.service.ModevTypeService; import com.xydl.cac.service.ModevTypeService;
import com.xydl.cac.transform.I2DataTransformer;
import com.xydl.cac.util.DateUtil; import com.xydl.cac.util.DateUtil;
import com.xydl.cac.util.JSONUtil; import com.xydl.cac.util.JSONUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -37,7 +36,11 @@ public class I2syncController extends BasicController {
@Resource @Resource
ModevTypeService modevTypeService; ModevTypeService modevTypeService;
@Resource @Resource
ModevTypePointService modevTypePointService;
@Resource
BusiAdapter busiAdapter; BusiAdapter busiAdapter;
@Resource
I2DataTransformer dataTransformer;
@GetMapping("status") @GetMapping("status")
@ApiOperation("查询状态") @ApiOperation("查询状态")
@ -107,37 +110,33 @@ public class I2syncController extends BasicController {
@ApiOperation("预览xml结构") @ApiOperation("预览xml结构")
public Response<String> prewXml(Integer modevtypeId) throws Exception { public Response<String> prewXml(Integer modevtypeId) throws Exception {
ModevType modevType = modevTypeService.detail(modevtypeId); ModevType modevType = modevTypeService.detail(modevtypeId);
List<ModevTypePoint> points = modevTypePointService.listAll(modevtypeId);
List<I2syncField> fieldList = service.listFieldConfig(modevType.getTablename()); List<I2syncField> fieldList = service.listFieldConfig(modevType.getTablename());
List<Attr> attrs = new ArrayList<>(); NSensor sensor = NSensor.builder()
Attr attr = new Attr(); .id(12)
attr.setName("Phase"); .typeId(modevtypeId)
attr.setValue("A相"); .sensorCode("HNHFT001Q1W000104")
attr.setAlarm("FALSE"); .equipmentId("HNHFT001Q1W000104")
attrs.add(attr); .phase("ABC相")
for (I2syncField field : fieldList) { .build();
attr = new Attr(); I2syncRecord record = I2syncRecord.builder()
attr.setName(field.getDestFieldName()); .build();
attr.setValue("100.0"); I2syncConfig config = I2syncConfig.builder()
attr.setAlarm("FALSE"); .typeCode(modevType.getTypeCode())
attrs.add(attr); .build();
List<Map<String, Object>> dataList = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("acquisitionTime", DateUtil.format(new Date()));
for (ModevTypePoint point : points) {
map.put(point.getField(), 1.25);
} }
Datanode node = new Datanode(); dataList.add(map);
node.setSensorid("HNHFT001Q1W000104");
node.setType(modevType.getTypeCode()); Request request = dataTransformer.transform(sensor, record, config, fieldList, dataList);
node.setEquipmentid("HNHFT001Q1W000104");
node.setTimestamp(DateUtil.format(new Date()));
node.setAttr(attrs);
List<Datanode> nodeList = new ArrayList<>();
nodeList.add(node);
Monitordata monitordata = new Monitordata();
monitordata.setCacid("HNHFT001Q1W000104");
monitordata.setDatanodenum(1);
monitordata.setDatanode(nodeList);
Request request = new Request();
request.setMonitordata(monitordata);
String xml = JSONUtil.object2Xml(request); String xml = JSONUtil.object2Xml(request);
Response<String> resp = Response.success(xml); Response<String> resp = Response.success(xml);
if (StringUtils.isBlank(node.getType())) { if (StringUtils.isBlank(modevType.getTypeCode())) {
resp.setWarnMsg("该类型还未配置对应的类型编码将导致type为空"); resp.setWarnMsg("该类型还未配置对应的类型编码将导致type为空");
} }
return resp; return resp;

@ -37,7 +37,7 @@ public class I2DataTransformer {
for (Map<String, Object> map : dataList) { for (Map<String, Object> map : dataList) {
Iterator<String> fit = fieldMap.keySet().iterator(); Iterator<String> fit = fieldMap.keySet().iterator();
while (it.hasNext()) { while (fit.hasNext()) {
String attach = fit.next(); String attach = fit.next();
List<I2syncField> fieldListNew = fieldMap.get(attach); List<I2syncField> fieldListNew = fieldMap.get(attach);

Loading…
Cancel
Save