1.在线监测点-》稳态指标合格率分析 监测点合格率算法调整
2.区域-》指标合格率统计 各维度合格率算法调整 3.运行管理-》指标合格率列表 监测点合格率算法调整
This commit is contained in:
@@ -16,6 +16,8 @@ public class SteadyData implements Serializable {
|
||||
|
||||
private float allTime;
|
||||
|
||||
private float tAllTime;
|
||||
|
||||
private float frequency=3.1415f;
|
||||
|
||||
private float uBalance=3.1415f;
|
||||
@@ -188,6 +190,14 @@ public class SteadyData implements Serializable {
|
||||
this.inUharm = inUharm;
|
||||
}
|
||||
|
||||
public float gettAllTime() {
|
||||
return tAllTime;
|
||||
}
|
||||
|
||||
public void settAllTime(float tAllTime) {
|
||||
this.tAllTime = tAllTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SteadyData{" +
|
||||
@@ -195,6 +205,7 @@ public class SteadyData implements Serializable {
|
||||
", monitors=" + monitors +
|
||||
", areaIndex='" + areaIndex + '\'' +
|
||||
", allTime=" + allTime +
|
||||
", tAllTime=" + tAllTime +
|
||||
", frequency=" + frequency +
|
||||
", uBalance=" + uBalance +
|
||||
", uAberrance=" + uAberrance +
|
||||
|
||||
@@ -202,23 +202,17 @@ public class LineServiceImpls implements LineService {
|
||||
return new SteadyData();//全部是3.1415,代表无监测点无数据
|
||||
}
|
||||
List<Integer> lineIndexTemp = new ArrayList<>(lineIndexs);
|
||||
Integer size = lineIndexTemp.size();
|
||||
int size = lineIndexTemp.size();
|
||||
try {
|
||||
if (size > 1000) {
|
||||
Integer times = size / 1000 + 1;
|
||||
int times = size / 1000 + 1;
|
||||
for (int i = 0; i < times; i++) {
|
||||
if (size > 1000) {
|
||||
List<Integer> tempIndexs = lineIndexTemp.subList(0, 1000);
|
||||
//需要区分频率偏差、三相电压不平衡与其他指标的获取方式
|
||||
SteadyData tempT = limitRateMapper.getsteadDataByT(tempIndexs, startTime, endTime);
|
||||
//合并数据
|
||||
steadyData = mergeSteady(steadyData, tempT);
|
||||
tempIndexs.clear();
|
||||
} else {
|
||||
//需要区分频率偏差、三相电压不平衡与其他指标的获取方式
|
||||
SteadyData tempT = limitRateMapper.getsteadDataByT(lineIndexTemp, startTime, endTime);
|
||||
steadyData = mergeSteady(steadyData, tempT);
|
||||
}
|
||||
List<Integer> tempIndexs = lineIndexTemp.subList(0, 1000);
|
||||
//需要区分频率偏差、三相电压不平衡与其他指标的获取方式
|
||||
SteadyData tempT = limitRateMapper.getsteadDataByT(tempIndexs, startTime, endTime);
|
||||
//合并数据
|
||||
steadyData = mergeSteady(steadyData, tempT);
|
||||
tempIndexs.clear();
|
||||
}
|
||||
} else {
|
||||
//需要区分频率偏差、三相电压不平衡与其他指标的获取方式
|
||||
@@ -246,7 +240,11 @@ public class LineServiceImpls implements LineService {
|
||||
} else {
|
||||
steadyData.setAllTime(steadyData.getAllTime() + tempT.getAllTime());
|
||||
}
|
||||
|
||||
if (steadyData.gettAllTime() == 0) {
|
||||
steadyData.settAllTime(tempT.gettAllTime());
|
||||
} else {
|
||||
steadyData.settAllTime(steadyData.gettAllTime() + tempT.gettAllTime());
|
||||
}
|
||||
if (steadyData.getFrequency() == 3.1415f) {
|
||||
steadyData.setFrequency(tempT.getFrequency());
|
||||
} else {
|
||||
@@ -329,14 +327,15 @@ public class LineServiceImpls implements LineService {
|
||||
return steadyData;
|
||||
} else {
|
||||
float allTime = steadyData.getAllTime();
|
||||
float tAllTime = steadyData.gettAllTime();
|
||||
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 start
|
||||
steadyData.setHarmVoltage(getAcceptlityByData(allTime, steadyData.getHarmVoltage()));
|
||||
steadyData.setHarmElec(getAcceptlityByData(allTime, steadyData.getHarmElec()));
|
||||
steadyData.setiNeg(getAcceptlityByData(allTime, steadyData.getiNeg()));
|
||||
steadyData.setiNeg(getAcceptlityByData(tAllTime, steadyData.getiNeg()));
|
||||
steadyData.setInUharm(getAcceptlityByData(allTime, steadyData.getInUharm()));
|
||||
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 end
|
||||
steadyData.setVoltageDeviation(getAcceptlityByData(allTime, steadyData.getVoltageDeviation()));
|
||||
steadyData.setuBalance(getAcceptlityByData(allTime, steadyData.getuBalance()));
|
||||
steadyData.setuBalance(getAcceptlityByData(tAllTime, steadyData.getuBalance()));
|
||||
steadyData.setFlicker(getAcceptlityByData(steadyData.getAllFlicker(), steadyData.getFlicker()));
|
||||
steadyData.setOddVoltage(getAcceptlityByData(allTime, steadyData.getOddVoltage()));
|
||||
steadyData.setEvenVoltage(getAcceptlityByData(allTime, steadyData.getEvenVoltage()));
|
||||
@@ -350,16 +349,23 @@ public class LineServiceImpls implements LineService {
|
||||
|
||||
//计算合格率结果
|
||||
private float getAcceptlityByData(float allTime, float data) {
|
||||
float accpet = allTime - data;
|
||||
if (accpet < 0) {
|
||||
accpet = 0;
|
||||
float result;
|
||||
if (Objects.equals(data,3.1415f)) {
|
||||
result = 3.14159f;
|
||||
} else {
|
||||
float accpet = allTime - data;
|
||||
if (accpet < 0) {
|
||||
accpet = 0;
|
||||
}
|
||||
if(allTime == 0){
|
||||
return 100.0f;
|
||||
}
|
||||
float num = accpet / allTime;
|
||||
// 格式化小数
|
||||
DecimalFormat df = new DecimalFormat("0.00");
|
||||
result = Float.parseFloat(df.format(num * 100));
|
||||
}
|
||||
if(allTime == 0){
|
||||
return 100.0f;
|
||||
}
|
||||
float num = accpet / allTime;
|
||||
DecimalFormat df = new DecimalFormat("0.00");// 格式化小数
|
||||
return Float.valueOf(df.format(num * 100));
|
||||
return result;
|
||||
}
|
||||
|
||||
//计算谐波电压合格率结果
|
||||
|
||||
Reference in New Issue
Block a user