|
|
@ -118,6 +118,8 @@ public class HydropowerServiceImpl implements HydropowerService { |
|
|
|
private final static String load_hydropower_unit_target_key = "hzims:operation:loadhydropowerunit:target:key"; |
|
|
|
private final static String load_hydropower_unit_target_key = "hzims:operation:loadhydropowerunit:target:key"; |
|
|
|
private final static String loadwater_level_key = "hzims:operation:loadwater:level:key"; |
|
|
|
private final static String loadwater_level_key = "hzims:operation:loadwater:level:key"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final static String loadwater_group_key = "hzims:operation:group:key"; |
|
|
|
|
|
|
|
|
|
|
|
private final static int POOL_QUANTITY = 4; |
|
|
|
private final static int POOL_QUANTITY = 4; |
|
|
|
|
|
|
|
|
|
|
|
private final static int DUTY_POOL_QUANTITY = 5; |
|
|
|
private final static int DUTY_POOL_QUANTITY = 5; |
|
|
@ -1146,11 +1148,11 @@ public class HydropowerServiceImpl implements HydropowerService { |
|
|
|
if(Math.abs(generate_sum) > 0){ |
|
|
|
if(Math.abs(generate_sum) > 0){ |
|
|
|
return scales.stream().peek(scale-> scale.setAreaMakeUp(BigDecimal.valueOf(scale.getPowerYear() / generate_sum * 100).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue())). |
|
|
|
return scales.stream().peek(scale-> scale.setAreaMakeUp(BigDecimal.valueOf(scale.getPowerYear() / generate_sum * 100).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue())). |
|
|
|
filter(scale-> Math.abs(scale.getCapacityUse()) > 0 || Math.abs(scale.getAreaMakeUp()) > 0 |
|
|
|
filter(scale-> Math.abs(scale.getCapacityUse()) > 0 || Math.abs(scale.getAreaMakeUp()) > 0 |
|
|
|
&& Math.abs(scale.getDeviceUse()) > 0 || Math.abs(scale.getGenerationRate()) > 0) |
|
|
|
|| Math.abs(scale.getDeviceUse()) > 0 || Math.abs(scale.getGenerationRate()) > 0) |
|
|
|
.sorted(Comparator.comparing(AreaScaleVo::getPowerYear).reversed()).collect(Collectors.toList()); |
|
|
|
.sorted(Comparator.comparing(AreaScaleVo::getPowerYear).reversed()).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
} |
|
|
|
return scales.stream().peek(scale-> scale.setAreaMakeUp(0.0)).filter(scale-> Math.abs(scale.getCapacityUse()) > 0 || Math.abs(scale.getAreaMakeUp()) > 0 |
|
|
|
return scales.stream().peek(scale-> scale.setAreaMakeUp(0.0)).filter(scale-> Math.abs(scale.getCapacityUse()) > 0 || Math.abs(scale.getAreaMakeUp()) > 0 |
|
|
|
&& Math.abs(scale.getDeviceUse()) > 0 || Math.abs(scale.getGenerationRate()) > 0) |
|
|
|
|| Math.abs(scale.getDeviceUse()) > 0 || Math.abs(scale.getGenerationRate()) > 0) |
|
|
|
.sorted(Comparator.comparing(AreaScaleVo::getPowerYear).reversed()).collect(Collectors.toList()); |
|
|
|
.sorted(Comparator.comparing(AreaScaleVo::getPowerYear).reversed()).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1234,6 +1236,10 @@ public class HydropowerServiceImpl implements HydropowerService { |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public List<HydropowerAreaVo> group(Long deptId) { |
|
|
|
public List<HydropowerAreaVo> group(Long deptId) { |
|
|
|
|
|
|
|
List<HydropowerAreaVo> gourps = (List<HydropowerAreaVo>) redisTemplate.opsForValue().get(loadwater_group_key + deptId); |
|
|
|
|
|
|
|
if(CollectionUtil.isNotEmpty(gourps)){ |
|
|
|
|
|
|
|
return gourps; |
|
|
|
|
|
|
|
} |
|
|
|
Map<Dept,List<StationEntity>> areas = areaService.areaOrStaion(deptId,Collections.singletonList(HomePageConstant.HYDROPOWER)); |
|
|
|
Map<Dept,List<StationEntity>> areas = areaService.areaOrStaion(deptId,Collections.singletonList(HomePageConstant.HYDROPOWER)); |
|
|
|
if(MapUtils.isEmpty(areas)) { |
|
|
|
if(MapUtils.isEmpty(areas)) { |
|
|
|
return new ArrayList<>(); |
|
|
|
return new ArrayList<>(); |
|
|
@ -1252,7 +1258,7 @@ public class HydropowerServiceImpl implements HydropowerService { |
|
|
|
areas.forEach((key,value)-> codes.addAll(value.stream().map(StationEntity::getCode).collect(Collectors.toList()))); |
|
|
|
areas.forEach((key,value)-> codes.addAll(value.stream().map(StationEntity::getCode).collect(Collectors.toList()))); |
|
|
|
// 计划发电量
|
|
|
|
// 计划发电量
|
|
|
|
List<PlanGenerationEntity> plans = planGenertionClient.getPlanGenerationByParam(codes,null,String.valueOf(Calendar.getInstance().get(Calendar.YEAR))); |
|
|
|
List<PlanGenerationEntity> plans = planGenertionClient.getPlanGenerationByParam(codes,null,String.valueOf(Calendar.getInstance().get(Calendar.YEAR))); |
|
|
|
return areas.entrySet().stream().map(entry->{ |
|
|
|
List<HydropowerAreaVo> hydropowerAreas = areas.entrySet().stream().map(entry->{ |
|
|
|
HydropowerAreaVo area = new HydropowerAreaVo(); |
|
|
|
HydropowerAreaVo area = new HydropowerAreaVo(); |
|
|
|
area.setDeptId(entry.getKey().getId()); |
|
|
|
area.setDeptId(entry.getKey().getId()); |
|
|
|
area.setDeptName(entry.getKey().getDeptName()); |
|
|
|
area.setDeptName(entry.getKey().getDeptName()); |
|
|
@ -1275,6 +1281,9 @@ public class HydropowerServiceImpl implements HydropowerService { |
|
|
|
area.setStationTargets(this.stationTarget(entry.getValue(),reals,targets,plans)); |
|
|
|
area.setStationTargets(this.stationTarget(entry.getValue(),reals,targets,plans)); |
|
|
|
return area; |
|
|
|
return area; |
|
|
|
}).sorted(Comparator.comparing(HydropowerAreaVo::getReality)).collect(Collectors.toList()); |
|
|
|
}).sorted(Comparator.comparing(HydropowerAreaVo::getReality)).collect(Collectors.toList()); |
|
|
|
|
|
|
|
redisTemplate.opsForValue().set(loadwater_group_key,hydropowerAreas); |
|
|
|
|
|
|
|
redisTemplate.expire(loadwater_group_key,5, TimeUnit.MINUTES); |
|
|
|
|
|
|
|
return hydropowerAreas; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|