From 08a962d2925baa255207fdf979e6fee794f1773b Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 19 Jul 2024 12:25:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/service/impl/SjztmdServiceImpl.java |  241 +++++++++++++++++++++++++++++++++---------------
 1 files changed, 166 insertions(+), 75 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/service/impl/SjztmdServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/service/impl/SjztmdServiceImpl.java
index f2260ba..52bfed1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/service/impl/SjztmdServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/service/impl/SjztmdServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cn.gistack.common.utils.SpringContextUtil;
 import cn.gistack.sm.sjztmd.entity.*;
+import cn.gistack.sm.sjztmd.vo.AttResWithRainfall;
 import cn.gistack.sm.sjztmd.vo.StationExport;
 import cn.gistack.sm.sjztmd.vo.ZtResultInfo;
 import cn.gistack.sm.sjztmd.vo.StationParams;
@@ -9,6 +10,7 @@
 import cn.gistack.sm.sjztmd.service.*;
 import cn.gistack.sm.sjztmd.word.enums.*;
 import cn.gistack.sm.sjztmd.word.service.ISjztmdService;
+import cn.gistack.sm.sjztmd.word.util.WordUtil;
 import cn.gistack.sm.sjztmd.word.vo.*;
 import cn.gistack.sm.sjztods.constant.ZtApiUrlConstant;
 import cn.gistack.sm.sjztods.constant.ZtConfigConstant;
@@ -17,6 +19,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.parser.Feature;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.tool.utils.ObjectUtil;
@@ -64,7 +67,7 @@
 	@Autowired
 	private RestTemplate restTemplate;
 	private final SjztMdMapper mapper;
-
+	private final IAttResBaseService attResBase;
 	private final ITbAttResBaseService attResBaseService;
 	private final ITbAttResStagCharService attResStagCharService;
 	private final ITbAttResWaterDeliveryService attResWaterDeliveryService;
@@ -75,7 +78,7 @@
 	private final ITbAttResWaterBlockService attResWaterBlockService;
 	private final ITbAttResRsbNorspiService attResRsbNorspiService;
 	private final ITbAttResPowerStationService attResPowerStationService;
-
+	private final IStResRainfallService stResRainfallService;
 	private final ITbAttResProjectUtilizeService attResProjectUtilizeService;
 	private final ITbAttResInformationProjectService attResInformationProjectService;
 
@@ -180,34 +183,34 @@
 		}
 		tableMap.put("resFunc", resFunc);
 		//水文特征
