|
@@ -1271,7 +1271,8 @@ public class DashboardService extends BaseService {
|
|
*
|
|
*
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public Boolean getYesOrNoBoom(){
|
|
|
|
|
|
+ public Map<String,Boolean> getYesOrNoBoom(){
|
|
|
|
+ Map<String, Boolean> map = new HashMap<>();
|
|
Boolean boom = false;
|
|
Boolean boom = false;
|
|
Date sysDate = new Date();
|
|
Date sysDate = new Date();
|
|
SimpleDateFormat sdf = new SimpleDateFormat("mm");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("mm");
|
|
@@ -1290,20 +1291,28 @@ public class DashboardService extends BaseService {
|
|
}
|
|
}
|
|
PowerStationStatusData powerStationStatusData = powerStationStatusDataRepository.findByTime(calendar.getTime());
|
|
PowerStationStatusData powerStationStatusData = powerStationStatusDataRepository.findByTime(calendar.getTime());
|
|
ForecastPowerShortTermHis forecastPowerShortTermHis = forecastPowerShortTermHisRepository.findByGenDate(calendar.getTime());
|
|
ForecastPowerShortTermHis forecastPowerShortTermHis = forecastPowerShortTermHisRepository.findByGenDate(calendar.getTime());
|
|
|
|
+ BigDecimal realValue = BigDecimal.ZERO;
|
|
|
|
+ BigDecimal ableValue = BigDecimal.ZERO;
|
|
|
|
+ if(powerStationStatusData != null && forecastPowerShortTermHis != null){
|
|
|
|
+ realValue = powerStationStatusData.getRealValue();
|
|
|
|
+ ableValue = forecastPowerShortTermHis.getAbleValue();
|
|
|
|
+ }
|
|
|
|
|
|
- BigDecimal realValue = powerStationStatusData.getRealValue();
|
|
|
|
- BigDecimal ableValue = forecastPowerShortTermHis.getAbleValue();
|
|
|
|
-
|
|
|
|
- float abs;
|
|
|
|
|
|
+ float abs = 0f;
|
|
if(realValue.compareTo(ableValue) > 0){
|
|
if(realValue.compareTo(ableValue) > 0){
|
|
- abs = Math.abs(ableValue.subtract(realValue).divide(realValue).floatValue());
|
|
|
|
|
|
+ if(realValue.compareTo(BigDecimal.ZERO) != 0 && ableValue.compareTo(BigDecimal.ZERO) !=0 ){
|
|
|
|
+ abs = Math.abs(ableValue.subtract(realValue).divide(realValue).floatValue());
|
|
|
|
+ }
|
|
}else{
|
|
}else{
|
|
- abs = ableValue.subtract(realValue).divide(realValue).floatValue();
|
|
|
|
|
|
+ if(realValue.compareTo(BigDecimal.ZERO) != 0 && ableValue.compareTo(BigDecimal.ZERO) !=0 ) {
|
|
|
|
+ abs = ableValue.subtract(realValue).divide(realValue).floatValue();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if(abs > 20){
|
|
if(abs > 20){
|
|
boom = true;
|
|
boom = true;
|
|
}
|
|
}
|
|
- return boom;
|
|
|
|
|
|
+ map.put("boom", boom);
|
|
|
|
+ return map;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -1319,7 +1328,7 @@ public class DashboardService extends BaseService {
|
|
//一天的结束,结果:2017-03-01 23:59:59
|
|
//一天的结束,结果:2017-03-01 23:59:59
|
|
Date endOfDay = DateUtil.endOfDay(date);
|
|
Date endOfDay = DateUtil.endOfDay(date);
|
|
// 指定层高
|
|
// 指定层高
|
|
- String wind_hight = super.getSysParameter("WIND_HIGHT", "70");
|
|
|
|
|
|
+ String wind_height = super.getSysParameter("WIND_HEIGHT", "70");
|
|
|
|
|
|
List<Nwp> byPreTimeBetween = nwpRepository.findByPreTimeBetween(beginOfDay.getTime(), endOfDay.getTime());
|
|
List<Nwp> byPreTimeBetween = nwpRepository.findByPreTimeBetween(beginOfDay.getTime(), endOfDay.getTime());
|
|
|
|
|
|
@@ -1329,32 +1338,44 @@ public class DashboardService extends BaseService {
|
|
String minT = "无数据";
|
|
String minT = "无数据";
|
|
|
|
|
|
if(byPreTimeBetween.size() > 0){
|
|
if(byPreTimeBetween.size() > 0){
|
|
- if(wind_hight.equals("10")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs10().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
- }else if(wind_hight.equals("30")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs30().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
- }else if(wind_hight.equals("50")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs50().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
- }else if(wind_hight.equals("70")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs70().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
- }else if(wind_hight.equals("80")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs80().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
- }else if(wind_hight.equals("90")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs90().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
- }else if(wind_hight.equals("100")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs100().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
- }else if(wind_hight.equals("170")){
|
|
|
|
- maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
- minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs170().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
|
|
+ switch (wind_height){
|
|
|
|
+ case "10":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs10().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ case "30":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs30().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ case "50":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs50().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ case "70":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs70().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ case "80":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs80().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ case "90":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs90().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ case "100":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs100().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ case "170":
|
|
|
|
+ maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+ minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs170().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
maxT = String.valueOf(byPreTimeBetween.stream().map(Nwp::getT).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
maxT = String.valueOf(byPreTimeBetween.stream().map(Nwp::getT).collect(Collectors.reducing(BigDecimal::max)).get());
|
|
|
|
+// maxT = String.valueOf(byPreTimeBetween.stream().max(Comparator.comparing(Nwp::getT)).get().getT());
|
|
minT = String.valueOf(byPreTimeBetween.stream().filter(n->n.getT().compareTo(new BigDecimal(-99))!=0).map(Nwp::getT).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
minT = String.valueOf(byPreTimeBetween.stream().filter(n->n.getT().compareTo(new BigDecimal(-99))!=0).map(Nwp::getT).collect(Collectors.reducing(BigDecimal::min)).get());
|
|
}
|
|
}
|
|
|
|
|