地市合格率报错

This commit is contained in:
xy
2025-12-13 11:11:50 +08:00
parent 10273dd2b0
commit 3a97f01383

View File

@@ -946,12 +946,61 @@ public class GridServiceImpl implements IGridService {
//计算总稳态合格率
double all1 = 100 - (devTime + freqTime + thdTime + ubalanceTime) * 100.0 / (allTime * 4);
double all2 = 100 - pltTime * 100.0 / allFlickerTime;
comAssess.setQualifyData(allTime <= 0 ? 3.14159 : PubUtils.doubleRound(2, (all1 + all2) / 2.0));
comAssess.setVDevQualifyData(allTime <= 0 ? 3.14159 : PubUtils.doubleRound(2, 100 - devTime * 100.0 / allTime));
comAssess.setFreqQualifyData(allTime <= 0 ? 3.14159 : PubUtils.doubleRound(2, 100 - freqTime * 100.0 / allTime));
comAssess.setHarmQualifyData(allTime <= 0 ? 3.14159 : PubUtils.doubleRound(2, 100 - thdTime * 100.0 / allTime));
comAssess.setFlickerQualifyData(allTime <= 0 ? 3.14159 : PubUtils.doubleRound(2, 100 - pltTime * 100.0 / allFlickerTime));
comAssess.setUnbalanceQualifyData(allTime <= 0 ? 3.14159 : PubUtils.doubleRound(2, 100 - ubalanceTime * 100.0 / allTime));
double data1,data2,data3,data4,data5,data6;
if (Double.isNaN(all1+all2)) {
data1 = 3.14159;
} else if (Double.isInfinite(all1+all2)) {
data1 = 100.0;
} else {
data1 = PubUtils.doubleRound(2, (all1 + all2) / 2.0);
}
if (Double.isNaN(100 - devTime * 100.0 / allTime)) {
data2 = 3.14159;
} else if (Double.isInfinite(100 - devTime * 100.0 / allTime)) {
data2 = 100.0;
} else {
data2 = PubUtils.doubleRound(2, 100 - devTime * 100.0 / allTime);
}
if (Double.isNaN(100 - freqTime * 100.0 / allTime)) {
data3 = 3.14159;
} else if (Double.isInfinite(100 - freqTime * 100.0 / allTime)) {
data3 = 100.0;
} else {
data3 = PubUtils.doubleRound(2, 100 - freqTime * 100.0 / allTime);
}
if (Double.isNaN(100 - thdTime * 100.0 / allTime)) {
data4 = 3.14159;
} else if (Double.isInfinite(100 - thdTime * 100.0 / allTime)) {
data4 = 100.0;
} else {
data4 = PubUtils.doubleRound(2, 100 - thdTime * 100.0 / allTime);
}
if (Double.isNaN(100 - pltTime * 100.0 / allFlickerTime)) {
data5 = 3.14159;
} else if (Double.isInfinite(100 - pltTime * 100.0 / allFlickerTime)) {
data5 = 100.0;
} else {
data5 = PubUtils.doubleRound(2, 100 - pltTime * 100.0 / allFlickerTime);
}
if (Double.isNaN(100 - pltTime * 100.0 / allTime)) {
data6 = 3.14159;
} else if (Double.isInfinite(100 - pltTime * 100.0 / allTime)) {
data6 = 100.0;
} else {
data6 = PubUtils.doubleRound(2, 100 - ubalanceTime * 100.0 / allTime);
}
comAssess.setQualifyData(allTime <= 0 ? 3.14159 : data1);
comAssess.setVDevQualifyData(allTime <= 0 ? 3.14159 : data2);
comAssess.setFreqQualifyData(allTime <= 0 ? 3.14159 : data3);
comAssess.setHarmQualifyData(allTime <= 0 ? 3.14159 : data4);
comAssess.setFlickerQualifyData(allTime <= 0 ? 3.14159 : data5);
comAssess.setUnbalanceQualifyData(allTime <= 0 ? 3.14159 : data6);
}
}
return comAssess;