-		tableMap.put("conArea", tbAttResStagChar==null?"":tbAttResStagChar.getConArea());
-		tableMap.put("moyearRainAvg", tbAttResStagChar==null?"":tbAttResStagChar.getMoyearRainAvg());
-		tableMap.put("moyearFlAvg", tbAttResStagChar==null?"":tbAttResStagChar.getMoyearFlAvg());
-		tableMap.put("downWacoSafeDisc", tbAttResStagChar==null?"":tbAttResStagChar.getDownWacoSafeDisc());
-		tableMap.put("desFlSta", tbAttResStagChar==null?"":tbAttResStagChar.getDesFlSta());
-		tableMap.put("desFlFlow", tbAttResStagChar==null?"":tbAttResStagChar.getDesFlFlow());
-		tableMap.put("desFl1dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getDesFl1dayCap());
-		tableMap.put("desFl3dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getDesFl3dayCap());
-		tableMap.put("checFlSta", tbAttResStagChar==null?"":tbAttResStagChar.getChecFlSta());
-		tableMap.put("checFlFlow", tbAttResStagChar==null?"":tbAttResStagChar.getChecFlFlow());
-		tableMap.put("checFl1dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getChecFl1dayCap());
-		tableMap.put("checFl3dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getChecFl3dayCap());
+		tableMap.put("conArea", tbAttResStagChar==null || tbAttResStagChar.getConArea()==null?"": WordUtil.removeTrailingZero(tbAttResStagChar.getConArea().toString()));
+		tableMap.put("moyearRainAvg", tbAttResStagChar==null || tbAttResStagChar.getMoyearRainAvg()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getMoyearRainAvg().toString()));
+		tableMap.put("moyearFlAvg", tbAttResStagChar==null || tbAttResStagChar.getMoyearFlAvg()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getMoyearFlAvg().toString()));
+		tableMap.put("downWacoSafeDisc", tbAttResStagChar==null || tbAttResStagChar.getDownWacoSafeDisc()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDownWacoSafeDisc().toString()));
+		tableMap.put("desFlSta", tbAttResStagChar==null || tbAttResStagChar.getDesFlSta()==null?"":tbAttResStagChar.getDesFlSta());
+		tableMap.put("desFlFlow", tbAttResStagChar==null || tbAttResStagChar.getDesFlFlow()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDesFlFlow().toString()));
+		tableMap.put("desFl1dayCap", tbAttResStagChar==null || tbAttResStagChar.getDesFl1dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDesFl1dayCap().toString()));
+		tableMap.put("desFl3dayCap", tbAttResStagChar==null || tbAttResStagChar.getDesFl3dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDesFl3dayCap().toString()));
+		tableMap.put("checFlSta", tbAttResStagChar==null || tbAttResStagChar.getChecFlSta()==null?"":tbAttResStagChar.getChecFlSta());
+		tableMap.put("checFlFlow", tbAttResStagChar==null || tbAttResStagChar.getChecFlFlow()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getChecFlFlow().toString()));
+		tableMap.put("checFl1dayCap", tbAttResStagChar==null || tbAttResStagChar.getChecFl1dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getChecFl1dayCap().toString()));
+		tableMap.put("checFl3dayCap", tbAttResStagChar==null || tbAttResStagChar.getChecFl3dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getChecFl3dayCap().toString()));
 
 		//水库特征
