|
|
@@ -124,21 +124,21 @@ public class NewGetWindReportService {
|
|
|
setTurbineIdFromNemCode(wtls, ssdlbottom3list);
|
|
|
|
|
|
//周期数据
|
|
|
- double zqpjfs = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getPjfs(), 2) : 0.0;
|
|
|
- double zqklyl = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getKlyl(), 2) : 0.0;
|
|
|
- double zqfdl = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getRfdl() / bl, 2) : 0.0;
|
|
|
- double zqxdss = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getXdss() / bl, 2) : 0.0;
|
|
|
- double zqjxss = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getJhjxss() / bl, 2) : 0.0;
|
|
|
- double zqfjhjxss = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getFjhjxss() / bl, 2) : 0.0;
|
|
|
- double zdxnss = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getXnss() / bl, 2) : 0.0;
|
|
|
- double zqslss = monthList.size() > 0 ? StringUtils.round(monthList.get(0).getSlss() / bl, 2) : 0.0;
|
|
|
- double zssdl = StringUtils.round(zqxdss + zqjxss + zqfjhjxss + zdxnss + zqslss, 2);
|
|
|
+ double zqpjfs = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getPjfs(), 2) : 0.0;
|
|
|
+ double zqklyl = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getKlyl(), 2) : 0.0;
|
|
|
+ double zqfdl = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getRfdl() / bl, 2) : 0.0;
|
|
|
+ double zqxdss = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getXdss() / bl, 2) : 0.0;
|
|
|
+ double zqjxss = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getJhjxss() / bl, 2) : 0.0;
|
|
|
+ double zqfjhjxss = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getFjhjxss() / bl, 2) : 0.0;
|
|
|
+ double zdxnss = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getXnss() / bl, 2) : 0.0;
|
|
|
+ double zqslss = monthList.size() > 0 ? StringUtils.roundDivide(monthList.get(0).getSlss() / bl, 2) : 0.0;
|
|
|
+ double zssdl = StringUtils.roundDivide(zqxdss + zqjxss + zqfjhjxss + zdxnss + zqslss, 2);
|
|
|
|
|
|
information mation = new information();
|
|
|
mation.setCategory("周期内核心数据");
|
|
|
mation.setContent("平均风速:" + zqpjfs + "m/s;场站总发电量:" + zqfdl + "万kWh\n" +
|
|
|
"50台风机平均可利用率:" + zqklyl + "%;总损失电量:" + zssdl + "万kWh\n" +
|
|
|
- "单台平均发电量:" + StringUtils.round(zqfdl / 50, 2) + "万kWh");
|
|
|
+ "单台平均发电量:" + StringUtils.roundDivide(zqfdl / 50, 2) + "万kWh");
|
|
|
|
|
|
// 平均值变量
|
|
|
double fdlavgtop3 = 0.0;
|
|
|
@@ -180,16 +180,16 @@ public class NewGetWindReportService {
|
|
|
lnxdssdl[i] = item.getXdss() / bl;
|
|
|
}
|
|
|
}
|
|
|
- double p1fdl = StringUtils.round(lnfdl[0] + lnfdl[1], 2);
|
|
|
- double p2fdl = StringUtils.round(lnfdl[2] + lnfdl[3], 2);
|
|
|
- double p1llfdl = StringUtils.round(lnllfdl[0] + lnllfdl[1], 2);
|
|
|
- double p2llfdl = StringUtils.round(lnllfdl[2] + lnllfdl[3], 2);
|
|
|
- double p1ssdl = StringUtils.round(lnzssdl[0] + lnzssdl[1], 2);
|
|
|
- double p2ssdl = StringUtils.round(lnzssdl[2] + lnzssdl[3], 2);
|
|
|
- double p1fnlyl = StringUtils.round((p1fdl / p1llfdl) * 100, 2);
|
|
|
- double p2fnlyl = StringUtils.round((p2fdl / p2llfdl) * 100, 2);
|
|
|
- double p1qfl = StringUtils.round((lnxdssdl[0] + lnxdssdl[1]) / p1llfdl, 2);
|
|
|
- double p2qfl = StringUtils.round((lnxdssdl[2] + lnxdssdl[3]) / p2llfdl, 2);
|
|
|
+ double p1fdl = StringUtils.roundDivide(lnfdl[0] + lnfdl[1], 2);
|
|
|
+ double p2fdl = StringUtils.roundDivide(lnfdl[2] + lnfdl[3], 2);
|
|
|
+ double p1llfdl = StringUtils.roundDivide(lnllfdl[0] + lnllfdl[1], 2);
|
|
|
+ double p2llfdl = StringUtils.roundDivide(lnllfdl[2] + lnllfdl[3], 2);
|
|
|
+ double p1ssdl = StringUtils.roundDivide(lnzssdl[0] + lnzssdl[1], 2);
|
|
|
+ double p2ssdl = StringUtils.roundDivide(lnzssdl[2] + lnzssdl[3], 2);
|
|
|
+ double p1fnlyl = StringUtils.roundDivide((p1fdl / p1llfdl) * 100, 2);
|
|
|
+ double p2fnlyl = StringUtils.roundDivide((p2fdl / p2llfdl) * 100, 2);
|
|
|
+ double p1qfl = StringUtils.roundDivide((lnxdssdl[0] + lnxdssdl[1]) / p1llfdl, 2);
|
|
|
+ double p2qfl = StringUtils.roundDivide((lnxdssdl[2] + lnxdssdl[3]) / p2llfdl, 2);
|
|
|
|
|
|
// 处理top3list数据
|
|
|
if (top3list.size() > 0) {
|
|
|
@@ -202,14 +202,14 @@ public class NewGetWindReportService {
|
|
|
topIds[i] = item.getStationId() != null ? item.getStationId() : "";
|
|
|
|
|
|
// 计算各项值并赋值
|
|
|
- topFdl[i] = StringUtils.round(item.getRfdl() / bl, 2);
|
|
|
- topLlfdl[i] = StringUtils.round(item.getLlfdl() / bl, 2);
|
|
|
- topGzssdl[i] = StringUtils.round(item.getFjhjxss() / bl, 2);
|
|
|
- topJxssdl[i] = StringUtils.round(item.getJhjxss() / bl, 2);
|
|
|
- topXnssdl[i] = StringUtils.round(item.getXnss() / bl, 2);
|
|
|
- topXdssdl[i] = StringUtils.round(item.getXdss() / bl, 2);
|
|
|
- topSlssdl[i] = StringUtils.round(item.getSlss() / bl, 2);
|
|
|
- topFnlyl[i] = StringUtils.round(item.getFnlyl(), 2);
|
|
|
+ topFdl[i] = StringUtils.roundDivide(item.getRfdl() / bl, 2);
|
|
|
+ topLlfdl[i] = StringUtils.roundDivide(item.getLlfdl() / bl, 2);
|
|
|
+ topGzssdl[i] = StringUtils.roundDivide(item.getFjhjxss() / bl, 2);
|
|
|
+ topJxssdl[i] = StringUtils.roundDivide(item.getJhjxss() / bl, 2);
|
|
|
+ topXnssdl[i] = StringUtils.roundDivide(item.getXnss() / bl, 2);
|
|
|
+ topXdssdl[i] = StringUtils.roundDivide(item.getXdss() / bl, 2);
|
|
|
+ topSlssdl[i] = StringUtils.roundDivide(item.getSlss() / bl, 2);
|
|
|
+ topFnlyl[i] = StringUtils.roundDivide(item.getFnlyl(), 2);
|
|
|
|
|
|
// 累加计算平均值
|
|
|
totalRfdl += item.getRfdl();
|
|
|
@@ -218,12 +218,12 @@ public class NewGetWindReportService {
|
|
|
|
|
|
|
|
|
// 计算最终平均值
|
|
|
- fdlavgtop3 = StringUtils.round((totalRfdl / bl) / 3, 2);
|
|
|
- avgklyltop3 = StringUtils.round(totalKlyl / 3, 2);
|
|
|
+ fdlavgtop3 = StringUtils.roundDivide((totalRfdl / bl) / 3, 2);
|
|
|
+ avgklyltop3 = StringUtils.roundDivide(totalKlyl / 3, 2);
|
|
|
}
|
|
|
- double top1ssdl = StringUtils.round(topXdssdl[0] + topJxssdl[0] + topGzssdl[0] + topXnssdl[0] + topSlssdl[0], 2);
|
|
|
- double top2ssdl = StringUtils.round(topXdssdl[1] + topJxssdl[1] + topGzssdl[1] + topXnssdl[1] + topSlssdl[1], 2);
|
|
|
- double top3ssdl = StringUtils.round(topXdssdl[2] + topJxssdl[2] + topGzssdl[2] + topXnssdl[2] + topSlssdl[2], 2);
|
|
|
+ double top1ssdl = StringUtils.roundDivide(topXdssdl[0] + topJxssdl[0] + topGzssdl[0] + topXnssdl[0] + topSlssdl[0], 2);
|
|
|
+ double top2ssdl = StringUtils.roundDivide(topXdssdl[1] + topJxssdl[1] + topGzssdl[1] + topXnssdl[1] + topSlssdl[1], 2);
|
|
|
+ double top3ssdl = StringUtils.roundDivide(topXdssdl[2] + topJxssdl[2] + topGzssdl[2] + topXnssdl[2] + topSlssdl[2], 2);
|
|
|
// 处理bottom3list数据
|
|
|
if (bottom3list.size() > 0) {
|
|
|
double totalRfdl = 0.0;
|
|
|
@@ -233,14 +233,14 @@ public class NewGetWindReportService {
|
|
|
for (int i = 0; i < bottom3list.size(); i++) {
|
|
|
var item = bottom3list.get(i);
|
|
|
bottomIds[i] = item.getStationId() != null ? item.getStationId() : "";
|
|
|
- bottomFdl[i] = StringUtils.round(item.getRfdl() / bl, 2);
|
|
|
+ bottomFdl[i] = StringUtils.roundDivide(item.getRfdl() / bl, 2);
|
|
|
|
|
|
totalRfdl += item.getRfdl();
|
|
|
totalKlyl += item.getKlyl();
|
|
|
}
|
|
|
|
|
|
- fdlavgbottom3 = StringUtils.round((totalRfdl / bl) / 3, 2);
|
|
|
- avgknlylbottom3 = StringUtils.round(totalKlyl / 3, 2);
|
|
|
+ fdlavgbottom3 = StringUtils.roundDivide((totalRfdl / bl) / 3, 2);
|
|
|
+ avgknlylbottom3 = StringUtils.roundDivide(totalKlyl / 3, 2);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -264,7 +264,7 @@ public class NewGetWindReportService {
|
|
|
double total = jhjxss + fjhjxss + xdss + slss + xnss;
|
|
|
|
|
|
// 计算最大值在总和中的占比(百分比)
|
|
|
- percentage = total > 0 ? StringUtils.round((maxValue / total) * 100, 2) : 0.0;
|
|
|
+ percentage = total > 0 ? StringUtils.roundDivide((maxValue / total) * 100, 2) : 0.0;
|
|
|
|
|
|
// 确定最大值对应的中文名称
|
|
|
zyss =
|
|
|
@@ -300,24 +300,24 @@ public class NewGetWindReportService {
|
|
|
|
|
|
performance performance2 = new performance();
|
|
|
performance2.setDbwd("月度风能利用率");
|
|
|
- performance2.setTop("1." + fntop3list.get(0).getStationId() + "号:" + StringUtils.round(fntop3list.get(0).getFnlyl(), 2) + "%;" +
|
|
|
- "2." + fntop3list.get(1).getStationId() + "号:" + StringUtils.round(fntop3list.get(1).getFnlyl(), 2) + "%;" +
|
|
|
- "3." + fntop3list.get(2).getStationId() + "号:" + StringUtils.round(fntop3list.get(2).getFnlyl(), 2) + "%;");
|
|
|
+ performance2.setTop("1." + fntop3list.get(0).getStationId() + "号:" + StringUtils.roundDivide(fntop3list.get(0).getFnlyl(), 2) + "%;" +
|
|
|
+ "2." + fntop3list.get(1).getStationId() + "号:" + StringUtils.roundDivide(fntop3list.get(1).getFnlyl(), 2) + "%;" +
|
|
|
+ "3." + fntop3list.get(2).getStationId() + "号:" + StringUtils.roundDivide(fntop3list.get(2).getFnlyl(), 2) + "%;");
|
|
|
|
|
|
- performance2.setBottom("1." + fnbottom3list.get(0).getStationId() + "号:" + StringUtils.round(fnbottom3list.get(0).getFnlyl(), 2) + "%;" +
|
|
|
- "2." + fnbottom3list.get(1).getStationId() + "号:" + StringUtils.round(fnbottom3list.get(1).getFnlyl(), 2) + "%;" +
|
|
|
- "3." + fnbottom3list.get(2).getStationId() + "号:" + StringUtils.round(fnbottom3list.get(2).getFnlyl(), 2) + "%;");
|
|
|
+ performance2.setBottom("1." + fnbottom3list.get(0).getStationId() + "号:" + StringUtils.roundDivide(fnbottom3list.get(0).getFnlyl(), 2) + "%;" +
|
|
|
+ "2." + fnbottom3list.get(1).getStationId() + "号:" + StringUtils.roundDivide(fnbottom3list.get(1).getFnlyl(), 2) + "%;" +
|
|
|
+ "3." + fnbottom3list.get(2).getStationId() + "号:" + StringUtils.roundDivide(fnbottom3list.get(2).getFnlyl(), 2) + "%;");
|
|
|
|
|
|
performancesls.add(performance2);
|
|
|
|
|
|
performance performance3 = new performance();
|
|
|
performance3.setDbwd("月度损失电量");
|
|
|
- performance3.setTop("1." + ssdltop3list.get(0).getStationId() + "号:" + StringUtils.round(ssdltop3list.get(0).getGzss() / bl, 2) + "万kWh;" +
|
|
|
- "2." + ssdltop3list.get(1).getStationId() + "号:" + StringUtils.round(ssdltop3list.get(1).getGzss() / bl, 2) + "万kWh;" +
|
|
|
- "3." + ssdltop3list.get(2).getStationId() + "号:" + StringUtils.round(ssdltop3list.get(2).getGzss() / bl, 2) + "万kWh;");
|
|
|
- performance3.setBottom("1." + ssdlbottom3list.get(0).getStationId() + "号:" + StringUtils.round(ssdlbottom3list.get(0).getGzss() / bl, 2) + "万kWh;" +
|
|
|
- "2." + ssdlbottom3list.get(1).getStationId() + "号:" + StringUtils.round(ssdlbottom3list.get(1).getGzss() / bl, 2) + "万kWh;" +
|
|
|
- "3." + ssdlbottom3list.get(2).getStationId() + "号:" + StringUtils.round(ssdlbottom3list.get(2).getGzss() / bl, 2) + "万kWh;");
|
|
|
+ performance3.setTop("1." + ssdltop3list.get(0).getStationId() + "号:" + StringUtils.roundDivide(ssdltop3list.get(0).getGzss() / bl, 2) + "万kWh;" +
|
|
|
+ "2." + ssdltop3list.get(1).getStationId() + "号:" + StringUtils.roundDivide(ssdltop3list.get(1).getGzss() / bl, 2) + "万kWh;" +
|
|
|
+ "3." + ssdltop3list.get(2).getStationId() + "号:" + StringUtils.roundDivide(ssdltop3list.get(2).getGzss() / bl, 2) + "万kWh;");
|
|
|
+ performance3.setBottom("1." + ssdlbottom3list.get(0).getStationId() + "号:" + StringUtils.roundDivide(ssdlbottom3list.get(0).getGzss() / bl, 2) + "万kWh;" +
|
|
|
+ "2." + ssdlbottom3list.get(1).getStationId() + "号:" + StringUtils.roundDivide(ssdlbottom3list.get(1).getGzss() / bl, 2) + "万kWh;" +
|
|
|
+ "3." + ssdlbottom3list.get(2).getStationId() + "号:" + StringUtils.roundDivide(ssdlbottom3list.get(2).getGzss() / bl, 2) + "万kWh;");
|
|
|
|
|
|
performancesls.add(performance3);
|
|
|
map.put("performances", performancesls);
|
|
|
@@ -348,9 +348,9 @@ public class NewGetWindReportService {
|
|
|
indicatorData.setWindEnergyUtilizationRate(topFnlyl[i]);
|
|
|
|
|
|
// 计算出的指标
|
|
|
- indicatorData.setFaultLossRate(StringUtils.round(topGzssdl[i] / topLlfdl[i] * 100, 2));
|
|
|
- indicatorData.setMaintenanceLossRate(StringUtils.round(topJxssdl[i] / topLlfdl[i] * 100, 2));
|
|
|
- indicatorData.setCurtailmentRate(StringUtils.round(topXdssdl[i] / topLlfdl[i] * 100, 2));
|
|
|
+ indicatorData.setFaultLossRate(StringUtils.roundDivide(topGzssdl[i] / topLlfdl[i] * 100, 2));
|
|
|
+ indicatorData.setMaintenanceLossRate(StringUtils.roundDivide(topJxssdl[i] / topLlfdl[i] * 100, 2));
|
|
|
+ indicatorData.setCurtailmentRate(StringUtils.roundDivide(topXdssdl[i] / topLlfdl[i] * 100, 2));
|
|
|
|
|
|
fanIndicators.add(indicatorData);
|
|
|
}
|
|
|
@@ -430,7 +430,7 @@ public class NewGetWindReportService {
|
|
|
|
|
|
// 2.3 设置结论
|
|
|
projectBenchmark.setConclusion(
|
|
|
- pfdlmax + "在发电量指标上优于" + pfdlmin + ",惠安一期项目与惠安二期项目损失电量差距为" + StringUtils.round(p1ssdl - p2ssdl, 2) + "万kWh"
|
|
|
+ pfdlmax + "在发电量指标上优于" + pfdlmin + ",惠安一期项目与惠安二期项目损失电量差距为" + StringUtils.roundDivide(p1ssdl - p2ssdl, 2) + "万kWh"
|
|
|
);
|
|
|
|
|
|
// 放入最终的 map
|
|
|
@@ -464,17 +464,17 @@ public class NewGetWindReportService {
|
|
|
for (int i = 0; i < lineNames.length; i++) {
|
|
|
LineIndicatorData indicatorData = new LineIndicatorData();
|
|
|
indicatorData.setLineName(lineNames[i]);
|
|
|
- indicatorData.setTotalGeneration(StringUtils.round(lnfdl[i], 2));
|
|
|
- indicatorData.setTotalLoss(StringUtils.round(lnzssdl[i], 2));
|
|
|
- indicatorData.setWindEnergyUtilizationRate(StringUtils.round(lnfnlyl[i], 2));
|
|
|
- indicatorData.setCurtailmentRate(StringUtils.round(lnxdssdl[i] / lnllfdl[i] * 100, 2));
|
|
|
+ indicatorData.setTotalGeneration(StringUtils.roundDivide(lnfdl[i], 2));
|
|
|
+ indicatorData.setTotalLoss(StringUtils.roundDivide(lnzssdl[i], 2));
|
|
|
+ indicatorData.setWindEnergyUtilizationRate(StringUtils.roundDivide(lnfnlyl[i], 2));
|
|
|
+ indicatorData.setCurtailmentRate(StringUtils.roundDivide(lnxdssdl[i] / lnllfdl[i] * 100, 2));
|
|
|
lineIndicators.add(indicatorData);
|
|
|
}
|
|
|
lineBenchmark.setIndicators(lineIndicators);
|
|
|
|
|
|
// 3.3 设置结论
|
|
|
lineBenchmark.setConclusion(
|
|
|
- lnfdlmax + "在发电量指标上优于" + lnfdlmin + ",损失电量差距为" + StringUtils.round(ssdlmaxValue - ssdlminValue , 2) + "万kWh"
|
|
|
+ lnfdlmax + "在发电量指标上优于" + lnfdlmin + ",损失电量差距为" + StringUtils.roundDivide(ssdlmaxValue - ssdlminValue , 2) + "万kWh"
|
|
|
);
|
|
|
|
|
|
map.put("xldb", lineBenchmark);
|
|
|
@@ -545,15 +545,15 @@ public class NewGetWindReportService {
|
|
|
? qndyxqjsllist.get(0).getXqjsl()
|
|
|
: 0.0;
|
|
|
|
|
|
- monthllfdl = StringUtils.round(qnllfdl > 1 ? (llfdl - qnllfdl) / qnllfdl * 100 : 0, 2);
|
|
|
- monthfdl = StringUtils.round(qnfdl > 1 ? (fdl - qnfdl) / qnfdl * 100 : 0, 2);
|
|
|
- monthfnlyl = StringUtils.round(qnmonthfnlyl > 1 ? (yfnlyl - qnmonthfnlyl) / qnmonthfnlyl * 100 : 0, 2); //当月风能利用率差
|
|
|
- monthgzssl = StringUtils.round(qngzss > 1 ? (gzss - qngzss) / qngzss * 100 : 0, 2);
|
|
|
- monthxdssl = StringUtils.round(qnxdss > 1 ? (xdss - qnxdss) / qnxdss * 100 : 0, 2);
|
|
|
- monthmtbf = StringUtils.round(qnmonthmtbf > 1 ? (ymtbf - qnmonthmtbf) / qnmonthmtbf * 100 : 0, 2);
|
|
|
- monthmttr = StringUtils.round(qnmonthmttr > 1 ? (ymttr - qnmonthmttr) / qnmonthmttr * 100 : 0, 2);
|
|
|
- monthyfwjsl = StringUtils.round(qnmonthyfwjsl > 1 ? (yfwjsl - qnmonthyfwjsl) / qnmonthyfwjsl * 100 : 0, 2);
|
|
|
- monthxqjsl = StringUtils.round(qnxqjsl > 1 ? (xqjsl - qnxqjsl) / qnxqjsl * 100 : 0, 2);
|
|
|
+ monthllfdl = StringUtils.roundDivide(qnllfdl > 1 ? (llfdl - qnllfdl) / qnllfdl * 100 : 0, 2);
|
|
|
+ monthfdl = StringUtils.roundDivide(qnfdl > 1 ? (fdl - qnfdl) / qnfdl * 100 : 0, 2);
|
|
|
+ monthfnlyl = StringUtils.roundDivide(qnmonthfnlyl > 1 ? (yfnlyl - qnmonthfnlyl) / qnmonthfnlyl * 100 : 0, 2); //当月风能利用率差
|
|
|
+ monthgzssl = StringUtils.roundDivide(qngzss > 1 ? (gzss - qngzss) / qngzss * 100 : 0, 2);
|
|
|
+ monthxdssl = StringUtils.roundDivide(qnxdss > 1 ? (xdss - qnxdss) / qnxdss * 100 : 0, 2);
|
|
|
+ monthmtbf = StringUtils.roundDivide(qnmonthmtbf > 1 ? (ymtbf - qnmonthmtbf) / qnmonthmtbf * 100 : 0, 2);
|
|
|
+ monthmttr = StringUtils.roundDivide(qnmonthmttr > 1 ? (ymttr - qnmonthmttr) / qnmonthmttr * 100 : 0, 2);
|
|
|
+ monthyfwjsl = StringUtils.roundDivide(qnmonthyfwjsl > 1 ? (yfwjsl - qnmonthyfwjsl) / qnmonthyfwjsl * 100 : 0, 2);
|
|
|
+ monthxqjsl = StringUtils.roundDivide(qnxqjsl > 1 ? (xqjsl - qnxqjsl) / qnxqjsl * 100 : 0, 2);
|
|
|
|
|
|
yfnlyltrend = yfnlyl > qnmonthfnlyl ? "red" : "green";//月度风能利用率趋势
|
|
|
yfdltrend = fdl > qnfdl ? "red" : "green";
|
|
|
@@ -608,28 +608,28 @@ public class NewGetWindReportService {
|
|
|
|
|
|
|
|
|
if (qnyearllfdl != 0 && qnyearllfdl != 1 || qnyearfdl != 1 || qnyeargzss != 1 || qnyearxdss != 1) {
|
|
|
- yearllfdl = StringUtils.round((nllfdl - qnyearllfdl) / qnyearllfdl * 100, 2);
|
|
|
- yearfdl = StringUtils.round((nfdl - qnyearfdl) / qnyearfdl * 100, 2);
|
|
|
- yearfnlyl = StringUtils.round(((nfnlyl - qnfnlyl) / qnfnlyl * 100), 2);
|
|
|
- yeargzssl = StringUtils.round((ngzss - qnyeargzss) / qnyeargzss * 100, 2);
|
|
|
- yearxdssl = StringUtils.round((nxdss - qnyearxdss) / qnyearxdss * 100, 2);
|
|
|
- yearmtbf = StringUtils.round((nmtbf - qnmtbf) / qnmtbf * 100, 2);
|
|
|
- yearmttr = StringUtils.round((nmttr - qnmttr) / qnmttr * 100, 2);
|
|
|
- yearyfwjsl = StringUtils.round((nyfwjsl - qnyfwjsl) / qnyfwjsl * 100, 2);
|
|
|
- yearxqjsl = StringUtils.round((nxqjsl - qnyearxqjsl) / qnyearxqjsl * 100, 2);
|
|
|
+ yearllfdl = StringUtils.roundDivide((nllfdl - qnyearllfdl) / qnyearllfdl * 100, 2);
|
|
|
+ yearfdl = StringUtils.roundDivide((nfdl - qnyearfdl) / qnyearfdl * 100, 2);
|
|
|
+ yearfnlyl = StringUtils.roundDivide(((nfnlyl - qnfnlyl) / qnfnlyl * 100), 2);
|
|
|
+ yeargzssl = StringUtils.roundDivide((ngzss - qnyeargzss) / qnyeargzss * 100, 2);
|
|
|
+ yearxdssl = StringUtils.roundDivide((nxdss - qnyearxdss) / qnyearxdss * 100, 2);
|
|
|
+ yearmtbf = StringUtils.roundDivide((nmtbf - qnmtbf) / qnmtbf * 100, 2);
|
|
|
+ yearmttr = StringUtils.roundDivide((nmttr - qnmttr) / qnmttr * 100, 2);
|
|
|
+ yearyfwjsl = StringUtils.roundDivide((nyfwjsl - qnyfwjsl) / qnyfwjsl * 100, 2);
|
|
|
+ yearxqjsl = StringUtils.roundDivide((nxqjsl - qnyearxqjsl) / qnyearxqjsl * 100, 2);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
List<comprehensive> comprehensiveList = Arrays.asList(
|
|
|
- createComprehensive("理论发电量",StringUtils.round(llfdl / bl,2), monthllfdl, yearllfdl, yllfdltrend),
|
|
|
- createComprehensive("发电量",StringUtils.round(fdl/ bl,2),monthfdl, yearfdl, yfdltrend),
|
|
|
- createComprehensive("风能利用率", StringUtils.round(yfnlyl,2),monthfnlyl, yearfnlyl, yfnlyltrend),
|
|
|
- createComprehensive("故障损失", StringUtils.round(gzss / bl,2),monthgzssl, yeargzssl, ygzsssltrend),
|
|
|
- createComprehensive("限电损失", StringUtils.round(xdss / bl,2),monthxdssl, yearxdssl, yxdsssltrend),
|
|
|
- createComprehensive("MTBF", StringUtils.round(ymtbf,2),monthmtbf, yearmtbf, ymtbftrend),
|
|
|
- createComprehensive("MTTR", StringUtils.round(ymttr,2),monthmttr, yearmttr, ymttrtrend),
|
|
|
- createComprehensive("复位及时率", StringUtils.round(yfwjsl,2),monthyfwjsl, yearyfwjsl, yfwjsltrend),
|
|
|
- createComprehensive("消缺及时率", StringUtils.round(xqjsl,2),monthxqjsl, yearxqjsl, yxqjsltrend)
|
|
|
+ createComprehensive("理论发电量",StringUtils.roundDivide(llfdl / bl,2), monthllfdl, yearllfdl, yllfdltrend),
|
|
|
+ createComprehensive("发电量",StringUtils.roundDivide(fdl/ bl,2),monthfdl, yearfdl, yfdltrend),
|
|
|
+ createComprehensive("风能利用率", StringUtils.roundDivide(yfnlyl,2),monthfnlyl, yearfnlyl, yfnlyltrend),
|
|
|
+ createComprehensive("故障损失", StringUtils.roundDivide(gzss / bl,2),monthgzssl, yeargzssl, ygzsssltrend),
|
|
|
+ createComprehensive("限电损失", StringUtils.roundDivide(xdss / bl,2),monthxdssl, yearxdssl, yxdsssltrend),
|
|
|
+ createComprehensive("MTBF", StringUtils.roundDivide(ymtbf,2),monthmtbf, yearmtbf, ymtbftrend),
|
|
|
+ createComprehensive("MTTR", StringUtils.roundDivide(ymttr,2),monthmttr, yearmttr, ymttrtrend),
|
|
|
+ createComprehensive("复位及时率", StringUtils.roundDivide(yfwjsl,2),monthyfwjsl, yearyfwjsl, yfwjsltrend),
|
|
|
+ createComprehensive("消缺及时率", StringUtils.roundDivide(xqjsl,2),monthxqjsl, yearxqjsl, yxqjsltrend)
|
|
|
);
|
|
|
map.put("comprehensiveList", comprehensiveList);
|
|
|
|
|
|
@@ -638,57 +638,57 @@ public class NewGetWindReportService {
|
|
|
double ndfnlyl = yearList.size() > 0 ? yearList.get(0).getFnlyl() : 0;
|
|
|
|
|
|
|
|
|
- map.put("风能利用率", "场站整体风能利用率:月度" + StringUtils.round(ydfnlyl, 2) + "%,年度" + StringUtils.round(ndfnlyl, 2) + "%");
|
|
|
- map.put("风能利用率Top3风机","风能利用率Top3风机:" + fntop3list.get(0).getStationId() + "号风机" + StringUtils.round(fntop3list.get(0).getFnlyl(), 2) + "%、"
|
|
|
- + fntop3list.get(1).getStationId() + "号风机" + StringUtils.round(fntop3list.get(1).getFnlyl(), 2) + "%、" +
|
|
|
- "" + fntop3list.get(1).getStationId() + "号风机" + StringUtils.round(fntop3list.get(2).getFnlyl(), 2) + "%");
|
|
|
+ map.put("风能利用率", "场站整体风能利用率:月度" + StringUtils.roundDivide(ydfnlyl, 2) + "%,年度" + StringUtils.roundDivide(ndfnlyl, 2) + "%");
|
|
|
+ map.put("风能利用率Top3风机","风能利用率Top3风机:" + fntop3list.get(0).getStationId() + "号风机" + StringUtils.roundDivide(fntop3list.get(0).getFnlyl(), 2) + "%、"
|
|
|
+ + fntop3list.get(1).getStationId() + "号风机" + StringUtils.roundDivide(fntop3list.get(1).getFnlyl(), 2) + "%、" +
|
|
|
+ "" + fntop3list.get(1).getStationId() + "号风机" + StringUtils.roundDivide(fntop3list.get(2).getFnlyl(), 2) + "%");
|
|
|
|
|
|
- map.put("风能利用率末3风机","风能利用率末3风机:" + fnbottom3list.get(0).getStationId() + "号风机" + StringUtils.round(fnbottom3list.get(0).getFnlyl(), 2) + "%、" +
|
|
|
- "" + fnbottom3list.get(1).getStationId() + "号风机" + StringUtils.round(fnbottom3list.get(1).getFnlyl(), 2) + "%、" +
|
|
|
- "" + fnbottom3list.get(2).getStationId() + "号风机" + StringUtils.round(fnbottom3list.get(2).getFnlyl(), 2) + "%");
|
|
|
+ map.put("风能利用率末3风机","风能利用率末3风机:" + fnbottom3list.get(0).getStationId() + "号风机" + StringUtils.roundDivide(fnbottom3list.get(0).getFnlyl(), 2) + "%、" +
|
|
|
+ "" + fnbottom3list.get(1).getStationId() + "号风机" + StringUtils.roundDivide(fnbottom3list.get(1).getFnlyl(), 2) + "%、" +
|
|
|
+ "" + fnbottom3list.get(2).getStationId() + "号风机" + StringUtils.roundDivide(fnbottom3list.get(2).getFnlyl(), 2) + "%");
|
|
|
|
|
|
- double byllfdl = StringUtils.round(monthList.size() > 0 ? monthList.get(0).getLlfdl() / bl : 0, 2);
|
|
|
+ double byllfdl = StringUtils.roundDivide(monthList.size() > 0 ? monthList.get(0).getLlfdl() / bl : 0, 2);
|
|
|
|
|
|
- double bygzss = StringUtils.round(monthList.size() > 0 ? monthList.get(0).getGzss() / bl : 0, 2);
|
|
|
- double bygzssl = StringUtils.round(bygzss / byllfdl * 100, 2);
|
|
|
+ double bygzss = StringUtils.roundDivide(monthList.size() > 0 ? monthList.get(0).getGzss() / bl : 0, 2);
|
|
|
+ double bygzssl = StringUtils.roundDivide(bygzss / byllfdl * 100, 2);
|
|
|
|
|
|
- double bywhss = StringUtils.round(monthList.size() > 0 ? (monthList.get(0).getJhjxss() / bl) : 0 + monthList.size() > 0 ? (monthList.get(0).getFjhjxss() / bl) : 0, 2);
|
|
|
- double bywhssl = StringUtils.round(bywhss / byllfdl * 100, 2);//本月维护损失率
|
|
|
+ double bywhss = StringUtils.roundDivide(monthList.size() > 0 ? (monthList.get(0).getJhjxss() / bl) : 0 + monthList.size() > 0 ? (monthList.get(0).getFjhjxss() / bl) : 0, 2);
|
|
|
+ double bywhssl = StringUtils.roundDivide(bywhss / byllfdl * 100, 2);//本月维护损失率
|
|
|
|
|
|
- double byslss = StringUtils.round(monthList.size() > 0 ? monthList.get(0).getSlss() / bl : 0, 2);
|
|
|
- double byslssl = StringUtils.round(byslss / byllfdl * 100, 2);
|
|
|
+ double byslss = StringUtils.roundDivide(monthList.size() > 0 ? monthList.get(0).getSlss() / bl : 0, 2);
|
|
|
+ double byslssl = StringUtils.roundDivide(byslss / byllfdl * 100, 2);
|
|
|
|
|
|
- double byxnss = StringUtils.round(monthList.size() > 0 ? monthList.get(0).getXnss() / bl : 0, 2);
|
|
|
- double byxnssl = StringUtils.round(byxnss / byllfdl * 100, 2);
|
|
|
+ double byxnss = StringUtils.roundDivide(monthList.size() > 0 ? monthList.get(0).getXnss() / bl : 0, 2);
|
|
|
+ double byxnssl = StringUtils.roundDivide(byxnss / byllfdl * 100, 2);
|
|
|
|
|
|
- double byxdss = StringUtils.round(monthList.size() > 0 ? monthList.get(0).getXdss() / bl : 0, 2);
|
|
|
- double byxdssl = StringUtils.round(byxdss / byllfdl * 100, 2);
|
|
|
+ double byxdss = StringUtils.roundDivide(monthList.size() > 0 ? monthList.get(0).getXdss() / bl : 0, 2);
|
|
|
+ double byxdssl = StringUtils.roundDivide(byxdss / byllfdl * 100, 2);
|
|
|
|
|
|
|
|
|
- double ytbllfdl = StringUtils.round(qnmonthList.size() > 0 ? qnmonthList.get(0).getLlfdl() / bl : 1, 2);
|
|
|
+ double ytbllfdl = StringUtils.roundDivide(qnmonthList.size() > 0 ? qnmonthList.get(0).getLlfdl() / bl : 1, 2);
|
|
|
|
|
|
- double ytbgzss = StringUtils.round(qnmonthList.size() > 0 ? qnmonthList.get(0).getGzss() / bl : 0, 2);
|
|
|
- double ytbgzssl = StringUtils.round(ytbgzss / ytbllfdl * 100, 2);
|
|
|
+ double ytbgzss = StringUtils.roundDivide(qnmonthList.size() > 0 ? qnmonthList.get(0).getGzss() / bl : 0, 2);
|
|
|
+ double ytbgzssl = StringUtils.roundDivide(ytbgzss / ytbllfdl * 100, 2);
|
|
|
|
|
|
- double ytbwhss = StringUtils.round(qnmonthList.size() > 0 ? (qnmonthList.get(0).getJhjxss() / bl) : 0 + qnmonthList.size() > 0 ? (qnmonthList.get(0).getFjhjxss() / bl) : 0, 2);
|
|
|
- double ytbwhssl = StringUtils.round(ytbwhss / ytbllfdl * 100, 2);
|
|
|
+ double ytbwhss = StringUtils.roundDivide(qnmonthList.size() > 0 ? (qnmonthList.get(0).getJhjxss() / bl) : 0 + qnmonthList.size() > 0 ? (qnmonthList.get(0).getFjhjxss() / bl) : 0, 2);
|
|
|
+ double ytbwhssl = StringUtils.roundDivide(ytbwhss / ytbllfdl * 100, 2);
|
|
|
|
|
|
- double ytbslss = StringUtils.round(qnmonthList.size() > 0 ? qnmonthList.get(0).getSlss() / bl : 0, 2);
|
|
|
- double ytbslssl = StringUtils.round(ytbslss / ytbllfdl * 100, 2);
|
|
|
+ double ytbslss = StringUtils.roundDivide(qnmonthList.size() > 0 ? qnmonthList.get(0).getSlss() / bl : 0, 2);
|
|
|
+ double ytbslssl = StringUtils.roundDivide(ytbslss / ytbllfdl * 100, 2);
|
|
|
|
|
|
- double ytbxnss = StringUtils.round(qnmonthList.size() > 0 ? qnmonthList.get(0).getXnss() / bl : 0, 2);
|
|
|
- double ytbxnssl = StringUtils.round(ytbxnss / ytbllfdl * 100, 2);
|
|
|
+ double ytbxnss = StringUtils.roundDivide(qnmonthList.size() > 0 ? qnmonthList.get(0).getXnss() / bl : 0, 2);
|
|
|
+ double ytbxnssl = StringUtils.roundDivide(ytbxnss / ytbllfdl * 100, 2);
|
|
|
|
|
|
- double ytbxdss = StringUtils.round(qnmonthList.size() > 0 ? qnmonthList.get(0).getXdss() / bl : 0, 2);
|
|
|
- double ytbxdssl = StringUtils.round(ytbxdss / ytbllfdl * 100, 2);
|
|
|
+ double ytbxdss = StringUtils.roundDivide(qnmonthList.size() > 0 ? qnmonthList.get(0).getXdss() / bl : 0, 2);
|
|
|
+ double ytbxdssl = StringUtils.roundDivide(ytbxdss / ytbllfdl * 100, 2);
|
|
|
|
|
|
|
|
|
List<LossRates> lossList = Arrays.asList(
|
|
|
- LossRatessive("维护损失", bywhss, bywhssl, StringUtils.round(bywhss / 50, 2), StringUtils.round(bywhssl - ytbwhssl, 2)),
|
|
|
- LossRatessive("故障损失", bygzss, bygzssl, StringUtils.round(bygzss / 50, 2), StringUtils.round(bygzssl - ytbgzssl, 2)),
|
|
|
- LossRatessive("限电损失", byxdss, byxdssl, StringUtils.round(byxdss / 50, 2), StringUtils.round(byxdssl - ytbxdssl, 2)),
|
|
|
- LossRatessive("性能损失", byxnss, byxnssl, StringUtils.round(byxnss / 50, 2), StringUtils.round(byxnssl - ytbxnssl, 2)),
|
|
|
- LossRatessive("受累损失", byslss, byslssl, StringUtils.round(byslss / 50, 2), StringUtils.round(byslssl - ytbslssl, 2))
|
|
|
+ LossRatessive("维护损失", bywhss, bywhssl, StringUtils.roundDivide(bywhss / 50, 2), StringUtils.roundDivide(bywhssl - ytbwhssl, 2)),
|
|
|
+ LossRatessive("故障损失", bygzss, bygzssl, StringUtils.roundDivide(bygzss / 50, 2), StringUtils.roundDivide(bygzssl - ytbgzssl, 2)),
|
|
|
+ LossRatessive("限电损失", byxdss, byxdssl, StringUtils.roundDivide(byxdss / 50, 2), StringUtils.roundDivide(byxdssl - ytbxdssl, 2)),
|
|
|
+ LossRatessive("性能损失", byxnss, byxnssl, StringUtils.roundDivide(byxnss / 50, 2), StringUtils.roundDivide(byxnssl - ytbxnssl, 2)),
|
|
|
+ LossRatessive("受累损失", byslss, byslssl, StringUtils.roundDivide(byslss / 50, 2), StringUtils.roundDivide(byslssl - ytbslssl, 2))
|
|
|
);
|
|
|
map.put("LossRatesList", lossList);
|
|
|
|