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));
RMpPassRateMPO rMpPassRateMPO = rMpPassRateMMapper.selectOne(rMpPassRateMPOQueryWrapper);
//todo 这边有点问题,每日监测点信息从公共接口获取,当日监测点应该都一样,不存在表数据不一致的情况
if (!Objects.isNull(rMpPassRateMPO)){
// if (!Objects.isNull(rMpPassRateMPO)){
rStatOrgMPO.setFreqPassRate(rMpPassRateMPO.getFreqPassRate());
rStatOrgMPO.setFlickerPassRate(rMpPassRateMPO.getFlickerPassRate());
rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getvDevPassRate());
}
// }
/*11、日均监测到暂态指标的监测点数*/
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));
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp, dataDate, statisticalInterval);
if(CollectionUtils.isEmpty (fiveItems)){
return;
}
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO (fiveItems, pmsAbnormalRules, voltage);
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO (rMpMonitorEvaluateDPO,fiveItems, pmsAbnormalRules, voltage,data.getPtType());
Date date = DateUtil.parse(dataDate);
DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData (temp, date, 5);
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.setDeviceId(devid);
rMpMonitorEvaluateDPO.setDataDate (date);
rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ());
rMpMonitorEvaluateDPO.setPstCount (twoFlickerData.getPstCount ());
rMpMonitorEvaluateDPOS.add (rMpMonitorEvaluateDPO);
});
@@ -109,8 +112,7 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
* @Author: clam
* @Date: 2023/2/23
*/
private RMpMonitorEvaluateDPO calculateRMpMonitorEvaluateDPO(List<DataVFiveItemDTO> fiveItems, List<PmsAbnormalRules> pmsAbnormalRules, Double voltage) {
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
private RMpMonitorEvaluateDPO calculateRMpMonitorEvaluateDPO(RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO,List<DataVFiveItemDTO> fiveItems, List<PmsAbnormalRules> pmsAbnormalRules, Double voltage,String ptType) {
Integer freqCount = 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 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);
for (DataVFiveItemDTO fiveItem : fiveItems) {
Double freqMax = fiveItem.getFreqMax ();
Double freqMin = fiveItem.getFreqMin ();
if(!CollectionUtils.isEmpty (fiveItems)){
for (DataVFiveItemDTO fiveItem : fiveItems) {
Double freqMax = fiveItem.getFreqMax ();
Double freqMin = fiveItem.getFreqMin ();
Double rmsMax = fiveItem.getRmsMax ();
Double rmsMin = fiveItem.getRmsMin ();
Double vThdMax = fiveItem.getVThdMax ();
Double vThdMin = fiveItem.getVThdMin ();
Double rmsMax = fiveItem.getRmsMax ();
Double rmsMin = fiveItem.getRmsMin ();
Double vThdMax = fiveItem.getVThdMax ();
Double vThdMin = fiveItem.getVThdMin ();
Double vUnbalanceMax = fiveItem.getVUnbalanceMax ();
Double vUnbalanceMin = fiveItem.getVUnbalanceMin ();
Double rmsLvrMax = fiveItem.getRmsLvrMax ();
Double rmsLvrMin = fiveItem.getRmsLvrMin ();
Double vUnbalanceMax = fiveItem.getVUnbalanceMax ();
Double vUnbalanceMin = fiveItem.getVUnbalanceMin ();
Double rmsLvrMax = fiveItem.getRmsLvrMax ();
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 ( )){
freqCount++;
}
if(rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) ){
phaseVoltageCount++;
}
if(rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage){
lineVoltageCount++;
}
if(v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( )){
vThdCount++;
}
if( v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )){
unbalanceCount++;
}
if(rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage){
lineVoltageCount++;
}
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 ( ) &&
rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) &&
rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage &&
v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) &&
v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )
if (freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( ) &&
rmsflag &&
rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage &&
v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) &&
v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )
) {
effectiveMinuteCount++;
}
}
}
) {
effectiveMinuteCount++;
}
}
rMpMonitorEvaluateDPO.setEffectiveMinuteCount (effectiveMinuteCount);
rMpMonitorEvaluateDPO.setFreqCount (freqCount);
rMpMonitorEvaluateDPO.setPhaseVoltageCount (phaseVoltageCount);

View File

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

View File

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