微调污染值

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 id="getOnIntegrityByIds" resultType="com.njcn.device.pq.pojo.vo.RStatIntegrityVO">
SELECT SELECT
line_index AS lineIndex, 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 FROM
r_stat_integrity_d r_stat_integrity_d
<where> <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; private Integer interval;
/** /**
* 新增 * 新增
* 在线率 * 在线率
*/ */
@Excel(name = "在线率(%)", width = 30) @Excel(name = "在线率(%)",type = 10, width = 30)
private Double onlineRate; private Float onlineRate;
/** /**
* 新增 * 新增
* 完整性 * 完整性
*/ */
@Excel(name = "完整率(%)", width = 30) @Excel(name = "完整率(%)",type = 10, width = 30)
private Double integrity; private Double integrity;
/** /**
* 谐波电压污染值 * 谐波电压污染值
*/ */
@Excel(name = "谐波电压污染值", width = 20) @Excel(name = "谐波电压污染值",type = 10, width = 20)
private Double vHarmonicValue; private Double vHarmonicValue;
/** /**
* 谐波电压污染值 * 谐波电压污染值
*/ */
@Excel(name = "谐波电流污染值", width = 20) @Excel(name = "谐波电流污染值",type = 10, width = 20)
private Double iHarmonicValue; private Double iHarmonicValue;
/** /**
* 暂升次数 1.1~1.8 * 暂升次数 1.1~1.8
* 10ms ~ 1min * 10ms ~ 1min
*/ */
@Excel(name = "暂升次数(次)", width = 20) @Excel(name = "暂升次数(次)",type = 10, width = 20)
private Integer upCounts; private Integer upCounts;
/** /**
* 暂降次数 0.1~0.9 * 暂降次数 0.1~0.9
* 10ms ~ 1min * 10ms ~ 1min
*/ */
@Excel(name = "电压暂降(次)", width = 20) @Excel(name = "电压暂降(次)",type = 10, width = 20)
private Integer downCounts; private Integer downCounts;
/** /**
* 短时中断 0~0.1 * 短时中断 0~0.1
* 10ms ~ 1min * 10ms ~ 1min
*/ */
@Excel(name = "短时中断(次)", width = 20) @Excel(name = "短时中断(次)",type = 10, width = 20)
private Integer breakCounts; private Integer breakCounts;
@Excel(name = "是否关联敏感用户", width = 30, replace = "/_null") @Excel(name = "是否关联敏感用户", width = 30, replace = "/_null")

View File

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