From 6250972b924a8e45ad61fe4cd51d6db60a67013c Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Mon, 15 Jul 2024 13:54:57 +0800
Subject: [PATCH] 资料整编导出优化

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java
index 36ed4f8..c0d2f18 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java
@@ -33,6 +33,26 @@
 		return outputStream.toByteArray();
 	}
 
+	/**
+	 * 去除小数位为0的
+	 * @param num
+	 * @return
+	 */
+	public static String removeTrailingZero(String num) {
+		// 检查是否包含小数点
+		if (num.contains(".")) {
+			// 分割整数和小数部分
+			String[] parts = num.split("\\.");
+			if (parts.length == 2) {
+				// 去除小数部分末尾的0,并检查是否仅剩下小数点(例如"123.")
+				String decimalPart = parts[1].replaceAll("0+$", "").replaceAll("^\\.$", "");
+				// 如果小数部分处理后为空,则返回整数部分;否则拼接整数和小数部分
+				return decimalPart.isEmpty() ? parts[0] : parts[0] + "." + decimalPart;
+			}
+		}
+		// 如果不包含小数点或处理失败,则返回原字符串
+		return num;
+	}
 
 	/**
 	 * 根据水库id获取数据
@@ -48,12 +68,12 @@
 		params.put("河流名称", tbWordVO.getLocRvName());
 		params.put("水库功能", tbWordVO.getResFuncText());
 		params.put("调节性能", tbWordVO.getAdjustPropText());
-		params.put("水库坝址以上控制流域面积", tbWordVO.getConArea());
-		params.put("流域多年平均降雨量", tbWordVO.getMoyearRainAvg());
-		params.put("多年平均年径流量", tbWordVO.getMoyearFlAvg());
+		params.put("水库坝址以上控制流域面积", removeTrailingZero(tbWordVO.getConArea()));
+		params.put("流域多年平均降雨量", removeTrailingZero(tbWordVO.getMoyearRainAvg()));
+		params.put("多年平均年径流量", removeTrailingZero(tbWordVO.getMoyearFlAvg()));
 		params.put("设计洪水标准", tbWordVO.getDesFlSta());
 		params.put("校核洪水标准", tbWordVO.getChecFlSta());
-		params.put("总库容", tbWordVO.getTotalCap());
+		params.put("总库容", removeTrailingZero(tbWordVO.getTotalCap()));
 		params.put("水文特征", tbWordVO.getHydrologicalCharacteristics());
 		params.put("工程等别", tbWordVO.getEngGrad());
 		params.put("挡水建筑物泄洪建筑物正常溢洪道", tbWordVO.getBuildingText());

--
Gitblit v1.9.3