|
|
@@ -1366,6 +1366,8 @@ public class SingleAnalysisService {
|
|
|
double tjxs = 0.0;//风机停机小时合计
|
|
|
double zdxs = 0.0;//风机中断小时合计
|
|
|
double rlxs = 0.0;//风机日历小时合计
|
|
|
+ double djxs = 0.0;//风机待机小时合计
|
|
|
+ double llfdl = 0.0;//风机理论发电量
|
|
|
|
|
|
double fs = 0.0;//风机平均风速
|
|
|
double sbklyl = 0.0;//风机平均设备可利用率
|
|
|
@@ -1384,7 +1386,7 @@ public class SingleAnalysisService {
|
|
|
double jfpl = 0.0;//风机小风切入
|
|
|
|
|
|
if (vo2.getFdl() != 0) {
|
|
|
- fdl = new BigDecimal(vo1.getFdl()).divide(new BigDecimal(vo2.getFdl()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1))
|
|
|
+ fdl = new BigDecimal(vo1.getFdl()).divide(new BigDecimal(vo2.getFdl()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1))
|
|
|
.multiply(new BigDecimal(100)).doubleValue();//风机发电量合计
|
|
|
|
|
|
} else {
|
|
|
@@ -1392,30 +1394,33 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getYxxs() != 0) {
|
|
|
- yxxs = new BigDecimal(vo1.getYxxs()).divide(new BigDecimal(vo2.getYxxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1))
|
|
|
+ yxxs = new BigDecimal(vo1.getYxxs()).divide(new BigDecimal(vo2.getYxxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1))
|
|
|
.multiply(new BigDecimal(100)).doubleValue();//风机运行小时合计
|
|
|
|
|
|
} else {
|
|
|
yxxs = new BigDecimal(vo1.getYxxs()).multiply(new BigDecimal(100)).doubleValue();//风机运行小时合计
|
|
|
}
|
|
|
if (vo2.getGzxs() != 0) {
|
|
|
- gzxs = new BigDecimal(vo1.getGzxs()).divide(new BigDecimal(vo2.getGzxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机故障小时合计
|
|
|
+ gzxs = new BigDecimal(vo1.getGzxs()).divide(new BigDecimal(vo2.getGzxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机故障小时合计
|
|
|
|
|
|
} else {
|
|
|
gzxs = new BigDecimal(vo1.getGzxs()).multiply(new BigDecimal(100)).doubleValue();//风机故障小时合计
|
|
|
|
|
|
}
|
|
|
if (vo2.getJxxs() != 0) {
|
|
|
- jxxs = new BigDecimal(vo1.getJxxs()).divide(new BigDecimal(vo2.getJxxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机检修小时合计
|
|
|
-
|
|
|
+ jxxs = new BigDecimal(vo1.getJxxs()).divide(new BigDecimal(vo2.getJxxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机检修小时合计
|
|
|
} else {
|
|
|
jxxs = new BigDecimal(vo1.getJxxs()).multiply(new BigDecimal(100)).doubleValue();//风机检修小时合计
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
+ if (vo2.getJxxs() != 0) {
|
|
|
+ djxs = new BigDecimal(vo1.getDjxs()).divide(new BigDecimal(vo2.getDjxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机待机小时合计
|
|
|
+ } else {
|
|
|
+ djxs = new BigDecimal(vo1.getDjxs()).multiply(new BigDecimal(100)).doubleValue();//风机待机小时合计
|
|
|
}
|
|
|
|
|
|
if (vo2.getTjxs() != 0) {
|
|
|
- tjxs = new BigDecimal(vo1.getTjxs()).divide(new BigDecimal(vo2.getTjxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机停机小时合计
|
|
|
+ tjxs = new BigDecimal(vo1.getTjxs()).divide(new BigDecimal(vo2.getTjxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机停机小时合计
|
|
|
|
|
|
} else {
|
|
|
tjxs = new BigDecimal(vo1.getTjxs()).multiply(new BigDecimal(100)).doubleValue();//风机停机小时合计
|
|
|
@@ -1424,7 +1429,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getZdxs() != 0) {
|
|
|
- zdxs = new BigDecimal(vo1.getZdxs()).divide(new BigDecimal(vo2.getZdxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机中断小时合计
|
|
|
+ zdxs = new BigDecimal(vo1.getZdxs()).divide(new BigDecimal(vo2.getZdxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机中断小时合计
|
|
|
|
|
|
} else {
|
|
|
zdxs = new BigDecimal(vo1.getZdxs()).multiply(new BigDecimal(100)).doubleValue();//风机中断小时合计
|
|
|
@@ -1433,7 +1438,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getRlxs() != 0) {
|
|
|
- rlxs = new BigDecimal(vo1.getRlxs()).divide(new BigDecimal(vo2.getRlxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机日历小时合计
|
|
|
+ rlxs = new BigDecimal(vo1.getRlxs()).divide(new BigDecimal(vo2.getRlxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机日历小时合计
|
|
|
|
|
|
} else {
|
|
|
rlxs = new BigDecimal(vo1.getRlxs()).multiply(new BigDecimal(100)).doubleValue();//风机日历小时合计
|
|
|
@@ -1441,7 +1446,7 @@ public class SingleAnalysisService {
|
|
|
|
|
|
}
|
|
|
if (vo2.getFs() != 0) {
|
|
|
- fs = new BigDecimal(vo1.getFs()).divide(new BigDecimal(vo2.getFs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均风速
|
|
|
+ fs = new BigDecimal(vo1.getFs()).divide(new BigDecimal(vo2.getFs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均风速
|
|
|
|
|
|
} else {
|
|
|
fs = new BigDecimal(vo1.getFs()).multiply(new BigDecimal(100)).doubleValue();//风机平均风速
|
|
|
@@ -1449,7 +1454,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getSbklyl() != 0) {
|
|
|
- sbklyl = new BigDecimal(vo1.getSbklyl()).divide(new BigDecimal(vo2.getSbklyl()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均设备可利用率
|
|
|
+ sbklyl = new BigDecimal(vo1.getSbklyl()).divide(new BigDecimal(vo2.getSbklyl()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均设备可利用率
|
|
|
|
|
|
} else {
|
|
|
sbklyl = new BigDecimal(vo1.getSbklyl()).multiply(new BigDecimal(100)).doubleValue();//风机平均设备可利用率
|
|
|
@@ -1457,7 +1462,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getDxklyxs() != 0) {
|
|
|
- dxklyxs = new BigDecimal(vo1.getDxklyxs()).divide(new BigDecimal(vo2.getDxklyxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均等效可利用系数
|
|
|
+ dxklyxs = new BigDecimal(vo1.getDxklyxs()).divide(new BigDecimal(vo2.getDxklyxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均等效可利用系数
|
|
|
|
|
|
} else {
|
|
|
dxklyxs = new BigDecimal(vo1.getDxklyxs()).multiply(new BigDecimal(100)).doubleValue();//风机平均等效可利用系数
|
|
|
@@ -1465,7 +1470,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getLyxs() != 0) {
|
|
|
- lyxs = new BigDecimal(vo1.getLyxs()).divide(new BigDecimal(vo2.getLyxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均利用小时
|
|
|
+ lyxs = new BigDecimal(vo1.getLyxs()).divide(new BigDecimal(vo2.getLyxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均利用小时
|
|
|
|
|
|
} else {
|
|
|
lyxs = new BigDecimal(vo1.getLyxs()).multiply(new BigDecimal(100)).doubleValue();//风机平均利用小时
|
|
|
@@ -1473,17 +1478,25 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getYxfss() != 0) {
|
|
|
- yxfss = new BigDecimal(vo1.getYxfss()).divide(new BigDecimal(vo2.getYxfss()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均有效风时速
|
|
|
+ yxfss = new BigDecimal(vo1.getYxfss()).divide(new BigDecimal(vo2.getYxfss()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均有效风时速
|
|
|
|
|
|
} else {
|
|
|
yxfss = new BigDecimal(vo1.getYxfss()).multiply(new BigDecimal(100)).doubleValue();//风机平均有效风时速
|
|
|
|
|
|
}
|
|
|
|
|
|
+ if (vo2.getFdl() != 0) {
|
|
|
+ llfdl = new BigDecimal(vo1.getLlfdl()).divide(new BigDecimal(vo2.getLlfdl()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1))
|
|
|
+ .multiply(new BigDecimal(100)).doubleValue();//风机理论发电量合计
|
|
|
+ } else {
|
|
|
+ llfdl = new BigDecimal(vo1.getLlfdl()).multiply(new BigDecimal(100)).doubleValue();//风机理论发电量合计
|
|
|
+ }
|
|
|
+
|
|
|
vo.setFdl(StringUtils.round(fdl, 2));
|
|
|
vo.setYxxs(StringUtils.round(yxxs, 2));
|
|
|
vo.setGzxs(StringUtils.round(gzxs, 2));
|
|
|
vo.setJxxs(StringUtils.round(jxxs, 2));
|
|
|
+ vo.setDjxs(StringUtils.round(djxs, 2));
|
|
|
vo.setTjxs(StringUtils.round(tjxs, 2));
|
|
|
vo.setZdxs(StringUtils.round(zdxs, 2));
|
|
|
vo.setRlxs(StringUtils.round(rlxs, 2));
|
|
|
@@ -1495,7 +1508,7 @@ public class SingleAnalysisService {
|
|
|
|
|
|
|
|
|
if (vo2.getGlyzxxs() != 0) {
|
|
|
- glyzxxs = new BigDecimal(vo1.getGlyzxxs()).divide(new BigDecimal(vo2.getGlyzxxs()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均功率一致性系数
|
|
|
+ glyzxxs = new BigDecimal(vo1.getGlyzxxs()).divide(new BigDecimal(vo2.getGlyzxxs()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机平均功率一致性系数
|
|
|
|
|
|
} else {
|
|
|
glyzxxs = new BigDecimal(vo1.getGlyzxxs()).multiply(new BigDecimal(100)).doubleValue();//风机平均功率一致性系数
|
|
|
@@ -1504,7 +1517,7 @@ public class SingleAnalysisService {
|
|
|
vo.setGlyzxxs(StringUtils.round(glyzxxs, 2));
|
|
|
|
|
|
if (vo2.getGzss() != 0) {
|
|
|
- gzss = new BigDecimal(vo1.getGzss()).divide(new BigDecimal(vo2.getGzss()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机故障损失合计
|
|
|
+ gzss = new BigDecimal(vo1.getGzss()).divide(new BigDecimal(vo2.getGzss()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机故障损失合计
|
|
|
|
|
|
} else {
|
|
|
gzss = new BigDecimal(vo1.getGzss()).multiply(new BigDecimal(100)).doubleValue();//风机故障损失合计
|
|
|
@@ -1512,7 +1525,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getJxss() != 0) {
|
|
|
- jxss = new BigDecimal(vo1.getJxss()).divide(new BigDecimal(vo2.getJxss()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机检修损失合计
|
|
|
+ jxss = new BigDecimal(vo1.getJxss()).divide(new BigDecimal(vo2.getJxss()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机检修损失合计
|
|
|
|
|
|
} else {
|
|
|
jxss = new BigDecimal(vo1.getJxss()).multiply(new BigDecimal(100)).doubleValue();//风机检修损失合计
|
|
|
@@ -1520,7 +1533,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getXdss() != 0) {
|
|
|
- xdss = new BigDecimal(vo1.getXdss()).divide(new BigDecimal(vo2.getXdss()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机限电损失合计
|
|
|
+ xdss = new BigDecimal(vo1.getXdss()).divide(new BigDecimal(vo2.getXdss()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机限电损失合计
|
|
|
|
|
|
} else {
|
|
|
xdss = new BigDecimal(vo1.getXdss()).multiply(new BigDecimal(100)).doubleValue();//风机限电损失合计
|
|
|
@@ -1528,21 +1541,21 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getXnss() != 0) {
|
|
|
- xnss = new BigDecimal(vo1.getXnss()).divide(new BigDecimal(vo2.getXnss()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机性能损失时合计
|
|
|
+ xnss = new BigDecimal(vo1.getXnss()).divide(new BigDecimal(vo2.getXnss()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机性能损失时合计
|
|
|
|
|
|
} else {
|
|
|
xnss = new BigDecimal(vo1.getXnss()).multiply(new BigDecimal(100)).doubleValue();//风机性能损失时合计
|
|
|
|
|
|
}
|
|
|
if (vo2.getSlss() != 0) {
|
|
|
- slss = new BigDecimal(vo1.getSlss()).divide(new BigDecimal(vo2.getSlss()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机受累损失合计
|
|
|
+ slss = new BigDecimal(vo1.getSlss()).divide(new BigDecimal(vo2.getSlss()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机受累损失合计
|
|
|
|
|
|
} else {
|
|
|
slss = new BigDecimal(vo1.getSlss()).multiply(new BigDecimal(100)).doubleValue();//风机受累损失合计
|
|
|
|
|
|
}
|
|
|
|
|
|
- double llfdl = fdl + gzss + jxss + xdss + xnss + slss;
|
|
|
+// double llfdl = fdl + gzss + jxss + xdss + xnss + slss;
|
|
|
|
|
|
vo.setGzss(StringUtils.round(gzss, 2));
|
|
|
vo.setJxss(StringUtils.round(jxss, 2));
|
|
|
@@ -1552,7 +1565,7 @@ public class SingleAnalysisService {
|
|
|
|
|
|
vo.setLlfdl(StringUtils.round(llfdl, 2));
|
|
|
if (vo2.getXfqr() != 0) {
|
|
|
- xfqr = new BigDecimal(vo1.getXfqr()).divide(new BigDecimal(vo2.getXfqr()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机小风切入
|
|
|
+ xfqr = new BigDecimal(vo1.getXfqr()).divide(new BigDecimal(vo2.getXfqr()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机小风切入
|
|
|
|
|
|
} else {
|
|
|
xfqr = new BigDecimal(vo1.getXfqr()).multiply(new BigDecimal(100)).doubleValue();//风机小风切入
|
|
|
@@ -1560,7 +1573,7 @@ public class SingleAnalysisService {
|
|
|
}
|
|
|
|
|
|
if (vo2.getXfqrhgl() != 0) {
|
|
|
- xfqrhgl = new BigDecimal(vo1.getXfqrhgl()).divide(new BigDecimal(vo2.getXfqrhgl()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机小风切入合格率
|
|
|
+ xfqrhgl = new BigDecimal(vo1.getXfqrhgl()).divide(new BigDecimal(vo2.getXfqrhgl()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机小风切入合格率
|
|
|
|
|
|
} else {
|
|
|
xfqrhgl = new BigDecimal(vo1.getXfqrhgl()).multiply(new BigDecimal(100)).doubleValue();//风机小风切入合格率
|
|
|
@@ -1570,7 +1583,7 @@ public class SingleAnalysisService {
|
|
|
vo.setXfqrhgl(StringUtils.round(xfqrhgl, 2));
|
|
|
|
|
|
if (vo2.getJfpl() != 0) {
|
|
|
- jfpl = new BigDecimal(vo1.getJfpl()).divide(new BigDecimal(vo2.getJfpl()), 2, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机小风切入
|
|
|
+ jfpl = new BigDecimal(vo1.getJfpl()).divide(new BigDecimal(vo2.getJfpl()), 4, RoundingMode.HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100)).doubleValue();//风机小风切入
|
|
|
|
|
|
} else {
|
|
|
jfpl = new BigDecimal(vo1.getJfpl()).multiply(new BigDecimal(100)).doubleValue();//风机小风切入
|
|
|
@@ -1648,8 +1661,12 @@ public class SingleAnalysisService {
|
|
|
byzb.setYxfss(NumberUtil.round(yxfss, 2).doubleValue());
|
|
|
double glyzxxs = list.stream().mapToDouble(TurbineInfoDay::getGlyzxxs).average().orElse(0.0);
|
|
|
byzb.setGlyzxxs(NumberUtil.round(glyzxxs, 2).doubleValue());
|
|
|
- double dxkyxs = (1200 * (dayOfMonth - 1) - gzmin / 60 - jxmin / 60) / (12 * (dayOfMonth - 1));
|
|
|
+ double dxkyxs = 0.0;
|
|
|
+ if (list.size() != 0) {
|
|
|
+ dxkyxs = (1200 * (dayOfMonth - 1) - gzmin / 60 - jxmin / 60) / (12 * (dayOfMonth - 1));
|
|
|
+ }
|
|
|
byzb.setDxklyxs(NumberUtil.round(dxkyxs, 2).doubleValue());
|
|
|
return byzb;
|
|
|
}
|
|
|
+
|
|
|
}
|