This commit is contained in:
huangzj
2023-07-28 09:55:33 +08:00
parent fbb3e2c804
commit 4600884a28
4 changed files with 68 additions and 52 deletions

View File

@@ -729,11 +729,11 @@ public class RStatOrgServiceImpl implements RStatOrgService {
eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring(0, 7)); eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring(0, 7));
RMpPassRateMPO rMpPassRateMPO = rMpPassRateMMapper.selectOne(rMpPassRateMPOQueryWrapper); RMpPassRateMPO rMpPassRateMPO = rMpPassRateMMapper.selectOne(rMpPassRateMPOQueryWrapper);
//todo 这边有点问题,每日监测点信息从公共接口获取,当日监测点应该都一样,不存在表数据不一致的情况 //todo 这边有点问题,每日监测点信息从公共接口获取,当日监测点应该都一样,不存在表数据不一致的情况
if (!Objects.isNull(rMpPassRateMPO)){ // if (!Objects.isNull(rMpPassRateMPO)){
rStatOrgMPO.setFreqPassRate(rMpPassRateMPO.getFreqPassRate()); rStatOrgMPO.setFreqPassRate(rMpPassRateMPO.getFreqPassRate());
rStatOrgMPO.setFlickerPassRate(rMpPassRateMPO.getFlickerPassRate()); rStatOrgMPO.setFlickerPassRate(rMpPassRateMPO.getFlickerPassRate());
rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getvDevPassRate()); rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getvDevPassRate());
} // }
/*11、日均监测到暂态指标的监测点数*/ /*11、日均监测到暂态指标的监测点数*/
rMpEventDetailDPOQueryWrapper.clear(); rMpEventDetailDPOQueryWrapper.clear();

View File

@@ -74,23 +74,26 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
Double voltage =Double.parseDouble (data.getScale ().substring (0, data.getScale ().length ()-2)); Double voltage =Double.parseDouble (data.getScale ().substring (0, data.getScale ().length ()-2));
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp, dataDate, statisticalInterval); List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp, dataDate, statisticalInterval);
if(CollectionUtils.isEmpty (fiveItems)){ RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
return;
}
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO (fiveItems, pmsAbnormalRules, voltage); rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO (rMpMonitorEvaluateDPO,fiveItems, pmsAbnormalRules, voltage,data.getPtType());
Date date = DateUtil.parse(dataDate); Date date = DateUtil.parse(dataDate);
DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData (temp, date, 5); DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData (temp, date, 5);
if(Objects.isNull (twoFlickerData)){ if(Objects.isNull (twoFlickerData)){
return; rMpMonitorEvaluateDPO.setPltCount (0);
rMpMonitorEvaluateDPO.setPstCount (0);
}else {
rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ());
rMpMonitorEvaluateDPO.setPstCount (twoFlickerData.getPstCount ());
} }
rMpMonitorEvaluateDPO.setAllMinuteCount (fiveItems.size ()); rMpMonitorEvaluateDPO.setAllMinuteCount (fiveItems.size ());
rMpMonitorEvaluateDPO.setDeviceId(devid); rMpMonitorEvaluateDPO.setDeviceId(devid);
rMpMonitorEvaluateDPO.setDataDate (date); rMpMonitorEvaluateDPO.setDataDate (date);
rMpMonitorEvaluateDPO.setMeasurementPointId (temp); rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ());
rMpMonitorEvaluateDPO.setPstCount (twoFlickerData.getPstCount ());
rMpMonitorEvaluateDPOS.add (rMpMonitorEvaluateDPO); rMpMonitorEvaluateDPOS.add (rMpMonitorEvaluateDPO);
}); });
@@ -109,8 +112,7 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
* @Author: clam * @Author: clam
* @Date: 2023/2/23 * @Date: 2023/2/23
*/ */
private RMpMonitorEvaluateDPO calculateRMpMonitorEvaluateDPO(List<DataVFiveItemDTO> fiveItems, List<PmsAbnormalRules> pmsAbnormalRules, Double voltage) { private RMpMonitorEvaluateDPO calculateRMpMonitorEvaluateDPO(RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO,List<DataVFiveItemDTO> fiveItems, List<PmsAbnormalRules> pmsAbnormalRules, Double voltage,String ptType) {
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
Integer freqCount = 0; Integer freqCount = 0;
Integer unbalanceCount = 0; Integer unbalanceCount = 0;
@@ -124,48 +126,59 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
PmsAbnormalRules rms_lvrLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_RMS_LVR)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules rms_lvrLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_RMS_LVR)).collect (Collectors.toList ( )).get (0);
PmsAbnormalRules v_thdLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_THD)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules v_thdLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_THD)).collect (Collectors.toList ( )).get (0);
PmsAbnormalRules v_unbalanceLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_UNBALANCE)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules v_unbalanceLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_UNBALANCE)).collect (Collectors.toList ( )).get (0);
for (DataVFiveItemDTO fiveItem : fiveItems) { if(!CollectionUtils.isEmpty (fiveItems)){
Double freqMax = fiveItem.getFreqMax (); for (DataVFiveItemDTO fiveItem : fiveItems) {
Double freqMin = fiveItem.getFreqMin (); Double freqMax = fiveItem.getFreqMax ();
Double freqMin = fiveItem.getFreqMin ();
Double rmsMax = fiveItem.getRmsMax (); Double rmsMax = fiveItem.getRmsMax ();
Double rmsMin = fiveItem.getRmsMin (); Double rmsMin = fiveItem.getRmsMin ();
Double vThdMax = fiveItem.getVThdMax (); Double vThdMax = fiveItem.getVThdMax ();
Double vThdMin = fiveItem.getVThdMin (); Double vThdMin = fiveItem.getVThdMin ();
Double vUnbalanceMax = fiveItem.getVUnbalanceMax (); Double vUnbalanceMax = fiveItem.getVUnbalanceMax ();
Double vUnbalanceMin = fiveItem.getVUnbalanceMin (); Double vUnbalanceMin = fiveItem.getVUnbalanceMin ();
Double rmsLvrMax = fiveItem.getRmsLvrMax (); Double rmsLvrMax = fiveItem.getRmsLvrMax ();
Double rmsLvrMin = fiveItem.getRmsLvrMin (); Double rmsLvrMin = fiveItem.getRmsLvrMin ();
Boolean rmsflag=false;
if(freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( )){
freqCount++;
}
/*,监测点的接线方式,如果是星形接线这个指标要判断,角形界面则不判断,默认它是正常的*/
if(Objects.equals("0",ptType)){
if(rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) ){
phaseVoltageCount++;
rmsflag =true;
}
}else {
rmsflag =true;
phaseVoltageCount++;
}
if(freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( )){ if(rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage){
freqCount++; lineVoltageCount++;
} }
if(rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) ){ if(v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( )){
phaseVoltageCount++; vThdCount++;
} }
if(rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage){ if( v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )){
lineVoltageCount++; unbalanceCount++;
} }
if(v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( )){
vThdCount++;
}
if( v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )){
unbalanceCount++;
}
if (freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( ) && if (freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( ) &&
rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) && rmsflag &&
rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage && rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage &&
v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) && v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) &&
v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( ) v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )
) {
effectiveMinuteCount++;
}
}
}
) {
effectiveMinuteCount++;
}
}
rMpMonitorEvaluateDPO.setEffectiveMinuteCount (effectiveMinuteCount); rMpMonitorEvaluateDPO.setEffectiveMinuteCount (effectiveMinuteCount);
rMpMonitorEvaluateDPO.setFreqCount (freqCount); rMpMonitorEvaluateDPO.setFreqCount (freqCount);
rMpMonitorEvaluateDPO.setPhaseVoltageCount (phaseVoltageCount); rMpMonitorEvaluateDPO.setPhaseVoltageCount (phaseVoltageCount);

