界面数据展示调整

This commit is contained in:
xy
2024-09-05 10:35:08 +08:00
parent de9c94c735
commit ad0f7bc3fc

View File

@@ -104,7 +104,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
private final EventDetailFeignClient eventDetailFeignClient; private final EventDetailFeignClient eventDetailFeignClient;
private final DecimalFormat df = new DecimalFormat("#0.0000"); private final DecimalFormat df = new DecimalFormat("#0.00");
private final EleEvtFeignClient eleEvtFeignClient; private final EleEvtFeignClient eleEvtFeignClient;
@@ -114,6 +114,14 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
private final InfluxDbParamUtil influxDbParamUtil; private final InfluxDbParamUtil influxDbParamUtil;
private final Set<String> POWER_LIST = new HashSet<>(Arrays.asList(
"电网有功功率", "电网无功功率", "电网视在功率", "负载有功功率",
"负载无功功率", "负载视在功率", "有功功率", "无功功率",
"视在功率", "基波有功功率", "基波无功功率",
"基波视在功率", "三相总有功功率", "三相总无功功率",
"三相总视在功率"
));
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -144,15 +152,12 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
//获取所有字典指标 //获取所有字典指标
List<EleEpdPqd> epdPqdList = epdFeignClient.selectByIds(list.stream().map(EnergyTemplateVO::getDataId).distinct().collect(Collectors.toList())).getData(); List<EleEpdPqd> epdPqdList = epdFeignClient.selectByIds(list.stream().map(EnergyTemplateVO::getDataId).distinct().collect(Collectors.toList())).getData();
Map<String, EleEpdPqd> eventTypeMap = epdPqdList.stream().collect(Collectors.toMap(EleEpdPqd::getId, Function.identity())); Map<String, EleEpdPqd> eventTypeMap = epdPqdList.stream().collect(Collectors.toMap(EleEpdPqd::getId, Function.identity()));
getUnit(list,epdPqdList,groupList); getUnit(list,epdPqdList,groupList,dataLevel);
//根据lineId获取监测点pt、ct变比 //根据lineId获取监测点pt、ct变比
CsLinePO csLinePO = csLineFeignClient.queryLineById(Collections.singletonList(lineId)).getData().get(0); CsLinePO csLinePO = csLineFeignClient.queryLineById(Collections.singletonList(lineId)).getData().get(0);
for (EnergyTemplateVO item : list) { for (EnergyTemplateVO item : list) {
EnergyTemplateVO vo = new EnergyTemplateVO(); EnergyTemplateVO vo = new EnergyTemplateVO();
BeanUtils.copyProperties(item,vo); BeanUtils.copyProperties(item,vo);
if (vo.getAnotherName().contains("A相") || vo.getAnotherName().contains("B相") || vo.getAnotherName().contains("C相")) {
vo.setAnotherName(vo.getAnotherName().substring(0,2));
}
EleEpdPqd eleEpdPqd = eventTypeMap.get(item.getDataId()); EleEpdPqd eleEpdPqd = eventTypeMap.get(item.getDataId());
vo.setClassId(eleEpdPqd.getClassId()); vo.setClassId(eleEpdPqd.getClassId());
vo.setUnit(eleEpdPqd.getUnit()); vo.setUnit(eleEpdPqd.getUnit());
@@ -162,13 +167,20 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
//判断监测点类型 针对治理设备 模块数据是一次值、电能质量设备是二次值 //判断监测点类型 针对治理设备 模块数据是一次值、电能质量设备是二次值
if (csLinePO.getClDid() != 0 && Objects.equals("Primary",dataLevel) && ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) { if (csLinePO.getClDid() != 0 && Objects.equals("Primary",dataLevel) && ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) {
double secondaryData = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), csLinePO.getPtRatio(), csLinePO.getCtRatio()); double secondaryData = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), csLinePO.getPtRatio(), csLinePO.getCtRatio());
vo.setDataValue(BigDecimal.valueOf(secondaryData).setScale(2, RoundingMode.HALF_UP).doubleValue()); if (changePower(vo.getAnotherName())) {
vo.setDataValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData / 1000).setScale(2, RoundingMode.HALF_UP).doubleValue())));
} else { } else {
vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setDataValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData).setScale(2, RoundingMode.HALF_UP).doubleValue())));
}
} else {
vo.setDataValue(Double.valueOf(df.format(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(2, RoundingMode.HALF_UP).doubleValue())));
} }
} else { } else {
vo.setDataValue(3.1415926); vo.setDataValue(3.1415926);
} }
if (vo.getAnotherName().contains("A相") || vo.getAnotherName().contains("B相") || vo.getAnotherName().contains("C相")) {
vo.setAnotherName(vo.getAnotherName().substring(0,2));
}
arrayList.add(vo); arrayList.add(vo);
} }
if (CollectionUtil.isNotEmpty(arrayList)){ if (CollectionUtil.isNotEmpty(arrayList)){
@@ -202,7 +214,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
//获取所有字典指标 //获取所有字典指标
List<EleEpdPqd> epdPqdList = epdFeignClient.selectByIds(list.stream().map(EnergyTemplateVO::getDataId).distinct().collect(Collectors.toList())).getData(); List<EleEpdPqd> epdPqdList = epdFeignClient.selectByIds(list.stream().map(EnergyTemplateVO::getDataId).distinct().collect(Collectors.toList())).getData();
Map<String, EleEpdPqd> eventTypeMap = epdPqdList.stream().collect(Collectors.toMap(EleEpdPqd::getId, Function.identity())); Map<String, EleEpdPqd> eventTypeMap = epdPqdList.stream().collect(Collectors.toMap(EleEpdPqd::getId, Function.identity()));
getUnit(list,epdPqdList,groupList); getUnit(list,epdPqdList,groupList,energyBaseParam.getDataLevel());
//根据lineId获取监测点pt、ct变比 //根据lineId获取监测点pt、ct变比
CsLinePO po = csLineFeignClient.queryLineById(Collections.singletonList(energyBaseParam.getLineId())).getData().get(0); CsLinePO po = csLineFeignClient.queryLineById(Collections.singletonList(energyBaseParam.getLineId())).getData().get(0);
for (EnergyTemplateVO item : list) { for (EnergyTemplateVO item : list) {
@@ -222,13 +234,19 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
double secondaryData1 = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getMaxValue(), po.getPtRatio(), po.getCtRatio()); double secondaryData1 = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getMaxValue(), po.getPtRatio(), po.getCtRatio());
double secondaryData2 = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getMinValue(), po.getPtRatio(), po.getCtRatio()); double secondaryData2 = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getMinValue(), po.getPtRatio(), po.getCtRatio());
double secondaryData3 = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getAvgValue(), po.getPtRatio(), po.getCtRatio()); double secondaryData3 = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getAvgValue(), po.getPtRatio(), po.getCtRatio());
vo.setMaxValue(BigDecimal.valueOf(secondaryData1).setScale(2, RoundingMode.HALF_UP).doubleValue()); if (changePower(vo.getAnotherName())) {
vo.setMinValue(BigDecimal.valueOf(secondaryData2).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setMaxValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData1/1000).setScale(2, RoundingMode.HALF_UP).doubleValue())));
vo.setAvgValue(BigDecimal.valueOf(secondaryData3).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setMinValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData2/1000).setScale(2, RoundingMode.HALF_UP).doubleValue())));
vo.setAvgValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData3/1000).setScale(2, RoundingMode.HALF_UP).doubleValue())));
} else { } else {
vo.setMaxValue(BigDecimal.valueOf(statisticalDataDTO.getMaxValue()).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setMaxValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData1).setScale(2, RoundingMode.HALF_UP).doubleValue())));
vo.setMinValue(BigDecimal.valueOf(statisticalDataDTO.getMinValue()).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setMinValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData2).setScale(2, RoundingMode.HALF_UP).doubleValue())));
vo.setAvgValue(BigDecimal.valueOf(statisticalDataDTO.getAvgValue()).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setAvgValue(Double.valueOf(df.format(BigDecimal.valueOf(secondaryData3).setScale(2, RoundingMode.HALF_UP).doubleValue())));
}
} else {
vo.setMaxValue(Double.valueOf(df.format(BigDecimal.valueOf(statisticalDataDTO.getMaxValue()).setScale(2, RoundingMode.HALF_UP).doubleValue())));
vo.setMinValue(Double.valueOf(df.format(BigDecimal.valueOf(statisticalDataDTO.getMinValue()).setScale(2, RoundingMode.HALF_UP).doubleValue())));
vo.setAvgValue(Double.valueOf(df.format(BigDecimal.valueOf(statisticalDataDTO.getAvgValue()).setScale(2, RoundingMode.HALF_UP).doubleValue())));
} }
} else { } else {
vo.setMaxValue(3.1415956); vo.setMaxValue(3.1415956);
@@ -695,7 +713,9 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
} }
//单位处理 //单位处理
public void getUnit(List<EnergyTemplateVO> energyTemplates, List<EleEpdPqd> eleEpdPqds, List<DataGroupTemplateVO> dataGroupTemplates) { public void getUnit(List<EnergyTemplateVO> energyTemplates, List<EleEpdPqd> eleEpdPqds, List<DataGroupTemplateVO> dataGroupTemplates, String type) {
List<String> pList = Arrays.asList("电网有功功率", "电网无功功率", "电网视在功率","负载有功功率","负载无功功率","负载视在功率"
,"有功功率","无功功率","视在功率","基波有功功率","基波无功功率","基波视在功率","三相总有功功率","三相总无功功率","三相总视在功率");
// 使用Map来存储EleEpdPqd的ID和Unit以便快速查找 // 使用Map来存储EleEpdPqd的ID和Unit以便快速查找
Map<String, String> unitMap = new HashMap<>(); Map<String, String> unitMap = new HashMap<>();
for (EleEpdPqd item : eleEpdPqds) { for (EleEpdPqd item : eleEpdPqds) {
@@ -720,10 +740,20 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
for (DataGroupTemplateVO dataGroupTemplate : dataGroupTemplates) { for (DataGroupTemplateVO dataGroupTemplate : dataGroupTemplates) {
EnergyTemplateVO energyTemplate = energyTemplateMap.get(dataGroupTemplate.getId()); EnergyTemplateVO energyTemplate = energyTemplateMap.get(dataGroupTemplate.getId());
if (energyTemplate != null && energyTemplate.getUnit() != null) { if (energyTemplate != null && energyTemplate.getUnit() != null) {
if (changePower(dataGroupTemplate.getName()) && Objects.equals(type,"Primary")) {
dataGroupTemplate.setName(dataGroupTemplate.getName() + "(k" + energyTemplate.getUnit() + ")");
} else {
dataGroupTemplate.setName(dataGroupTemplate.getName() + "(" + energyTemplate.getUnit() + ")"); dataGroupTemplate.setName(dataGroupTemplate.getName() + "(" + energyTemplate.getUnit() + ")");
} }
}
dataGroupTemplate.setName(dataGroupTemplate.getName().replace("序列",""));; dataGroupTemplate.setName(dataGroupTemplate.getName().replace("序列",""));;
} }
} }
//判断功率是否需要转换
public boolean changePower(String name) {
return POWER_LIST.stream()
.anyMatch(name::contains);
}
} }