微调污染值

This commit is contained in:
wr
2025-09-05 15:08:28 +08:00
parent 22950c6b35
commit 24b18ff3f2
3 changed files with 15 additions and 14 deletions

View File

@@ -19,7 +19,7 @@
<select id="getOnIntegrityByIds" resultType="com.njcn.device.pq.pojo.vo.RStatIntegrityVO">
SELECT
line_index AS lineIndex,
sum( real_time )*1.0/ sum( due_time ) * 100 AS integrityRate
ROUND(sum( real_time )*1.0 / sum( due_time ) * 100,2) AS integrityRate
FROM
r_stat_integrity_d
<where>

View File

@@ -84,54 +84,54 @@ public class LinePollution implements Serializable {
/**
* 统计间隔
*/
@Excel(name = "统计间隔", width = 30)
@Excel(name = "统计间隔",type = 10, width = 30)
private Integer interval;
/**
* 新增
* 在线率
*/
@Excel(name = "在线率(%)", width = 30)
private Double onlineRate;
@Excel(name = "在线率(%)",type = 10, width = 30)
private Float onlineRate;
/**
* 新增
* 完整性
*/
@Excel(name = "完整率(%)", width = 30)
@Excel(name = "完整率(%)",type = 10, width = 30)
private Double integrity;
/**
* 谐波电压污染值
*/
@Excel(name = "谐波电压污染值", width = 20)
@Excel(name = "谐波电压污染值",type = 10, width = 20)
private Double vHarmonicValue;
/**
* 谐波电压污染值
*/
@Excel(name = "谐波电流污染值", width = 20)
@Excel(name = "谐波电流污染值",type = 10, width = 20)
private Double iHarmonicValue;
/**
* 暂升次数 1.1~1.8
* 10ms ~ 1min
*/
@Excel(name = "暂升次数(次)", width = 20)
@Excel(name = "暂升次数(次)",type = 10, width = 20)
private Integer upCounts;
/**
* 暂降次数 0.1~0.9
* 10ms ~ 1min
*/
@Excel(name = "电压暂降(次)", width = 20)
@Excel(name = "电压暂降(次)",type = 10, width = 20)
private Integer downCounts;
/**
* 短时中断 0~0.1
* 10ms ~ 1min
*/
@Excel(name = "短时中断(次)", width = 20)
@Excel(name = "短时中断(次)",type = 10, width = 20)
private Integer breakCounts;
@Excel(name = "是否关联敏感用户", width = 30, replace = "/_null")

View File

@@ -973,7 +973,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
@Override
public void downPollutionLineCalc(StatSubstationBizBaseParam param) {
String startDate = DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString();
String endDate = DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString();
String endDate = DateUtil.endOfDay(DateUtil.parse(param.getEndTime())).toString();
List<LinePollution> finalLinePollutionList = pollutionCalcList(startDate, endDate);
// 全部监测点计算完毕后根据污染值从大到小进行排序
finalLinePollutionList = finalLinePollutionList.stream()
@@ -1008,6 +1008,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
//获取装置在线率
List<RStatOnlinerateVO> onLineRateVOS = generalDeviceInfoClient.getOnlineRateByDevIds(onlineRateParam).getData();
Map<String, Float> onlineRateMap = onLineRateVOS.stream().collect(Collectors.toMap(RStatOnlinerateVO::getDevIndex, RStatOnlinerateVO::getOnlineRate));
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_CALC.getCode()).getData();
Map<String, String> dictData = dictDataList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId));
String vHarmonicLimit = dictData.get(DicDataEnum.V_HARMONIC_LIMIT.getCode());
@@ -1046,7 +1047,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
PollutionLineInfoDTO data = any.get();
BeanUtil.copyProperties(data, linePollution, true);
Float vo2 = onlineRateMap.get(data.getDeviceId());
linePollution.setOnlineRate(Objects.isNull(vo2) ? 0.0 : vo2);
linePollution.setOnlineRate(Objects.isNull(vo2) ? 0.0f : vo2);
}
linePollutionList.add(linePollution);
}
@@ -1058,7 +1059,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
public void downPollutionUserCalc(StatSubstationBizBaseParam param) {
// 处理干扰源用户的报告
String startDate = DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString();
String endDate = DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString();
String endDate = DateUtil.endOfDay(DateUtil.parse(param.getEndTime())).toString();
List<LinePollution> loadTypeLineList = pollutionCalcList(startDate, endDate);
/**
* 1、首先过滤重要变电站、一类变电站、跨省计量关点 todo...待优化
@@ -1108,7 +1109,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
public void downPollutionSubCalc(StatSubstationBizBaseParam param) {
// 处理干扰源用户的报告
String startDate = DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString();
String endDate = DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString();
String endDate = DateUtil.endOfDay(DateUtil.parse(param.getEndTime())).toString();
List<LinePollution> linePollutionList = pollutionCalcList(startDate, endDate);
// 整合变电站待导出的数据
List<GdPollution> gdPollutionList = new ArrayList<>();