1.算法调整

This commit is contained in:
wr
2024-03-15 10:35:30 +08:00
parent 7de7a2ff24
commit aad1a544c6

View File

@@ -217,6 +217,10 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
rMpPartHarmonicDetailDS = new ArrayList<>(); rMpPartHarmonicDetailDS = new ArrayList<>();
effectiveMonitorNum = 0; effectiveMonitorNum = 0;
} }
if(deptGetChildrenMoreDTO.getUnitId().equals("13B9B47F1E483324E05338297A0A0595")){
System.out.println("");
}
pqTypicalSourceCreatePO = initPqTypicalSourceCreatePO(pqTypicalSourceCreatePO,rMpPartHarmonicDetailDS,rMpSurplusHarmonicDetailDS,monitorIds.size()); pqTypicalSourceCreatePO = initPqTypicalSourceCreatePO(pqTypicalSourceCreatePO,rMpPartHarmonicDetailDS,rMpSurplusHarmonicDetailDS,monitorIds.size());
pqTypicalSourceCreatePO.setIndexType(temp); pqTypicalSourceCreatePO.setIndexType(temp);
pqTypicalSourceCreatePO.setStatisticalDate(calculatedParam.getDataDate()); pqTypicalSourceCreatePO.setStatisticalDate(calculatedParam.getDataDate());
@@ -619,52 +623,18 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
pqTypicalSourceCreatePO.setVOvRate(initialvalue); pqTypicalSourceCreatePO.setVOvRate(initialvalue);
pqTypicalSourceCreatePO.setVAvgOvRate(initialvalue); pqTypicalSourceCreatePO.setVAvgOvRate(initialvalue);
//稳态指标是否超标(0:否 1:是)
Map<String, Integer> collect = rMpSurplusHarmonicDetailDS.stream().collect(Collectors.toMap(RMpSurplusHarmonicDetailD::getMeasurementPointId, RMpSurplusHarmonicDetailD::getIsFlicker));
int ovNum=0;
for (RMpPartHarmonicDetailD detailD : rMpPartHarmonicDetailDS) {
Integer isFlicker=0;
int num = detailD.getIsINeg() + detailD.getIsUnbalance() + detailD.getIsV() + detailD.getIsI();
if(collect.containsKey(detailD.getMeasurementPointId())){
isFlicker = collect.get(detailD.getMeasurementPointId());
}
if(num+isFlicker>0){
ovNum++;
}
}
pqTypicalSourceCreatePO.setOvNum(ovNum);
pqTypicalSourceCreatePO.setOvRate(divideAndRound(ovNum,count));
if(ovNum>0){
pqTypicalSourceCreatePO.setOvDayCount(1);
pqTypicalSourceCreatePO.setAverageOvDays(new BigDecimal(1.00));
}else {
pqTypicalSourceCreatePO.setOvDayCount(0);
pqTypicalSourceCreatePO.setAverageOvDays(initialvalue);
}
int flickervalue = Integer.valueOf(rMpSurplusHarmonicDetailDS.stream().filter(temp ->temp.getIsFlicker()==1).count()+""); int flickervalue = Integer.valueOf(rMpSurplusHarmonicDetailDS.stream().filter(temp ->temp.getIsFlicker()==1).count()+"");
pqTypicalSourceCreatePO.setFlickerOvNum(flickervalue); pqTypicalSourceCreatePO.setFlickerOvNum(flickervalue);
pqTypicalSourceCreatePO.setFlickerOvRate(divideAndRound(flickervalue,count)); pqTypicalSourceCreatePO.setFlickerOvRate(divideAndRound(flickervalue,count));
pqTypicalSourceCreatePO.setFlickerAvgOvRate(divideAndRound(flickervalue,count)); pqTypicalSourceCreatePO.setFlickerAvgOvRate(divideAndRound(flickervalue,count));
int neg_currentvalue = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsINeg()==1).count()+"");
pqTypicalSourceCreatePO.setInseqOvNum(neg_currentvalue);
pqTypicalSourceCreatePO.setInseqOvRate(divideAndRound(neg_currentvalue,count));
pqTypicalSourceCreatePO.setInseqAvgOvRate(divideAndRound(neg_currentvalue,count));
int phase_voltagevalue = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsUnbalance()==1).count()+""); int phase_voltagevalue = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsUnbalance()==1).count()+"");
pqTypicalSourceCreatePO.setUnbanOvNum(phase_voltagevalue); pqTypicalSourceCreatePO.setUnbanOvNum(phase_voltagevalue);
pqTypicalSourceCreatePO.setUnbanOvRate(divideAndRound(phase_voltagevalue,count)); pqTypicalSourceCreatePO.setUnbanOvRate(divideAndRound(phase_voltagevalue,count));
pqTypicalSourceCreatePO.setUnbanAvgOvRate(divideAndRound(phase_voltagevalue,count)); pqTypicalSourceCreatePO.setUnbanAvgOvRate(divideAndRound(phase_voltagevalue,count));
int harmonic_voltagevalue = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsV()==1).count()+""); int harmonic_voltagevalue = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsV()==1).count()+"");
pqTypicalSourceCreatePO.setVOvNum(harmonic_voltagevalue); pqTypicalSourceCreatePO.setVOvNum(harmonic_voltagevalue);
pqTypicalSourceCreatePO.setVOvRate(divideAndRound(harmonic_voltagevalue,count)); pqTypicalSourceCreatePO.setVOvRate(divideAndRound(harmonic_voltagevalue,count));
pqTypicalSourceCreatePO.setVAvgOvRate(divideAndRound(harmonic_voltagevalue,count)); pqTypicalSourceCreatePO.setVAvgOvRate(divideAndRound(harmonic_voltagevalue,count));
@@ -678,7 +648,33 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
pqTypicalSourceCreatePO.setInseqOvCount(inseqOvNum); pqTypicalSourceCreatePO.setInseqOvCount(inseqOvNum);
pqTypicalSourceCreatePO.setUnbanOvCount(phase_voltagevalue); pqTypicalSourceCreatePO.setUnbanOvCount(phase_voltagevalue);
pqTypicalSourceCreatePO.setHarmvOvCount(harmonic_voltagevalue); pqTypicalSourceCreatePO.setHarmvOvCount(harmonic_voltagevalue);
//稳态指标是否超标(0:否 1:是)
Map<String, Integer> collect = rMpSurplusHarmonicDetailDS.stream().collect(Collectors.toMap(RMpSurplusHarmonicDetailD::getMeasurementPointId, RMpSurplusHarmonicDetailD::getIsFlicker));
int ovNum=0;
for (RMpPartHarmonicDetailD detailD : rMpPartHarmonicDetailDS) {
Integer isFlicker=0;
int num = detailD.getIsINeg() + detailD.getIsUnbalance() + detailD.getIsV() + detailD.getIsI();
if(collect.containsKey(detailD.getMeasurementPointId())){
isFlicker = collect.get(detailD.getMeasurementPointId());
}
if((num+isFlicker)>0){
ovNum++;
}
}
int i = inseqOvNum + flickervalue + phase_voltagevalue + harmonic_voltagevalue + harmonic_Ivalue;
if(ovNum>i){
ovNum=i;
}
pqTypicalSourceCreatePO.setOvRate(divideAndRound(ovNum,count));
if(ovNum>0){
pqTypicalSourceCreatePO.setOvDayCount(1);
pqTypicalSourceCreatePO.setAverageOvDays(new BigDecimal(1.00));
}else {
pqTypicalSourceCreatePO.setOvDayCount(0);
pqTypicalSourceCreatePO.setAverageOvDays(initialvalue);
}
pqTypicalSourceCreatePO.setOvNum(ovNum);
pqTypicalSourceCreatePO.setOvCount(ovNum); pqTypicalSourceCreatePO.setOvCount(ovNum);
pqTypicalSourceCreatePO.setInterferenceSourceCount(count); pqTypicalSourceCreatePO.setInterferenceSourceCount(count);