From 665c12bf06aa28e285f835e2ec7cecc553a686ef Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 28 Nov 2023 17:36:02 +0800
Subject: [PATCH] 填报word修改,技术规范

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java |   75 ++++++++++++++++++++++++++++++-------
 1 files changed, 60 insertions(+), 15 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
index aadeda5..fb57563 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
@@ -4,13 +4,11 @@
 import cn.gistack.sm.sjztmd.word.enums.*;
 import com.alibaba.nacos.common.utils.StringUtils;
 import lombok.Data;
+import org.checkerframework.checker.formatter.qual.UnknownFormat;
 import org.springblade.core.tool.utils.StringUtil;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Data
@@ -90,6 +88,9 @@
 	//泄洪洞信息
 	private String rsbSpillwayInfo;
 
+	//电站信息
+	private String powerStationInfo;
+
 	private String buildingInfo;
 
 
@@ -166,7 +167,7 @@
 		formatTbAttResBase(tbAttResBase);
 		formatTbAttResStagChar(tbAttResStagChar);
 
-		fomatMultiInfo(tbAttResWaterBlockList, sortList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList);
+		formatMultiInfo(tbAttResWaterBlockList, sortList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList);
 
 
 		formatTbAttResWaterDelivery(sortList);
@@ -177,7 +178,7 @@
 
 	}
 
