aix
2024-07-15 6250972b924a8e45ad61fe4cd51d6db60a67013c
资料整编导出优化
3 files modified
47 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java 28 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java 19 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx patch | view | raw | blame | history
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());
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) {
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx
Binary files differ