|
@@ -42,42 +42,45 @@ public class DqInterveneServiceImpl extends ServiceImpl<DqInterveneMapper, DqInt
|
|
|
queryWrapper.eq("station_code",stationCode);
|
|
|
queryWrapper.eq("forecast_manufactor","SYJY");
|
|
|
List<ForecastPowerShortTerm> ForecastPowerShortTermList = forecastPowerShortTermService.list(queryWrapper);
|
|
|
- Map<Long, ForecastPowerShortTerm> ForecastPowerShortTermMap = ForecastPowerShortTermList.stream()
|
|
|
- .collect(Collectors.toMap(
|
|
|
- myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
|
|
|
- myObject -> myObject, // valueMapper,保持原对象
|
|
|
- (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
|
|
|
- ));
|
|
|
- // 再获取预设短期
|
|
|
- QueryWrapper<DqIntervene> presetsWrapper = new QueryWrapper<>();
|
|
|
- presetsWrapper.between("forecast_time", new Date(startTime), new Date(endTime));
|
|
|
- List<DqIntervene> bizPresetsShortList = this.list(presetsWrapper);
|
|
|
- Map<Long, DqIntervene> bizPresetsShortMap = bizPresetsShortList.stream()
|
|
|
- .collect(Collectors.toMap(
|
|
|
- myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
|
|
|
- myObject -> myObject, // valueMapper,保持原对象
|
|
|
- (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
|
|
|
- ));
|
|
|
// 整合数据返给前端
|
|
|
List<DqInterveneDto> presetsShortDtoList = new ArrayList<>();
|
|
|
- Long momentTime = 15 * 60 * 1000L;
|
|
|
- for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + momentTime) {
|
|
|
- DqInterveneDto dqInterveneDto = new DqInterveneDto();
|
|
|
- dqInterveneDto.setForecastTime(new Date(tempTime));
|
|
|
- dqInterveneDto.setCapacity(electricField.getCapacity());
|
|
|
- if (ForecastPowerShortTermMap.get(tempTime)!=null){
|
|
|
- // 实时值
|
|
|
- dqInterveneDto.setActivePower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
|
|
|
- }
|
|
|
- if (bizPresetsShortMap.get(tempTime)!=null){
|
|
|
- // 干预值
|
|
|
- dqInterveneDto.setPresetsPower(bizPresetsShortMap.get(tempTime).getActivePower());
|
|
|
- }
|
|
|
- else{
|
|
|
- // 干预值
|
|
|
- dqInterveneDto.setPresetsPower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
|
|
|
+ if (ForecastPowerShortTermList.size()==96){
|
|
|
+ Map<Long, ForecastPowerShortTerm> ForecastPowerShortTermMap = ForecastPowerShortTermList.stream()
|
|
|
+ .collect(Collectors.toMap(
|
|
|
+ myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
|
|
|
+ myObject -> myObject, // valueMapper,保持原对象
|
|
|
+ (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
|
|
|
+ ));
|
|
|
+ // 再获取预设短期
|
|
|
+ QueryWrapper<DqIntervene> presetsWrapper = new QueryWrapper<>();
|
|
|
+ presetsWrapper.between("forecast_time", new Date(startTime), new Date(endTime));
|
|
|
+ List<DqIntervene> bizPresetsShortList = this.list(presetsWrapper);
|
|
|
+ Map<Long, DqIntervene> bizPresetsShortMap = bizPresetsShortList.stream()
|
|
|
+ .collect(Collectors.toMap(
|
|
|
+ myObject -> myObject.getForecastTime().getTime(), // keyMapper,将Date转换为long
|
|
|
+ myObject -> myObject, // valueMapper,保持原对象
|
|
|
+ (existing, replacement) -> existing // mergeFunction,处理重复key的情况,这里简单地保留现有的value
|
|
|
+ ));
|
|
|
+
|
|
|
+ Long momentTime = 15 * 60 * 1000L;
|
|
|
+ for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + momentTime) {
|
|
|
+ DqInterveneDto dqInterveneDto = new DqInterveneDto();
|
|
|
+ dqInterveneDto.setForecastTime(new Date(tempTime));
|
|
|
+ dqInterveneDto.setCapacity(electricField.getCapacity());
|
|
|
+ if (ForecastPowerShortTermMap.get(tempTime)!=null){
|
|
|
+ // 实时值
|
|
|
+ dqInterveneDto.setActivePower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
|
|
|
+ }
|
|
|
+ if (bizPresetsShortMap.get(tempTime)!=null){
|
|
|
+ // 干预值
|
|
|
+ dqInterveneDto.setPresetsPower(bizPresetsShortMap.get(tempTime).getActivePower());
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ // 干预值
|
|
|
+ dqInterveneDto.setPresetsPower(ForecastPowerShortTermMap.get(tempTime).getFpValue());
|
|
|
+ }
|
|
|
+ presetsShortDtoList.add(dqInterveneDto);
|
|
|
}
|
|
|
- presetsShortDtoList.add(dqInterveneDto);
|
|
|
}
|
|
|
return presetsShortDtoList;
|
|
|
}
|