|
@@ -4,8 +4,10 @@ import com.gyee.common.util.DoubleUtils;
|
|
|
import com.gyee.runeconomy.init.CacheContext;
|
|
|
import com.gyee.runeconomy.model.auto.ProBasicEquipment;
|
|
|
import com.gyee.runeconomy.model.auto.ProEconEquipmentmodel;
|
|
|
+import com.gyee.runeconomy.model.auto.ProEconWindturbineStatus;
|
|
|
import com.gyee.runeconomy.model.auto.TurbineInfoDay;
|
|
|
import com.gyee.runeconomy.model.vo.IndicatorData;
|
|
|
+import com.gyee.runeconomy.service.auto.IProEconWindturbineStatusService;
|
|
|
import com.gyee.runeconomy.service.auto.ITurbineInfoDayService;
|
|
|
import com.gyee.runeconomy.util.DateUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -23,6 +25,8 @@ public class ReportService {
|
|
|
|
|
|
@Autowired
|
|
|
private ITurbineInfoDayService turbineInfoDayService;
|
|
|
+ @Autowired
|
|
|
+ private IProEconWindturbineStatusService proEconWindturbineStatusService;
|
|
|
|
|
|
public Map Electricity(String wtid, String time) throws Exception {
|
|
|
|
|
@@ -37,9 +41,6 @@ public class ReportService {
|
|
|
int daysInMonth = DateUtils.getDaysInMonth(timeRange);
|
|
|
int qnInMonth = DateUtils.getDaysInMonth(qntime);
|
|
|
|
|
|
- System.out.println("开始时间: " + timeRange[0]);
|
|
|
- System.out.println("结束时间: " + timeRange[1]);
|
|
|
-
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
|
|
|
List<ProBasicEquipment> collect = CacheContext.wtls.stream()
|
|
@@ -54,6 +55,8 @@ public class ReportService {
|
|
|
}
|
|
|
List<TurbineInfoDay> turbineList = turbineInfoDayService.getTurbineList(wtid, timeRange[0], timeRange[1]);
|
|
|
List<TurbineInfoDay> cturbineList = turbineInfoDayService.getTurbineList(wtid, timeRange[0], timeRange[1]);
|
|
|
+ List<ProEconWindturbineStatus> statuses = proEconWindturbineStatusService.getTurbineList(wtid, timeRange[0], timeRange[1]);
|
|
|
+ List<ProEconWindturbineStatus> tqstatuses = proEconWindturbineStatusService.getTurbineList(wtid, qntime[0], qntime[1]);
|
|
|
formatTurbineList(turbineList);
|
|
|
twoTurbineList(cturbineList);
|
|
|
List<TurbineInfoDay> tqturbineList = turbineInfoDayService.getTurbineList(wtid, qntime[0], qntime[1]);
|
|
@@ -81,19 +84,59 @@ public class ReportService {
|
|
|
double currentUtilization = DoubleUtils.getRoundingNum(powerInKWh / sbrl, 0);
|
|
|
double lastYearUtilization = DoubleUtils.getRoundingNum(lastpowerInKWh / sbrl, 0);
|
|
|
|
|
|
- int jhyxsj = daysInMonth * 24 * 60;
|
|
|
- int tqjhyxsj = qnInMonth * 24 * 60;
|
|
|
-
|
|
|
- double yxsj = sumRounded(turbineList, t -> t.getYxMin());
|
|
|
- double tqyxsj = sumRounded(tqturbineList, t -> t.getYxMin());
|
|
|
+ int jhyxsj = daysInMonth * 24;
|
|
|
+ int tqjhyxsj = qnInMonth * 24;
|
|
|
+
|
|
|
+ double yxsj =statuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(2))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ double tqyxsj = tqstatuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(2))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
|
|
|
double currentEquipmentUtilization = ((yxsj / jhyxsj) * 100);
|
|
|
currentEquipmentUtilization = new BigDecimal(currentEquipmentUtilization).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
|
|
double lastYearEquipmentUtilization = (tqyxsj / tqjhyxsj * 1);
|
|
|
lastYearEquipmentUtilization = new BigDecimal(lastYearEquipmentUtilization).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
|
|
|
|
|
- double jxsj = sumRounded(turbineList, t -> t.getJxMin());
|
|
|
- double tqjxsj = sumRounded(tqturbineList, t -> t.getJxMin());
|
|
|
+ double jxsj = statuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(6))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ double tqjxsj = tqstatuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(6))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
|
|
|
double currentEfficiencyCoefficient = ((yxsj + jxsj) / jhyxsj) * 100;
|
|
|
currentEfficiencyCoefficient = new BigDecimal(currentEfficiencyCoefficient).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
|
@@ -129,22 +172,97 @@ public class ReportService {
|
|
|
double lastYearPerformanceLossPower = sumRounded(tqturbineList, t -> t.getXnss());
|
|
|
lastYearPerformanceLossPower = new BigDecimal(lastYearPerformanceLossPower).divide(BigDecimal.valueOf(1000),2, RoundingMode.HALF_UP).doubleValue();
|
|
|
|
|
|
- double currentFaultDowntime = sumRounded(turbineList, t -> t.getGzMin());
|
|
|
- currentFaultDowntime = DoubleUtils.getRoundingNum((currentFaultDowntime / 60),2);
|
|
|
- double lastYearFaultDowntime = sumRounded(tqturbineList, t -> t.getGzMin());
|
|
|
- lastYearFaultDowntime = DoubleUtils.getRoundingNum(lastYearFaultDowntime / 60,2);
|
|
|
- double currentMaintenanceDowntime = DoubleUtils.getRoundingNum((jxsj / 60),2);
|
|
|
- double lastYearMaintenanceDowntime = DoubleUtils.getRoundingNum((tqjxsj / 60),2);
|
|
|
- double currentGridConnectionTime = DoubleUtils.getRoundingNum((yxsj / 60),2);
|
|
|
- double lastYearGridConnectionTime = DoubleUtils.getRoundingNum((tqyxsj / 60),2);
|
|
|
- double currentStandbyTime = sumRounded(turbineList, t -> t.getDjMin());
|
|
|
- currentStandbyTime = DoubleUtils.getRoundingNum((currentStandbyTime / 60),2);
|
|
|
- double lastYearStandbyTime = sumRounded(tqturbineList, t -> t.getDjMin());
|
|
|
- lastYearStandbyTime = DoubleUtils.getRoundingNum((lastYearStandbyTime / 60),2);
|
|
|
- double currentCommFailureTime = sumRounded(turbineList, t -> t.getTjMin());
|
|
|
- currentCommFailureTime = DoubleUtils.getRoundingNum((currentCommFailureTime / 60),2);
|
|
|
- double lastYearCommFailureTime = sumRounded(tqturbineList, t -> t.getTjMin());
|
|
|
- lastYearCommFailureTime = DoubleUtils.getRoundingNum((lastYearCommFailureTime / 60),2);
|
|
|
+// double currentFaultDowntime = sumRounded(turbineList, t -> t.getGzMin());
|
|
|
+// currentFaultDowntime = DoubleUtils.getRoundingNum((currentFaultDowntime / 60),2);
|
|
|
+
|
|
|
+ double currentFaultDowntime = statuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(4))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();//故障时间
|
|
|
+
|
|
|
+// double lastYearFaultDowntime = sumRounded(tqturbineList, t -> t.getGzMin());
|
|
|
+// lastYearFaultDowntime = DoubleUtils.getRoundingNum(lastYearFaultDowntime / 60,2);
|
|
|
+
|
|
|
+ double lastYearFaultDowntime = tqstatuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(4))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();//同期故障时间
|
|
|
+ double currentMaintenanceDowntime = DoubleUtils.getRoundingNum((jxsj),2);
|
|
|
+ double lastYearMaintenanceDowntime = DoubleUtils.getRoundingNum((tqjxsj),2);
|
|
|
+ double currentGridConnectionTime = DoubleUtils.getRoundingNum((yxsj),2);
|
|
|
+ double lastYearGridConnectionTime = DoubleUtils.getRoundingNum((tqyxsj),2);
|
|
|
+// double currentStandbyTime = sumRounded(turbineList, t -> t.getDjMin());
|
|
|
+// currentStandbyTime = DoubleUtils.getRoundingNum((currentStandbyTime / 60),2);
|
|
|
+
|
|
|
+ double currentStandbyTime = statuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(0))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();//待机时间
|
|
|
+// double lastYearStandbyTime = sumRounded(tqturbineList, t -> t.getDjMin());
|
|
|
+// lastYearStandbyTime = DoubleUtils.getRoundingNum((lastYearStandbyTime / 60),2);
|
|
|
+
|
|
|
+ double lastYearStandbyTime = tqstatuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(0))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();//同期待机时间
|
|
|
+
|
|
|
+// double currentCommFailureTime = sumRounded(turbineList, t -> t.getTjMin());
|
|
|
+// currentCommFailureTime = DoubleUtils.getRoundingNum((currentCommFailureTime / 60),2);
|
|
|
+
|
|
|
+ double currentCommFailureTime = statuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(12))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();//通讯中断时间
|
|
|
+
|
|
|
+// double lastYearCommFailureTime = sumRounded(tqturbineList, t -> t.getTjMin());
|
|
|
+// lastYearCommFailureTime = DoubleUtils.getRoundingNum((lastYearCommFailureTime / 60),2);
|
|
|
+
|
|
|
+ double lastYearCommFailureTime = tqstatuses.stream()
|
|
|
+ .filter(y -> y.getSatusCode() != null && y.getSatusCode().equals(12))
|
|
|
+ .map(y -> {
|
|
|
+ Double stopHours = y.getStopHours();
|
|
|
+ return stopHours != null ?
|
|
|
+ new BigDecimal(stopHours.toString()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .setScale(2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();//同期通讯中断时间
|
|
|
double currentCalmWindFrequency = sumRounded(turbineList, t -> t.getJfpl());
|
|
|
double lastYearCalmWindFrequency = sumRounded(tqturbineList, t -> t.getJfpl());
|
|
|
|