界面数据展示调整
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user