View File

@@ -64,6 +64,7 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
Date date = DateUtil.parse(dataDate); Date date = DateUtil.parse(dataDate);
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = new ArrayList<> (); List<ROperatingMonitorDPO> rOperatingMonitorDPOList = new ArrayList<> ();
indexLists.forEach (temp -> { indexLists.forEach (temp -> {
ROperatingMonitorDPO rOperatingMonitorDPO = new ROperatingMonitorDPO();
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( ); LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( );
/*todo 统计间隔,电压等级取值方式,devid后期提供融合版本接口获取不然pmspqs系统取值方式不一样*/ /*todo 统计间隔,电压等级取值方式,devid后期提供融合版本接口获取不然pmspqs系统取值方式不一样*/
@@ -85,7 +86,6 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
if (Objects.isNull(rStatAbnormalDPO)) { if (Objects.isNull(rStatAbnormalDPO)) {
return; return;
} }
ROperatingMonitorDPO rOperatingMonitorDPO = new ROperatingMonitorDPO();
rOperatingMonitorDPO.setMeasurementPointId (temp); rOperatingMonitorDPO.setMeasurementPointId (temp);
rOperatingMonitorDPO.setDataDate (date); rOperatingMonitorDPO.setDataDate (date);
rOperatingMonitorDPO.setIsUnusual (rStatAbnormalDPO.getValueAlarm ()); rOperatingMonitorDPO.setIsUnusual (rStatAbnormalDPO.getValueAlarm ());

View File

@@ -43,14 +43,17 @@ public class RStatAbnormalDServiceImpl extends MppServiceImpl<RStatAbnormalDMapp
rMpMonitorEvaluateDPO.setMeasurementPointId (temp); rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
rMpMonitorEvaluateDPO.setDataDate (date); rMpMonitorEvaluateDPO.setDataDate (date);
rMpMonitorEvaluateDPO = rMpMonitorEvaluateDService.selectByMultiId (rMpMonitorEvaluateDPO); rMpMonitorEvaluateDPO = rMpMonitorEvaluateDService.selectByMultiId (rMpMonitorEvaluateDPO);
if(Objects.isNull (rMpMonitorEvaluateDPO)){
return;
}
RStatAbnormalDPO rStatAbnormalDPO = new RStatAbnormalDPO(); RStatAbnormalDPO rStatAbnormalDPO = new RStatAbnormalDPO();
if(Objects.isNull (rMpMonitorEvaluateDPO)){
rStatAbnormalDPO.setValueAlarm(0);
}else {
rStatAbnormalDPO.setValueAlarm (rMpMonitorEvaluateDPO.getEffectiveMinuteCount ()
<rMpMonitorEvaluateDPO.getAllMinuteCount ()?0:1);
}
rStatAbnormalDPO.setDataDate (date); rStatAbnormalDPO.setDataDate (date);
rStatAbnormalDPO.setMeasurementPointId (temp); rStatAbnormalDPO.setMeasurementPointId (temp);
rStatAbnormalDPO.setValueAlarm (rMpMonitorEvaluateDPO.getEffectiveMinuteCount ()
<rMpMonitorEvaluateDPO.getAllMinuteCount ()?0:1);
rStatAbnormalDPOS.add (rStatAbnormalDPO); rStatAbnormalDPOS.add (rStatAbnormalDPO);
}); });
this.saveOrUpdateBatchByMultiId (rStatAbnormalDPOS,500); this.saveOrUpdateBatchByMultiId (rStatAbnormalDPOS,500);