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 ++++++++++++++++++++++++----
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java | 19 +++++++++++--------
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx | 0
3 files changed, 35 insertions(+), 12 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());
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 cc520ef..16d8fc9 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
@@ -2,6 +2,7 @@
import cn.gistack.sm.sjztmd.entity.*;
import cn.gistack.sm.sjztmd.word.enums.*;
+import cn.gistack.sm.sjztmd.word.util.WordUtil;
import com.alibaba.nacos.common.utils.StringUtils;
import lombok.Data;
import org.checkerframework.checker.formatter.qual.UnknownFormat;
@@ -498,29 +499,31 @@
//水文特征
List<String> hydrologicalCharacteristicsList = new ArrayList<>();
+ List<String> hydrologicalCharacteristicsList2 = new ArrayList<>();
+
if (tbAttResStagChar.getAdjustStorCap() != null) {
- hydrologicalCharacteristicsList.add(StringUtil.format("兴利库容{}万m³", tbAttResStagChar.getAdjustStorCap().toString()));
+ hydrologicalCharacteristicsList.add(StringUtil.format("兴利库容{}万m³", WordUtil.removeTrailingZero(tbAttResStagChar.getAdjustStorCap().toString())));
}
if (tbAttResStagChar.getFlprCap() != null) {
- hydrologicalCharacteristicsList.add(StringUtil.format("调洪库容{}万m³", tbAttResStagChar.getFlprCap().toString()));
+ hydrologicalCharacteristicsList.add(StringUtil.format("调洪库容{}万m³", WordUtil.removeTrailingZero(tbAttResStagChar.getFlprCap().toString())));
}
if (tbAttResStagChar.getDeadCap() != null) {
- hydrologicalCharacteristicsList.add(StringUtil.format("死库容{}万m³", tbAttResStagChar.getDeadCap().toString()));
+ hydrologicalCharacteristicsList.add(StringUtil.format("死库容{}万m³", WordUtil.removeTrailingZero(tbAttResStagChar.getDeadCap().toString())));
}
if (tbAttResStagChar.getChecFlStag() != null) {
- hydrologicalCharacteristicsList.add(StringUtil.format("校核洪水位{}m", tbAttResStagChar.getChecFlStag().toString()));
+ hydrologicalCharacteristicsList2.add(StringUtil.format(this.resName + "校核洪水位{}m", WordUtil.removeTrailingZero(tbAttResStagChar.getChecFlStag().toString())));
}
if (tbAttResStagChar.getDesFlStag() != null) {
- hydrologicalCharacteristicsList.add(StringUtil.format("设计洪水位{}m", tbAttResStagChar.getDesFlStag().toString()));
+ hydrologicalCharacteristicsList2.add(StringUtil.format("设计洪水位{}m", WordUtil.removeTrailingZero(tbAttResStagChar.getDesFlStag().toString())));
}
if (tbAttResStagChar.getCorNormStag() != null) {
- hydrologicalCharacteristicsList.add(StringUtil.format("正常蓄水位{}m", tbAttResStagChar.getCorNormStag().toString()));
+ hydrologicalCharacteristicsList2.add(StringUtil.format("正常蓄水位{}m", WordUtil.removeTrailingZero(tbAttResStagChar.getCorNormStag().toString())));
}
if (tbAttResStagChar.getDeadStag() != null) {
- hydrologicalCharacteristicsList.add(StringUtil.format("死水位{}m", tbAttResStagChar.getDeadStag().toString()));
+ hydrologicalCharacteristicsList2.add(StringUtil.format("死水位{}m", WordUtil.removeTrailingZero(tbAttResStagChar.getDeadStag().toString())));
}
- this.hydrologicalCharacteristics = String.join(",", hydrologicalCharacteristicsList);
+ this.hydrologicalCharacteristics = String.join(",", hydrologicalCharacteristicsList) + ";" + String.join(",", hydrologicalCharacteristicsList2);
}
private void formatTbAttResWaterDelivery(List<TbAttResWaterDelivery> tbAttResWaterDeliveryList) {
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx
index 54cb737..139e3f9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx
Binary files differ
--
Gitblit v1.9.3