-	private void fomatMultiInfo(List<TbAttResWaterBlock> tbAttResWaterBlockList, List<TbAttResWaterDelivery> tbAttResWaterDeliveryList, Map<String, Object> resRsbNorsipiVerspiMionitorDetailByGuid, List<TbAttResPowerStation> tbAttResPowerStationList) {
+	private void formatMultiInfo(List<TbAttResWaterBlock> tbAttResWaterBlockList, List<TbAttResWaterDelivery> tbAttResWaterDeliveryList, Map<String, Object> resRsbNorsipiVerspiMionitorDetailByGuid, List<TbAttResPowerStation> tbAttResPowerStationList) {
 
 		//正常溢洪道
 		List<TbAttResRsbNorspi> tbAttResRsbNorspiList = (List<TbAttResRsbNorspi>) resRsbNorsipiVerspiMionitorDetailByGuid.get("tbAttResRsbNorspiList");
@@ -218,33 +219,35 @@
 		}
 
 		//正常溢洪道
-		if (tbAttResRsbNorspiList.size() > 0) {
+		if (tbAttResRsbNorspiList.size()>0&&tbAttResRsbNorspiList.get(0).getNum()  != null && tbAttResRsbNorspiList.get(0).getNum() > 0) {
 			buildingList.add("正常溢洪道");
 			this.norspiInfo = "";
 			this.norspiInfo = GenerateNorspiInfo(tbAttResRsbNorspiList.get(0));
 		}
 
 		//泄洪洞
-		if (tbAttResRsbSpillwayList.size() > 0) {
+		if (tbAttResRsbSpillwayList.size()>0&&tbAttResRsbSpillwayList.get(0).getNum()  != null && tbAttResRsbSpillwayList.get(0).getNum() > 0) {
 			buildingList.add("泄洪洞");
 			this.rsbSpillwayInfo = "";
 			this.rsbSpillwayInfo = GenerateRsbSpillwayInfo(tbAttResRsbSpillwayList.get(0));
 		}
 
 		//输水建筑物
-		if (tbAttResWaterDeliveryList.size() > 0) {
+		if (tbAttResWaterDeliveryList.size()>0&&tbAttResWaterDeliveryList.get(0).getNum()  != null &&  tbAttResWaterDeliveryList.get(0).getNum() > 0) {
 			tbAttResWaterDeliveryList.forEach(tbAttResWaterDelivery -> {
 				buildingList.add( convertType(tbAttResWaterDelivery.getAqueductType(),"AqueductTypeEnum"));
 			});
 		}
 
 		//电站
-		if (tbAttResPowerStationList.size() > 0) {
+		if (tbAttResPowerStationList.size()>0&&tbAttResPowerStationList.get(0).getNum()  != null && tbAttResPowerStationList.get(0).getNum() > 0) {
 			buildingList.add("水电站");
+			this.powerStationInfo = "";
+			this.powerStationInfo = GenerateStationPowerInfo(tbAttResPowerStationList.get(0));
 		}
 
 		//非常溢洪道
-		if (tbAttResRsbVerspiList.size() > 0) {
+		if (tbAttResRsbVerspiList.size()>0&&tbAttResRsbVerspiList.get(0).getNum()  != null && tbAttResRsbVerspiList.get(0).getNum() > 0) {
 			buildingList.add("非常溢洪道");
 		}
 
@@ -257,6 +260,22 @@
 		} else {
 			this.buildingInfo = this.subDamInfo + this.rsbSpillwayInfo;
 		}
+	}
+
+	private String GenerateStationPowerInfo(TbAttResPowerStation stationPower) {
+		String text = "";
+		/**
+		 * 水电站(若有)为坝后XX式(厂房布置型式),装机容量XXkW,年均利用小时XXh
+		 */
+
+		String type = PlantLayoutTypeEnum.find(stationPower.getPlantLayoutType()).getLabel();
+		String capacity = String.valueOf(stationPower.getInstalledCapacity());
+		String hour = String.valueOf(stationPower.getYearAvgHour());
+
+		text = StringUtil.format("水电站为{},装机容量{}kW,年均利用小时{}h。",
+			type,capacity,hour);
+
+		return text;
 	}
 
 	/**
@@ -378,6 +397,11 @@
 
 
 	private void formatTbAttResBase(TbAttResBase tbAttResBase) {
+
+		if (tbAttResBase == null){
+			return;
+		}
+
 		//水库名称
 		this.resName = tbAttResBase.getName();
 		//所在河流
@@ -424,6 +448,10 @@
 	}
 
 	private void formatTbAttResStagChar(TbAttResStagChar tbAttResStagChar) {
+		if (tbAttResStagChar == null){
+			return;
+		}
+
 		//调节性能
 		this.adjustPropText = AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel();
 
@@ -467,17 +495,22 @@
 	}
 
 	private void formatTbAttResWaterDelivery(List<TbAttResWaterDelivery> tbAttResWaterDeliveryList) {
+		if (tbAttResWaterDeliveryList.size() == 0){
+			return;
+		}
+
+
 		TbAttResWaterDelivery tbAttResWaterDelivery = tbAttResWaterDeliveryList.get(0);
 		if (tbAttResWaterDeliveryList.size() > 1) {
-			this.aqueductType = "主要";
+			this.aqueductType = "主要采用";
 		} else {
-			this.aqueductType = "";
+			this.aqueductType = "采用";
 		}
 
 
 		this.aqueductType = this.aqueductType + convertType(tbAttResWaterDelivery.getAqueductType(),"AqueductTypeEnum");
 
-		this.section = tbAttResWaterDelivery.getSectionWide().toString() + "X" + tbAttResWaterDelivery.getSectionHigh().toString();
+		this.section = isNull(tbAttResWaterDelivery.getSectionWide()) + "X" + isNull(tbAttResWaterDelivery.getSectionHigh());
 
 		this.thresholdElevation = isNull(tbAttResWaterDelivery.getThresholdElevation());
 
@@ -487,10 +520,13 @@
 
 
 	private void formatTbAttResEngBene(TbAttResEngBene tbAttResEngBene) {
+		if (tbAttResEngBene == null){
+			return;
+		}
 
 		this.protectCity = tbAttResEngBene.getCity();
 		this.protectPersonLand =
-			StringUtil.format("{}万人口、{}万亩耕地", tbAttResEngBene.getFlControlPerson(), String.format("%.2f", tbAttResEngBene.getFlControlLand() / 1000));
+			StringUtil.format("{}万人口、{}万亩耕地", String.format("%.2f",tbAttResEngBene.getFlControlPerson()/1000) , String.format("%.2f", tbAttResEngBene.getFlControlLand() / 1000));
 		////铁路、公路、管线、企业几个依次罗列,超过三个列出第二个后为“XX等”,后面不需罗列
 
 		String railway = tbAttResEngBene.getRailway();
@@ -549,6 +585,10 @@
 	}
 
 	private void formatTbAttResSafetyMonitor(TbAttResSafetyMonitor tbAttResSafetyMonitor) {
+		if (tbAttResSafetyMonitor ==null){
+			return;
+		}
+
 		String time = new SimpleDateFormat("yyyy年MM月").format(tbAttResSafetyMonitor.getSafetyAppraisalTime());
 		String type = SafetyAppraisalTypeEnum.find(tbAttResSafetyMonitor.getSafetyAppraisalResult()).getLabel();
 		String surveyProblem = tbAttResSafetyMonitor.getSurveyProblem();
@@ -563,6 +603,11 @@
 	}
 
 	private void formatTbAttResMgrSysB(TbAttResMgrSysB tbAttResMgrSysB) {
+
+		if (tbAttResMgrSysB == null){
+			return;
+		}
+
 		this.mUnitName = tbAttResMgrSysB.getMUnitName();
 		this.mUnitNature = tbAttResMgrSysB.getMUnitNature();
 		this.mUnitPersonNumber = tbAttResMgrSysB.getMUnitPersonNumber().toString();

--
Gitblit v1.9.3