-		tableMap.put("adjustProp", tbAttResStagChar==null?"":AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel());
-		tableMap.put("checFlStag", tbAttResStagChar==null?"":tbAttResStagChar.getChecFlStag());
-		tableMap.put("totalCap", tbAttResStagChar==null?"":tbAttResStagChar.getTotalCap());
-		tableMap.put("desFlStag", tbAttResStagChar==null?"":tbAttResStagChar.getDesFlStag());
-		tableMap.put("flprCap", tbAttResStagChar==null?"":tbAttResStagChar.getFlprCap());
-		tableMap.put("flConTopStag", tbAttResStagChar==null?"":tbAttResStagChar.getFlConTopStag());
-		tableMap.put("flSortCap", tbAttResStagChar==null?"":tbAttResStagChar.getFlStorCap());
-		tableMap.put("corNormStag", tbAttResStagChar==null?"":tbAttResStagChar.getCorNormStag());
-		tableMap.put("adjustStorCap", tbAttResStagChar==null?"":tbAttResStagChar.getAdjustStorCap());
-		tableMap.put("deadStag", tbAttResStagChar==null?"":tbAttResStagChar.getDeadStag());
-		tableMap.put("deadCap", tbAttResStagChar==null?"":tbAttResStagChar.getDeadCap());
-		tableMap.put("beforeFloodStag", tbAttResStagChar==null?"":tbAttResStagChar.getBeforeFloodStag());
-		tableMap.put("midFloodStag", tbAttResStagChar==null?"":tbAttResStagChar.getMidFloodStag());
-		tableMap.put("afterFloodStag", tbAttResStagChar==null?"":tbAttResStagChar.getAfterFloodStag());
+		tableMap.put("adjustProp", tbAttResStagChar==null || tbAttResStagChar.getAdjustProp()==null?"":AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel());
+		tableMap.put("checFlStag", tbAttResStagChar==null || tbAttResStagChar.getChecFlStag()==null?"":tbAttResStagChar.getChecFlStag());
+		tableMap.put("totalCap", tbAttResStagChar==null || tbAttResStagChar.getTotalCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getTotalCap().toString()));
+		tableMap.put("desFlStag", tbAttResStagChar==null || tbAttResStagChar.getDesFlStag()==null?"":tbAttResStagChar.getDesFlStag());
+		tableMap.put("flprCap", tbAttResStagChar==null || tbAttResStagChar.getFlprCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getFlprCap().toString()));
+		tableMap.put("flConTopStag", tbAttResStagChar==null || tbAttResStagChar.getFlConTopStag()==null?"":tbAttResStagChar.getFlConTopStag());
+		tableMap.put("flSortCap", tbAttResStagChar==null || tbAttResStagChar.getFlStorCap()==null?"":tbAttResStagChar.getFlStorCap());
+		tableMap.put("corNormStag", tbAttResStagChar==null || tbAttResStagChar.getCorNormStag()==null?"":String.format("%.2f",tbAttResStagChar.getCorNormStag()));
+		tableMap.put("adjustStorCap", tbAttResStagChar==null || tbAttResStagChar.getAdjustStorCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getAdjustStorCap().toString()));
+		tableMap.put("deadStag", tbAttResStagChar==null || tbAttResStagChar.getDeadStag()==null?"":String.format("%.2f",tbAttResStagChar.getDeadStag()));
+		tableMap.put("deadCap", tbAttResStagChar==null || tbAttResStagChar.getDeadCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDeadCap().toString()));
+		tableMap.put("beforeFloodStag", tbAttResStagChar==null || tbAttResStagChar.getBeforeFloodStag()==null?"":String.format("%.2f",tbAttResStagChar.getBeforeFloodStag()));
+		tableMap.put("midFloodStag", tbAttResStagChar==null || tbAttResStagChar.getMidFloodStag()==null?"":String.format("%.2f",tbAttResStagChar.getMidFloodStag()));
+		tableMap.put("afterFloodStag", tbAttResStagChar==null || tbAttResStagChar.getAfterFloodStag()==null?"":String.format("%.2f",tbAttResStagChar.getAfterFloodStag()));
 
 		//new SimpleDateFormat("yyyy年MM月").format(tbAttResBase.getStartTime());
 
@@ -223,8 +226,8 @@
 		tableMap.put("midFloodEnd", mfe);
 		tableMap.put("afterFloodStart", afs);
 		tableMap.put("afterFloodEnd", afe);
-		tableMap.put("desFloodFlow", tbAttResStagChar==null?"":tbAttResStagChar.getDesFloodFlowMax());
-		tableMap.put("checFloodFlowMax", tbAttResStagChar==null?"":tbAttResStagChar.getChecFloodFlowMax());
+		tableMap.put("desFloodFlowMax", tbAttResStagChar==null || tbAttResStagChar.getDesFloodFlowMax()==null?"":tbAttResStagChar.getDesFloodFlowMax());
+		tableMap.put("checFloodFlowMax", tbAttResStagChar==null || tbAttResStagChar.getChecFloodFlowMax()==null?"":tbAttResStagChar.getChecFloodFlowMax());
 
 		String mainDamType = "";
 		String mainDamMainFoundation = "";
@@ -252,18 +255,18 @@
 
 			mainDamType = DamTypeEnum.find(tbAttResWaterBlock.getDamType()).getLabel();
 			mainDamMainFoundation = tbAttResWaterBlock.getDamMainFoundation();
-			mainDamTopElevation = isNullObject(tbAttResWaterBlock.getDamTopElevation());
+			mainDamTopElevation = StringUtil.isBlank(isNullObject(tbAttResWaterBlock.getDamTopElevation()))?"":String.format("%.2f",tbAttResWaterBlock.getDamTopElevation());
 			mainDamHeight = isNullObject(tbAttResWaterBlock.getDamHeight());
 			mainDamTopLength = isNullObject(tbAttResWaterBlock.getDamTopLength());
 			mainDamWidth = isNullObject(tbAttResWaterBlock.getDamWidth());
 			mainIsTraffic = tbAttResWaterBlock.getIsTraffic();
