|
|
|
@ -64,6 +64,8 @@ import java.util.*;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
import static com.hnac.hzims.operational.util.ObjectUtils.objDivide; |
|
|
|
|
|
|
|
|
|
@Service |
|
|
|
|
@Slf4j |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
@ -1369,37 +1371,37 @@ public class MainSystemMonitoringServiceImpl implements IMainSystemMonitoringSer
|
|
|
|
|
Map<String, Float> value = deviceMap.getValue(); |
|
|
|
|
//当月发电量
|
|
|
|
|
BigDecimal powerMon = value.entrySet().stream().filter(s -> currentMon.equals(s.getKey())).map(s -> BigDecimal.valueOf(s.getValue()).setScale(1, RoundingMode.UP)).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
stationReportVO.setFinishPowerMon(powerMon.toString()); |
|
|
|
|
stationReportVO.setFinishPowerMon(objDivide(String.valueOf(powerMon)).toString()); |
|
|
|
|
//获取计划月发电量
|
|
|
|
|
R<Float> planPowerMonR = planGenertionClient.planGenerationMonthCount(stationEntity.getCode(), month); |
|
|
|
|
double planPowerMon =0; |
|
|
|
|
if (planPowerMonR.isSuccess()&&ObjectUtil.isNotEmpty(planPowerMonR.getData())) { |
|
|
|
|
planPowerMon = planPowerMonR.getData().doubleValue(); |
|
|
|
|
} |
|
|
|
|
stationReportVO.setPowerMonPlan(planPowerMon); |
|
|
|
|
stationReportVO.setPowerMonPlan(objDivide(String.valueOf(planPowerMon)).doubleValue()); |
|
|
|
|
//当年发电量
|
|
|
|
|
BigDecimal powerYear = value.entrySet().stream().filter(s -> listByYear.contains(s.getKey())).map(s -> BigDecimal.valueOf(s.getValue()).setScale(1, RoundingMode.UP)).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
stationReportVO.setFinishPowerYear(powerYear.toString()); |
|
|
|
|
stationReportVO.setFinishPowerYear(objDivide(String.valueOf(powerYear)).toString()); |
|
|
|
|
//获取计划年发电量
|
|
|
|
|
Double planPowerYear = planGenertionClient.getPlanPowerYear(Collections.singletonList(stationEntity.getId().toString()), yearMon[0]); |
|
|
|
|
stationReportVO.setPowerYearPlan(planPowerYear); |
|
|
|
|
Double planPowerYear = planGenertionClient.getPlanPowerYear(Collections.singletonList(stationEntity.getCode()), yearMon[0]); |
|
|
|
|
stationReportVO.setPowerYearPlan(objDivide(String.valueOf(planPowerYear)).doubleValue()); |
|
|
|
|
if (ObjectUtil.isNotEmpty(stationReportVO.getPowerMonPlan()) |
|
|
|
|
&&ObjectUtil.isNotEmpty(stationReportVO.getFinishPowerMon()) |
|
|
|
|
&& BigDecimal.valueOf(stationReportVO.getPowerMonPlan()).compareTo(BigDecimal.ZERO)!=0){ |
|
|
|
|
BigDecimal monRate = new BigDecimal(stationReportVO.getFinishPowerMon()).multiply(new BigDecimal(100)) |
|
|
|
|
.divide(BigDecimal.valueOf(stationReportVO.getPowerMonPlan()), 2, RoundingMode.UP); |
|
|
|
|
stationReportVO.setPowerMonRate(monRate.doubleValue()+"%"); |
|
|
|
|
stationReportVO.setPowerMonRate(String.valueOf(monRate.doubleValue())); |
|
|
|
|
}else { |
|
|
|
|
stationReportVO.setPowerMonRate(new Double(0)+"%"); |
|
|
|
|
stationReportVO.setPowerMonRate(new Double(0).toString()); |
|
|
|
|
} |
|
|
|
|
if (ObjectUtil.isNotEmpty(stationReportVO.getFinishPowerYear()) |
|
|
|
|
&&ObjectUtil.isNotEmpty(stationReportVO.getPowerYearPlan()) |
|
|
|
|
&& BigDecimal.valueOf(stationReportVO.getPowerYearPlan()).compareTo(BigDecimal.ZERO)!=0){ |
|
|
|
|
BigDecimal yearRate = new BigDecimal(stationReportVO.getFinishPowerYear()).multiply(new BigDecimal(100)) |
|
|
|
|
.divide(BigDecimal.valueOf(stationReportVO.getPowerYearPlan()), 2, RoundingMode.UP); |
|
|
|
|
stationReportVO.setPowerYearRate(yearRate.doubleValue()+"%"); |
|
|
|
|
stationReportVO.setPowerYearRate(String.valueOf(yearRate.doubleValue())); |
|
|
|
|
}else { |
|
|
|
|
stationReportVO.setPowerYearRate(new Double(0)+"%"); |
|
|
|
|
stationReportVO.setPowerYearRate(new Double(0).toString()); |
|
|
|
|
} |
|
|
|
|
reportVOS.add(stationReportVO); |
|
|
|
|
} |
|
|
|
@ -1474,33 +1476,33 @@ public class MainSystemMonitoringServiceImpl implements IMainSystemMonitoringSer
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Double finishPowerMon = BigDecimal.valueOf(powerCount.get()).doubleValue(); |
|
|
|
|
stationReportVO.setFinishPowerMon(finishPowerMon.toString()); |
|
|
|
|
stationReportVO.setFinishPowerMon(objDivide(String.valueOf(finishPowerMon)).toString()); |
|
|
|
|
Double finishPowerYear = BigDecimal.valueOf(powerCountYear.get()).doubleValue(); |
|
|
|
|
stationReportVO.setFinishPowerYear(finishPowerYear.toString()); |
|
|
|
|
stationReportVO.setFinishPowerYear(objDivide(String.valueOf(finishPowerYear)).toString()); |
|
|
|
|
//当年的计划发电量
|
|
|
|
|
Double planPowerYear = planGenertionClient.getPlanPowerYear(Collections.singletonList(stationId), year); |
|
|
|
|
stationReportVO.setPowerYearPlan(planPowerYear); |
|
|
|
|
stationReportVO.setPowerYearPlan(objDivide(String.valueOf(planPowerYear)).doubleValue()); |
|
|
|
|
//当月的计划发电量
|
|
|
|
|
R<Float> planPowerMonR = planGenertionClient.planGenerationMonthCount(stationId, month); |
|
|
|
|
Double planPowerMon = planPowerMonR.getData().doubleValue(); |
|
|
|
|
stationReportVO.setPowerMonPlan(planPowerMon); |
|
|
|
|
stationReportVO.setPowerMonPlan(objDivide(String.valueOf(planPowerMon)).doubleValue()); |
|
|
|
|
if (ObjectUtil.isNotEmpty(stationReportVO.getPowerMonPlan()) |
|
|
|
|
&&ObjectUtil.isNotEmpty(stationReportVO.getFinishPowerMon()) |
|
|
|
|
&& BigDecimal.valueOf(stationReportVO.getPowerMonPlan()).compareTo(BigDecimal.ZERO)!=0){ |
|
|
|
|
BigDecimal monRate = new BigDecimal(stationReportVO.getFinishPowerMon()).multiply(new BigDecimal(100)) |
|
|
|
|
.divide(BigDecimal.valueOf(stationReportVO.getPowerMonPlan()), 2, RoundingMode.UP); |
|
|
|
|
stationReportVO.setPowerMonRate(monRate.doubleValue()+"%"); |
|
|
|
|
stationReportVO.setPowerMonRate(String.valueOf(monRate.doubleValue())); |
|
|
|
|
}else { |
|
|
|
|
stationReportVO.setPowerMonRate(new Double(0)+"%"); |
|
|
|
|
stationReportVO.setPowerMonRate(new Double(0).toString()); |
|
|
|
|
} |
|
|
|
|
if (ObjectUtil.isNotEmpty(stationReportVO.getFinishPowerYear()) |
|
|
|
|
&&ObjectUtil.isNotEmpty(stationReportVO.getPowerYearPlan()) |
|
|
|
|
&& BigDecimal.valueOf(stationReportVO.getPowerYearPlan()).compareTo(BigDecimal.ZERO)!=0){ |
|
|
|
|
BigDecimal yearRate = new BigDecimal(stationReportVO.getFinishPowerYear()).multiply(new BigDecimal(100)) |
|
|
|
|
.divide(BigDecimal.valueOf(stationReportVO.getPowerYearPlan()), 2, RoundingMode.UP); |
|
|
|
|
stationReportVO.setPowerYearRate(yearRate.doubleValue()+"%"); |
|
|
|
|
stationReportVO.setPowerYearRate(String.valueOf(yearRate.doubleValue())); |
|
|
|
|
}else { |
|
|
|
|
stationReportVO.setPowerYearRate(new Double(0)+"%"); |
|
|
|
|
stationReportVO.setPowerYearRate(new Double(0).toString()); |
|
|
|
|
} |
|
|
|
|
stationReportVOList.add(stationReportVO); |
|
|
|
|
return stationReportVOList; |
|
|
|
|