feat(api): 添加批量插入通信数据功能
- 在CsCommunicateFeignClient中增加insertionList接口方法 - 实现批量插入的fallback处理逻辑 - 在ICsCommunicateService中添加insertionList服务接口 - 完成InfluxdbCsCommunicateServiceImpl中的批量插入实现 - 优化数据处理逻辑,支持运行状态转换和CT/PT计算 - 添加数据排序功能,按项目名、设备名、测点名排序 - 在控制器中增加批量插入数据的REST接口
This commit is contained in:
@@ -1302,7 +1302,6 @@ public class DataServiceImpl implements IDataService {
|
||||
List<CsLinePO> line2 = linePo.stream().filter(item->item.getClDid()!=0).collect(Collectors.toList());
|
||||
List<String> lineList2 = line2.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
|
||||
List<List<String>> partitions = Lists.partition(lineList2, 95);
|
||||
|
||||
//表集合
|
||||
List<DictData> dataList = dicDataFeignClient.getDicDataByTypeCode("Data").getData();
|
||||
Map<String, DictData> map = dataList.stream().collect(Collectors.toMap(DictData::getId, v -> v));
|
||||
@@ -1488,7 +1487,8 @@ public class DataServiceImpl implements IDataService {
|
||||
if (item2.getLineList() != null && item2.getLineList().contains(item.getLineId())) {
|
||||
vo.setProjectName(item2.getProjectName());
|
||||
vo.setDeviceName(item2.getEquipmentName());
|
||||
vo.setRunStatus(item.getRunStatus());
|
||||
int runStatus = Objects.equals(item2.getRunStatus(),2) ? 0 : 1;
|
||||
vo.setRunStatus(runStatus);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1953,6 +1953,8 @@ public class DataServiceImpl implements IDataService {
|
||||
if (item2.getLineList() != null && item2.getLineList().contains(item.getLineId())) {
|
||||
vo.setProjectName(item2.getProjectName());
|
||||
vo.setDeviceName(item2.getEquipmentName());
|
||||
int runStatus = Objects.equals(item2.getRunStatus(),2) ? 0 : 1;
|
||||
vo.setRunStatus(runStatus);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1960,8 +1962,8 @@ public class DataServiceImpl implements IDataService {
|
||||
vo.setLineType(0);
|
||||
vo.setPointId(item.getLineId());
|
||||
vo.setPointName(lineMap.get(item.getLineId()).getName());
|
||||
Double ct = lineMap.get(item.getLineId()).getCtRatio() / (Objects.isNull(lineMap.get(item.getLineId()).getCt2Ratio())?1.0:lineMap.get(item.getLineId()).getCtRatio());
|
||||
Double pt = lineMap.get(item.getLineId()).getPtRatio() / (Objects.isNull(lineMap.get(item.getLineId()).getPt2Ratio())?1.0:lineMap.get(item.getLineId()).getPtRatio());
|
||||
Double ct = Objects.isNull(lineMap.get(item.getLineId()).getCtRatio())?1.0:lineMap.get(item.getLineId()).getCtRatio() / (Objects.isNull(lineMap.get(item.getLineId()).getCt2Ratio())?1.0:lineMap.get(item.getLineId()).getCtRatio());
|
||||
Double pt = Objects.isNull(lineMap.get(item.getLineId()).getPtRatio())?1.0:lineMap.get(item.getLineId()).getPtRatio() / (Objects.isNull(lineMap.get(item.getLineId()).getPt2Ratio())?1.0:lineMap.get(item.getLineId()).getPtRatio());
|
||||
List<AppLineDetailVo.targetDetail> children2 = new ArrayList<>();
|
||||
//指标第二层
|
||||
List<AppLineDetailVo.targetDetail> finalChildren = children2;
|
||||
@@ -2050,6 +2052,11 @@ public class DataServiceImpl implements IDataService {
|
||||
vo.setChildren(children2);
|
||||
result.add(vo);
|
||||
});
|
||||
if (CollUtil.isNotEmpty(result)) {
|
||||
result.sort(Comparator.comparing(AppLineDetailVo::getProjectName, Comparator.nullsLast(Comparator.naturalOrder()))
|
||||
.thenComparing(AppLineDetailVo::getDeviceName, Comparator.nullsLast(Comparator.naturalOrder()))
|
||||
.thenComparing(AppLineDetailVo::getPointName, Comparator.nullsLast(Comparator.naturalOrder())));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user