From 2808080a085d2f79c0c08010c99b4a78f3e2e28d Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Fri, 10 May 2024 11:24:00 +0800
Subject: [PATCH] 汛情简报
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/controller/DownTemplateController.java | 9 ++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/BriefReportUtil.java | 78 +++++++++++++++++++++++++++++++++++++++
2 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/controller/DownTemplateController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/controller/DownTemplateController.java
index e848c52..53c3bdc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/controller/DownTemplateController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/controller/DownTemplateController.java
@@ -4,6 +4,7 @@
import cn.gistack.sm.sjztmd.util.MyDateUtils;
import cn.gistack.sm.sjztmd.word.service.ISjztmdService;
+import cn.gistack.sm.sjztmd.word.util.BriefReportUtil;
import cn.gistack.sm.sjztmd.word.util.ExcelUtil;
import cn.gistack.sm.sjztmd.word.util.WordUtil;
import cn.gistack.sm.sjztmd.word.vo.*;
@@ -11,6 +12,7 @@
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.api.R;
import org.springframework.core.io.InputStreamResource;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
@@ -43,6 +45,13 @@
private final ISjztmdService sjztmdService;
+ @GetMapping(value = "/getBriefReport")
+ public R getBriefReport() {
+ //获取总览、大中库、明细数据
+ List<TotalInfo> totalList = sjztmdService.getTotalInfo("0");
+ return R.data(BriefReportUtil.formatTotalInfo(totalList));
+ }
+
@GetMapping("/download/{resGuid}")
public ResponseEntity genera(HttpServletResponse response, @PathVariable String resGuid) throws Exception {
HashMap<String,Object> obj = sjztmdService.getTbWordVO(resGuid);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/BriefReportUtil.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/BriefReportUtil.java
new file mode 100644
index 0000000..8d08f52
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/BriefReportUtil.java
@@ -0,0 +1,78 @@
+package cn.gistack.sm.sjztmd.word.util;
+
+import cn.gistack.sm.sjztmd.word.vo.TotalInfo;
+import org.springblade.core.tool.utils.StringUtil;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 报讯简报
+ * @USER: aix
+ * @DATE: 2024/5/10 10:54
+ */
+public class BriefReportUtil {
+
+ public static String formatTotalInfo(List<TotalInfo> totalList) {
+ int total = 0;
+ int big = 0;
+ int mid = 0;
+ int small = 0;
+ int dangerCountTotal = 0;
+ int overDangerCountTotal = 0;
+ List<String> smallList = new ArrayList<>();
+
+
+ for (int i = 0; i < totalList.size(); i++) {
+ TotalInfo totalInfo = totalList.get(i);
+ total += totalInfo.getCount_all();
+ big += totalInfo.getBig_all();
+ mid += totalInfo.getMid_all();
+ small += totalInfo.getSmall_all();
+ dangerCountTotal += totalInfo.getDanger_count_all();
+ overDangerCountTotal += totalInfo.getOver_danger_count_all();
+
+ if (totalInfo.getSmall_all() == 0) {
+ continue;
+ }
+
+ String smallRegionCout = StringUtil.format("{}{}座", totalInfo.getP_ad_name(), totalInfo.getSmall_all());
+ smallList.add(smallRegionCout);
+ }
+
+ String tm = new SimpleDateFormat("MM月dd日H时").format(new Date());
+ String hour = new SimpleDateFormat("H时").format(new Date());
+
+ if (total <= 0) {
+ return "暂无简报";
+ }
+
+ String resultStr = "今日{},全省共有{}座水库超汛限水位,其中{},均在平稳消落。全省水库持续安全运行。";
+ String dxskStr = "大型水库{}座";
+ String zxskStr = "中型水库{}座";
+ String xxskStr = "小型水库{}座";
+
+ String qzStr = "";
+
+ if (big > 0) {
+ dxskStr = StringUtil.format(dxskStr, big);
+ qzStr += StringUtil.isBlank(qzStr) ? dxskStr : "、" + dxskStr;
+ }
+ if (mid > 0) {
+ zxskStr = StringUtil.format(zxskStr, mid);
+ qzStr += StringUtil.isBlank(qzStr) ? zxskStr : "、" + zxskStr;
+ }
+ if (small > 0) {
+ xxskStr = StringUtil.format(xxskStr, small);
+ qzStr += StringUtil.isBlank(qzStr) ? xxskStr : "、" + xxskStr;
+ }
+
+ resultStr = StringUtil.format(resultStr, hour, total, qzStr);
+
+ return resultStr;
+ }
+
+}
--
Gitblit v1.9.3