-			mainWaveWallTopElevation = isNullObject(tbAttResWaterBlock.getWaveWallTopElevation());
+			mainWaveWallTopElevation = StringUtil.isBlank(isNullObject(tbAttResWaterBlock.getWaveWallTopElevation()))?"":String.format("%.2f",tbAttResWaterBlock.getWaveWallTopElevation());
 			mainUpDamProtectType = convertType(tbAttResWaterBlock.getUpDamProtectType(), "Explain");
 			mainDownDamProtectType = convertType(tbAttResWaterBlock.getDownDamProtectType(), "Explain");
 			damMainBodyType = convertType(tbAttResWaterBlock.getDamMainBodyType(), "Explain");
 			damMainBodyTopElevation = isNullObject(tbAttResWaterBlock.getDamTopElevation());
 			damMainDrainType = convertType(tbAttResWaterBlock.getDamMainDrainType(), "Explain");
-			mainDamBodyType = convertType(isNullObject(tbAttResWaterBlock.getDamBodyType()), "Explain");
+			mainDamBodyType = DamBodyTypeEnum.find(convertType(isNullObject(tbAttResWaterBlock.getDamBodyType()), "Explain")).getLabel();
 
 			//副坝
 			subDamNum = isNullObject(tbAttResWaterBlock.getSubDamNum());
@@ -423,65 +426,131 @@
 		String workingGateType = "";
 		String deliverOc = "";
 
