|  |  |  | @ -147,8 +147,7 @@ public class HydropowerServiceImpl implements HydropowerService { | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setDeptName(station.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setStationCode(station.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 站点状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 		List<SoeData> soeDataList = soeClient.getByLastLimitTime(null, station.getCode(), 1).getData(); | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setStationStatus(!CollectionUtil.isNotEmpty(soeDataList)); | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setStationStatus(true); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 站点实时天气
 | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setTemp(this.getTemp(weather,station.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 站点七天天气
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -167,9 +166,7 @@ public class HydropowerServiceImpl implements HydropowerService { | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setPlanPowerMon(this.getPlanPowerrMon(station.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 年计划发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setPlanPowerYear(this.getPlanPowerYear(station.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 年发电量、年发电完成率
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.handleStationInfo(station.getRefDept(),response); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 月发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 		// 年发电量、月发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.stationMonthPower(station.getId(),map,response); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 水位、水位曲线
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.handleWaterLeve(station.getCode(),response); | 
			
		
	
	
		
			
				
					|  |  |  | @ -391,33 +388,6 @@ public class HydropowerServiceImpl implements HydropowerService { | 
			
		
	
		
			
				
					|  |  |  |  | 		return R.getData(); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 站点信息处理 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param deptId | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param response | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	private void handleStationInfo(Long deptId, HydropowerStationVo response) { | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setPowerYear(0f); | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setPowerRateYear(0.0); | 
			
		
	
		
			
				
					|  |  |  |  | 		List<HydropowerUnitTargetVo> targetList = (List<HydropowerUnitTargetVo>) redisTemplate.opsForValue().get(load_hydropower_unit_target_key); | 
			
		
	
		
			
				
					|  |  |  |  | 		if(CollectionUtil.isEmpty(targetList)){ | 
			
		
	
		
			
				
					|  |  |  |  | 			return; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		// 月发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 		float powerMon = (float) targetList.stream().filter(o-> deptId.equals(o.getDeptId())).mapToDouble(HydropowerUnitTargetVo::getPowerMon).sum(); | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setPowerYear(powerMon); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 年发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 		float powerYear = (float) targetList.stream().filter(o-> deptId.equals(o.getDeptId())).mapToDouble(HydropowerUnitTargetVo::getPowerYear).sum(); | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setPowerYear(powerYear); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 年发电完成率
 | 
			
		
	
		
			
				
					|  |  |  |  | 		float planPowerYear = response.getPlanPowerYear(); | 
			
		
	
		
			
				
					|  |  |  |  | 		if(Math.abs(planPowerYear) <= 0){ | 
			
		
	
		
			
				
					|  |  |  |  | 			response.setPowerRateYear(0.0); | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			double powerRateYear = BigDecimal.valueOf(powerYear / planPowerYear * 100).setScale(2, RoundingMode.HALF_UP).doubleValue(); | 
			
		
	
		
			
				
					|  |  |  |  | 			response.setPowerRateYear(powerRateYear); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 月发电量 | 
			
		
	
	
		
			
				
					|  |  |  | @ -430,11 +400,24 @@ public class HydropowerServiceImpl implements HydropowerService { | 
			
		
	
		
			
				
					|  |  |  |  | 			response.setPowerMon(0f); | 
			
		
	
		
			
				
					|  |  |  |  | 			return; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		// 月发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 		String month = DateUtil.format(new Date(),"yyyy-MM") + "-01"; | 
			
		
	
		
			
				
					|  |  |  |  | 		float powerMon = map.get(id).getOrDefault(month, 0f); | 
			
		
	
		
			
				
					|  |  |  |  | 		if(powerMon > 0){ | 
			
		
	
		
			
				
					|  |  |  |  | 			response.setPowerMon(powerMon); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		String year = DateUtil.format(new Date(),"yyyy"); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 年发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 		float powerYear = (float) map.get(id).entrySet().stream().filter(o->o.getKey().contains(year)).mapToDouble(Map.Entry::getValue).sum(); | 
			
		
	
		
			
				
					|  |  |  |  | 		response.setPowerYear(powerYear); | 
			
		
	
		
			
				
					|  |  |  |  | 		// 年发电完成率
 | 
			
		
	
		
			
				
					|  |  |  |  | 		float planPowerYear = response.getPlanPowerYear(); | 
			
		
	
		
			
				
					|  |  |  |  | 		if(Math.abs(planPowerYear) <= 0){ | 
			
		
	
		
			
				
					|  |  |  |  | 			response.setPowerRateYear(0.0); | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			double powerRateYear = BigDecimal.valueOf(powerYear / planPowerYear * 100).setScale(2, RoundingMode.HALF_UP).doubleValue(); | 
			
		
	
		
			
				
					|  |  |  |  | 			response.setPowerRateYear(powerRateYear); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -559,8 +542,7 @@ public class HydropowerServiceImpl implements HydropowerService { | 
			
		
	
		
			
				
					|  |  |  |  | 			hydropower.setDeptName(station.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 			hydropower.setStationCode(station.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  | 			// 站点状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 			List<SoeData> soeDataList = soeClient.getByLastLimitTime(null, station.getCode(), 1).getData(); | 
			
		
	
		
			
				
					|  |  |  |  | 			hydropower.setStationStatus(!CollectionUtil.isNotEmpty(soeDataList)); | 
			
		
	
		
			
				
					|  |  |  |  | 			hydropower.setStationStatus(true); | 
			
		
	
		
			
				
					|  |  |  |  | 			// 站点实时天气
 | 
			
		
	
		
			
				
					|  |  |  |  | 			hydropower.setTemp(this.getTemp(weather,station.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  | 			// 站点七天天气
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -580,7 +562,7 @@ public class HydropowerServiceImpl implements HydropowerService { | 
			
		
	
		
			
				
					|  |  |  |  | 			// 年计划发电量
 | 
			
		
	
		
			
				
					|  |  |  |  | 			hydropower.setPlanPowerYear(this.getPlanPowerYear(station.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  | 			// 月发电量、年发电量、年发电完成率
 | 
			
		
	
		
			
				
					|  |  |  |  | 			this.handleStationInfo(station.getRefDept(),hydropower); | 
			
		
	
		
			
				
					|  |  |  |  | 			this.stationMonthPower(station.getId(),map,hydropower); | 
			
		
	
		
			
				
					|  |  |  |  | 			// 水位、水位曲线
 | 
			
		
	
		
			
				
					|  |  |  |  | 			this.handleWaterLeve(station.getCode(),hydropower); | 
			
		
	
		
			
				
					|  |  |  |  | 			// 年发电量完成百分比
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |