|
@@ -23,13 +23,15 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class PowerStationStatusDataServiceImpl extends ServiceImpl<PowerStationStatusDataMapper, PowerStationStatusData> implements PowerStationStatusDataService {
|
|
|
private final ForecastPowerUltraShortTermHisService forecastPowerUltraShortTermHisService;
|
|
|
+ private final ForecastPowerUltraShortTermService forecastPowerUltraShortTermService;
|
|
|
private final ForecastPowerShortTermService forecastPowerShortTermService;
|
|
|
private final ElectricFieldServiceImpl electricFieldService;
|
|
|
private final ForecastManufactorService forecastManufactorService;
|
|
|
private final ForecastPowerShortTermHisService forecastPowerShortTermHisService;
|
|
|
|
|
|
- public PowerStationStatusDataServiceImpl(ForecastPowerShortTermHisService forecastPowerShortTermHisService,ForecastPowerUltraShortTermHisService forecastPowerUltraShortTermHisService, ForecastPowerShortTermService forecastPowerShortTermService, ElectricFieldServiceImpl electricFieldService, ForecastManufactorService forecastManufactorService) {
|
|
|
+ public PowerStationStatusDataServiceImpl(ForecastPowerShortTermHisService forecastPowerShortTermHisService, ForecastPowerUltraShortTermHisService forecastPowerUltraShortTermHisService, ForecastPowerUltraShortTermService forecastPowerUltraShortTermService, ForecastPowerShortTermService forecastPowerShortTermService, ElectricFieldServiceImpl electricFieldService, ForecastManufactorService forecastManufactorService) {
|
|
|
this.forecastPowerUltraShortTermHisService = forecastPowerUltraShortTermHisService;
|
|
|
+ this.forecastPowerUltraShortTermService = forecastPowerUltraShortTermService;
|
|
|
this.forecastPowerShortTermService = forecastPowerShortTermService;
|
|
|
this.electricFieldService = electricFieldService;
|
|
|
this.forecastManufactorService = forecastManufactorService;
|
|
@@ -186,44 +188,84 @@ public class PowerStationStatusDataServiceImpl extends ServiceImpl<PowerStationS
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 获取超短期数据
|
|
|
- List<ForecastPowerUltraShortTermHis> forecastPowerUltraShortTermHisList = forecastPowerUltraShortTermHisService.findByForecastTimeBetweenAndForecastHowLongAgoAndStationCode(startTime.getTime(), endTime.getTime(), cdqPoint, stationCode);
|
|
|
- // 按厂家过滤出数据
|
|
|
Map<String,List> tempCdqMap = new HashMap<>();
|
|
|
Map<String,List> tableCdqMap = new HashMap<>();
|
|
|
- for (int i=0;i<fm.length;i++){
|
|
|
- int finalI = i;
|
|
|
- List<ForecastPowerUltraShortTermHis> result = forecastPowerUltraShortTermHisList.stream().filter(c -> c.getForecastManufactor().equals(fm[finalI])).collect(Collectors.toList());
|
|
|
- Map<Long, String> cdqMap = new HashMap<>();
|
|
|
- for (ForecastPowerUltraShortTermHis forecastPowerUltraShortTermHis : result) {
|
|
|
- cdqMap.put(forecastPowerUltraShortTermHis.getForecastTime().getTime(), forecastPowerUltraShortTermHis.getAbleValue().toString());
|
|
|
- }
|
|
|
- List tempcdqList = new ArrayList();
|
|
|
- for (Long tempDateTime = startDateTime; tempDateTime < endDateTime; tempDateTime = tempDateTime + 15 * 60 * 1000) {
|
|
|
- if (cdqMap.get(tempDateTime) != null) {
|
|
|
- tempcdqList.add(cdqMap.get(tempDateTime).toString());
|
|
|
- } else {
|
|
|
- tempcdqList.add(null);
|
|
|
+ if(cdqPoint>0){
|
|
|
+ // 获取超短期数据
|
|
|
+ List<ForecastPowerUltraShortTermHis> forecastPowerUltraShortTermHisList = forecastPowerUltraShortTermHisService.findByForecastTimeBetweenAndForecastHowLongAgoAndStationCode(startTime.getTime(), endTime.getTime(), cdqPoint, stationCode);
|
|
|
+ // 按厂家过滤出数据
|
|
|
+ for (int i=0;i<fm.length;i++){
|
|
|
+ int finalI = i;
|
|
|
+ List<ForecastPowerUltraShortTermHis> result = forecastPowerUltraShortTermHisList.stream().filter(c -> c.getForecastManufactor().equals(fm[finalI])).collect(Collectors.toList());
|
|
|
+ Map<Long, String> cdqMap = new HashMap<>();
|
|
|
+ for (ForecastPowerUltraShortTermHis forecastPowerUltraShortTermHis : result) {
|
|
|
+ cdqMap.put(forecastPowerUltraShortTermHis.getForecastTime().getTime(), forecastPowerUltraShortTermHis.getAbleValue().toString());
|
|
|
}
|
|
|
- }
|
|
|
- String manufactorName = "";
|
|
|
- for (ForecastManufactor forecastManufactor1:forecastManufactorList){
|
|
|
- if (fm[finalI].equals(forecastManufactor1.getSign())){
|
|
|
- manufactorName = forecastManufactor1.getName();
|
|
|
- break;
|
|
|
+ List tempcdqList = new ArrayList();
|
|
|
+ for (Long tempDateTime = startDateTime; tempDateTime < endDateTime; tempDateTime = tempDateTime + 15 * 60 * 1000) {
|
|
|
+ if (cdqMap.get(tempDateTime) != null) {
|
|
|
+ tempcdqList.add(cdqMap.get(tempDateTime).toString());
|
|
|
+ } else {
|
|
|
+ tempcdqList.add(null);
|
|
|
+ }
|
|
|
}
|
|
|
+ String manufactorName = "";
|
|
|
+ for (ForecastManufactor forecastManufactor1:forecastManufactorList){
|
|
|
+ if (fm[finalI].equals(forecastManufactor1.getSign())){
|
|
|
+ manufactorName = forecastManufactor1.getName();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("".equals(manufactorName)){
|
|
|
+ manufactorName = fm[finalI];
|
|
|
+ }
|
|
|
+ tempCdqMap.put(manufactorName,tempcdqList);
|
|
|
+ tableCdqMap.put(fm[finalI],tempcdqList);
|
|
|
+ Map<String,String> cdqHeadMap = new HashMap<>();
|
|
|
+ cdqHeadMap.put("field", fm[finalI]+"CDQ");
|
|
|
+ cdqHeadMap.put("label", manufactorName+"超短期");
|
|
|
+ headList.add(cdqHeadMap);
|
|
|
}
|
|
|
- if ("".equals(manufactorName)){
|
|
|
- manufactorName = fm[finalI];
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ // 获取超短期实时数据
|
|
|
+ List<ForecastPowerUltraShortTerm> forecastPowerUltraShortTermList = forecastPowerUltraShortTermService.findByStationCodeAndStartTimeAndEndTime(stationCode,startTime, endTime);
|
|
|
+ // 按厂家过滤出数据
|
|
|
+ for (int i=0;i<fm.length;i++){
|
|
|
+ int finalI = i;
|
|
|
+ List<ForecastPowerUltraShortTerm> result = forecastPowerUltraShortTermList.stream().filter(c -> c.getForecastManufactor().equals(fm[finalI])).collect(Collectors.toList());
|
|
|
+ Map<Long, String> cdqMap = new HashMap<>();
|
|
|
+ for (ForecastPowerUltraShortTerm forecastPowerUltraShortTerm : result) {
|
|
|
+ cdqMap.put(forecastPowerUltraShortTerm.getForecastTime().getTime(), forecastPowerUltraShortTerm.getFpValue().toString());
|
|
|
+ }
|
|
|
+ List tempcdqList = new ArrayList();
|
|
|
+ for (Long tempDateTime = startDateTime; tempDateTime < endDateTime; tempDateTime = tempDateTime + 15 * 60 * 1000) {
|
|
|
+ if (cdqMap.get(tempDateTime) != null) {
|
|
|
+ tempcdqList.add(cdqMap.get(tempDateTime).toString());
|
|
|
+ } else {
|
|
|
+ tempcdqList.add(null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String manufactorName = "";
|
|
|
+ for (ForecastManufactor forecastManufactor1:forecastManufactorList){
|
|
|
+ if (fm[finalI].equals(forecastManufactor1.getSign())){
|
|
|
+ manufactorName = forecastManufactor1.getName();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("".equals(manufactorName)){
|
|
|
+ manufactorName = fm[finalI];
|
|
|
+ }
|
|
|
+ tempCdqMap.put(manufactorName,tempcdqList);
|
|
|
+ tableCdqMap.put(fm[finalI],tempcdqList);
|
|
|
+ Map<String,String> cdqHeadMap = new HashMap<>();
|
|
|
+ cdqHeadMap.put("field", fm[finalI]+"CDQ");
|
|
|
+ cdqHeadMap.put("label", manufactorName+"超短期");
|
|
|
+ headList.add(cdqHeadMap);
|
|
|
}
|
|
|
- tempCdqMap.put(manufactorName,tempcdqList);
|
|
|
- tableCdqMap.put(fm[finalI],tempcdqList);
|
|
|
- Map<String,String> cdqHeadMap = new HashMap<>();
|
|
|
- cdqHeadMap.put("field", fm[finalI]+"CDQ");
|
|
|
- cdqHeadMap.put("label", manufactorName+"超短期");
|
|
|
- headList.add(cdqHeadMap);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
List<String> timeList = new ArrayList<>();
|
|
|
List<String> sjList = new ArrayList();
|
|
|
List<Map> dqList = new ArrayList();
|