-		if (tbAttResWaterDeliveryList != null && tbAttResWaterDeliveryList.size() > 0 && tbAttResWaterDeliveryList.get(0).getNum() > 0) {
-			//取设计流量大的进行描述
-//			List<TbAttResWaterDelivery> sortList = tbAttResWaterDeliveryList.stream().sorted((a, b) -> b.getDesignFlow().compareTo(a.getDesignFlow())).collect(Collectors.toList());
-			List<TbAttResWaterDelivery> sortList =
-				tbAttResWaterDeliveryList.stream()
-					.sorted((a, b) -> {
-						Optional<Double> flowA = Optional.ofNullable(a.getDesignFlow());
-						Optional<Double> flowB = Optional.ofNullable(b.getDesignFlow());
-						return flowA.isPresent() && flowB.isPresent() ? flowA.get().compareTo(flowB.get()) : (flowA.isPresent() ? 1 : (flowB.isPresent() ? -1 : 0));
-					})
-					.collect(Collectors.toList());
 
-			TbAttResWaterDelivery tbAttResWaterDelivery = sortList.get(0);
+		tableMap.put("输水建筑物名称1", "输水建筑物");
+		tableMap.put("输水建筑物名称2", "输水建筑物");
+		tableMap.put("输水建筑物名称3", "输水建筑物");
+
+		for (int i = 0; i < tbAttResWaterDeliveryList.size(); i++) {
+			TbAttResWaterDelivery tbAttResWaterDelivery = tbAttResWaterDeliveryList.get(i);
 
 			aqueductType = convertType(tbAttResWaterDelivery.getAqueductType(), "AqueductTypeEnum");
 			aqueductLength = isNullObject(tbAttResWaterDelivery.getAqueductLength());
 			thresholdElevation = isNullObject(tbAttResWaterDelivery.getThresholdElevation());
 			exportElevation = isNullObject(tbAttResWaterDelivery.getExportElevation());
-			deliverSection = StringUtil.format("{}×{}", tbAttResWaterDelivery.getSectionWide(), tbAttResWaterDelivery.getSectionHigh());
+			if (null != tbAttResWaterDelivery.getSectionHigh())
+				deliverSection = StringUtil.format("{}×{}", tbAttResWaterDelivery.getSectionWide(), tbAttResWaterDelivery.getSectionHigh());
+			else
+				deliverSection = StringUtil.format("φ{}", tbAttResWaterDelivery.getSectionWide());
 			designFlow = isNullObject(tbAttResWaterDelivery.getDesignFlow());
 			workingGateType = tbAttResWaterDelivery.getWorkingGateType();
 			List<String> list = new ArrayList<>();
 			list.add(tbAttResWaterDelivery.getOcType());
 			list.add(tbAttResWaterDelivery.getOcPower());
 			deliverOc = String.join(",", list);
-		}
-		tableMap.put("aqueductType", aqueductType);
-		tableMap.put("aqueductLength", aqueductLength);
-		tableMap.put("thresholdElevation", thresholdElevation);
-		tableMap.put("exportElevation", exportElevation);
-		tableMap.put("deliverSection", deliverSection);
-		tableMap.put("designFlow", designFlow);
-		tableMap.put("workingGateType", workingGateType);
-		tableMap.put("deliverOc", deliverOc);
 
+			if (i == 0) {
+				tableMap.put("输水建筑物名称1", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
+				tableMap.put("aqueductType1", aqueductType);
+				tableMap.put("aqueductLength1", aqueductLength);
+				tableMap.put("thresholdElevation1", thresholdElevation);
+				tableMap.put("exportElevation1", exportElevation);
+				tableMap.put("deliverSection1", deliverSection);
+				tableMap.put("designFlow1", designFlow);
+				tableMap.put("workingGateType1", workingGateType);
+				tableMap.put("deliverOc1", deliverOc);
+			}
+			else if (i == 1) {
+				tableMap.put("输水建筑物名称2", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
+				tableMap.put("aqueductType2", aqueductType);
+				tableMap.put("aqueductLength2", aqueductLength);
+				tableMap.put("thresholdElevation2", thresholdElevation);
+				tableMap.put("exportElevation2", exportElevation);
+				tableMap.put("deliverSection2", deliverSection);
+				tableMap.put("designFlow2", designFlow);
+				tableMap.put("workingGateType2", workingGateType);
+				tableMap.put("deliverOc2", deliverOc);
+			}
+			else if (i == 3) {
+				tableMap.put("输水建筑物名称3", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
+				tableMap.put("aqueductType3", aqueductType);
+				tableMap.put("aqueductLength3", aqueductLength);
+				tableMap.put("thresholdElevation3", thresholdElevation);
+				tableMap.put("exportElevation3", exportElevation);
+				tableMap.put("deliverSection3", deliverSection);
+				tableMap.put("designFlow3", designFlow);
+				tableMap.put("workingGateType3", workingGateType);
+				tableMap.put("deliverOc", deliverOc);
+			}
+		}
+
+//		if (tbAttResWaterDeliveryList != null && tbAttResWaterDeliveryList.size() > 0 && tbAttResWaterDeliveryList.get(0).getNum() > 0) {
+//			//取设计流量大的进行描述   2024-07-18取消,修改为展示3个列表 ,没有空着
+////			List<TbAttResWaterDelivery> sortList = tbAttResWaterDeliveryList.stream().sorted((a, b) -> b.getDesignFlow().compareTo(a.getDesignFlow())).collect(Collectors.toList());
+////			List<TbAttResWaterDelivery> sortList =
+////				tbAttResWaterDeliveryList.stream()
+////					.sorted((a, b) -> {
+////						Optional<Double> flowA = Optional.ofNullable(a.getDesignFlow());
+////						Optional<Double> flowB = Optional.ofNullable(b.getDesignFlow());
+////						return flowA.isPresent() && flowB.isPresent() ? flowA.get().compareTo(flowB.get()) : (flowA.isPresent() ? 1 : (flowB.isPresent() ? -1 : 0));
+////					})
+////					.collect(Collectors.toList());
+//
+//			TbAttResWaterDelivery tbAttResWaterDelivery = tbAttResWaterDeliveryList.get(0);
+//
+//			aqueductType = convertType(tbAttResWaterDelivery.getAqueductType(), "AqueductTypeEnum");
+//			aqueductLength = isNullObject(tbAttResWaterDelivery.getAqueductLength());
+//			thresholdElevation = isNullObject(tbAttResWaterDelivery.getThresholdElevation());
+//			exportElevation = isNullObject(tbAttResWaterDelivery.getExportElevation());
+//			deliverSection = StringUtil.format("{}×{}", tbAttResWaterDelivery.getSectionWide(), tbAttResWaterDelivery.getSectionHigh());
+//			designFlow = isNullObject(tbAttResWaterDelivery.getDesignFlow());
+//			workingGateType = tbAttResWaterDelivery.getWorkingGateType();
+//			List<String> list = new ArrayList<>();
+//			list.add(tbAttResWaterDelivery.getOcType());
+//			list.add(tbAttResWaterDelivery.getOcPower());
+//			deliverOc = String.join(",", list);
+//
+//			tableMap.put("输水建筑物名称1", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
+//
+//		}
 
 		//水电站
 		String plantLayoutType = "";
-		String installedCapacity = "";
+		double installedCapacity = 0d;
 		String yearAvgHour = "";
-		//当电站列表不为空 且 电站列表数量大于0 且num大于0
-		if (tbAttResPowerStationList != null && tbAttResPowerStationList.size() > 0 && tbAttResPowerStationList.get(0).getNum()!=null && tbAttResPowerStationList.get(0).getNum() > 0) {
-			TbAttResPowerStation tbAttResPowerStation = tbAttResPowerStationList.get(0);
+		//当电站列表不为空 且 电站列表数量大于0 且num大于0  -- 2024-07-18修改,展示多个
+//		if (tbAttResPowerStationList != null && tbAttResPowerStationList.size() > 0 && tbAttResPowerStationList.get(0).getNum()!=null && tbAttResPowerStationList.get(0).getNum() > 0) {
+//			TbAttResPowerStation tbAttResPowerStation = tbAttResPowerStationList.get(0);
+//
+//			//取第一个电站
+//			plantLayoutType = PlantLayoutTypeEnum.find(tbAttResPowerStation.getPlantLayoutType()).getLabel();
+//			installedCapacity = isNullObject(tbAttResPowerStation.getInstalledCapacity());
+//			yearAvgHour = isNullObject(tbAttResPowerStation.getYearAvgHour());
+//		}
 
-			//取第一个电站
-			plantLayoutType = PlantLayoutTypeEnum.find(tbAttResPowerStation.getPlantLayoutType()).getLabel();
-			installedCapacity = isNullObject(tbAttResPowerStation.getInstalledCapacity());
-			yearAvgHour = isNullObject(tbAttResPowerStation.getYearAvgHour());
+		for (int i=0;i < tbAttResPowerStationList.size(); i++) {
+			TbAttResPowerStation tbAttResPowerStation = tbAttResPowerStationList.get(i);
+			if (StringUtil.isBlank(plantLayoutType)) {
+				plantLayoutType = PlantLayoutTypeEnum.find(tbAttResPowerStation.getPlantLayoutType()).getLabel();
+			} else {
+				plantLayoutType = plantLayoutType + "、" + PlantLayoutTypeEnum.find(tbAttResPowerStation.getPlantLayoutType()).getLabel();
+			}
+
+			installedCapacity = installedCapacity + tbAttResPowerStation.getInstalledCapacity();
+
+			if (StringUtil.isBlank(yearAvgHour)) {
+				yearAvgHour = WordUtil.removeTrailingZero(isNullObject(tbAttResPowerStation.getYearAvgHour()));
+			} else {
+				yearAvgHour = yearAvgHour + "、" + WordUtil.removeTrailingZero(isNullObject(tbAttResPowerStation.getYearAvgHour()));
+			}
 		}
+
 		tableMap.put("plantLayoutType", plantLayoutType);
-		tableMap.put("installedCapacity", installedCapacity);
+		tableMap.put("installedCapacity", WordUtil.removeTrailingZero(installedCapacity + ""));
 		tableMap.put("yearAvgHour", yearAvgHour);
 
 		//水库效益
 		List<String> protectList = new ArrayList<>();
-
-		if (null != tbAttResEngBene) {
-
-		}
 
 		if (tbAttResEngBene!=null &&!tbAttResEngBene.getCity().equals("无") ) {
 			protectList.add(tbAttResEngBene.getCity());
@@ -531,15 +600,15 @@
 		tableMap.put("checIrrArea", tbAttResEngBene==null?"":tbAttResEngBene.getChecIrrArea()==null?"":String.format("%.2f", tbAttResEngBene.getChecIrrArea() / 10000));
 		tableMap.put("supplyObject", tbAttResEngBene==null?"":tbAttResEngBene.getSupplyObject()==null?"":tbAttResEngBene.getSupplyObject());
 
-		Double sup = 0.0;
-		String supS = "";
-		if (tbAttResEngBene!=null && StringUtil.isNotBlank(tbAttResEngBene.getSupplyPopulation())) {
-			sup = Double.parseDouble(tbAttResEngBene.getSupplyPopulation()) / 10000;
-			supS = String.format("%.2f", sup);
-		}
+//		Double sup = 0.0;
+//		String supS = "";
+//		if (tbAttResEngBene!=null && StringUtil.isNotBlank(tbAttResEngBene.getSupplyPopulation())) {
+//			sup = Double.parseDouble(tbAttResEngBene.getSupplyPopulation());
+//			supS = String.format("%.2f", sup);
+//		}
 
 
-		tableMap.put("supplyPopulation", supS);
+		tableMap.put("supplyPopulation", tbAttResEngBene.getSupplyPopulation());
 		tableMap.put("moyearSupplyAvg", tbAttResEngBene==null?"":tbAttResEngBene.getMoyearSupplyAvg()==null?"":tbAttResEngBene.getMoyearSupplyAvg());
 		tableMap.put("moyearPowerAvg", tbAttResEngBene==null?"":tbAttResEngBene.getMoyearPowerAvg()==null?"":tbAttResEngBene.getMoyearPowerAvg());
 		tableMap.put("ecologicalFlow", tbAttResEngBene==null?"":tbAttResEngBene.getEcologicalFlow()==null?"":tbAttResEngBene.getEcologicalFlow());
@@ -616,6 +685,28 @@
 
 	}
 
+	@Override
+	public void getReservoirRainfallForecast(List<String> dayIndexList) {
+		List<StResRainfall> stResRainfalls = new ArrayList<>();
+		for (String dayIndex : dayIndexList) {
+			List<AttResWithRainfall> attResByRainfall = attResBase.getAttResByRainfall(null, null, dayIndex);
+			for (AttResWithRainfall attResWithRainfall : attResByRainfall) {
+				StResRainfall stResRainfall = new StResRainfall();
+				stResRainfall.setId(UUID.randomUUID().toString().replaceAll("-", ""));
+				stResRainfall.setResCd(attResWithRainfall.getCode());
+				stResRainfall.setDrp(attResWithRainfall.getRainfall());
+				stResRainfall.setFileName(attResWithRainfall.getFileName());
+				stResRainfall.setDayIndex(dayIndex);
+				stResRainfall.setCreateTime(new Date());
+				stResRainfalls.add(stResRainfall);
+			}
+		}
+		if (!stResRainfalls.isEmpty()) {
+			stResRainfallService.remove(Wrappers.<StResRainfall>query().lambda());
+			stResRainfallService.saveBatch(stResRainfalls);
+		}
+	}
+
 
 	@Override
 	public List<DzkInfo> getDzkInfo(String isShow) {

--
Gitblit v1.9.3