From 19d4f3fe0d0d2b8764e9023f214d3cba43c47668 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 10 八月 2023 14:27:09 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/service/XlsReportService.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/yssh/service/XlsReportService.java b/src/main/java/com/yssh/service/XlsReportService.java
index 6bb66e0..401d923 100644
--- a/src/main/java/com/yssh/service/XlsReportService.java
+++ b/src/main/java/com/yssh/service/XlsReportService.java
@@ -1,9 +1,12 @@
 package com.yssh.service;
 
+import com.yssh.entity.MonitorPointPosition;
+import com.yssh.entity.SuYuan700;
 import com.yssh.entity.xls.DayExcel;
 import com.yssh.entity.xls.MonthExcel;
 import com.yssh.entity.xls.WeekExcel;
 import com.yssh.mapper.XlsReportMapper;
+import com.yssh.utils.CalculateUtils;
 import com.yssh.utils.DateUtils;
 import com.yssh.utils.ExcelUtils;
 import org.slf4j.Logger;
@@ -28,6 +31,9 @@
 
     @Resource
     XlsReportMapper mapper;
+
+    @Resource
+    CommonService commonService;
 
     /**
      * 鎶ュ憡璺緞
@@ -103,19 +109,56 @@
     }
 
     /**
-     * 鍒涘缓鏃ユ姤
+     * 鑾峰彇鍙楀奖鍝嶅洜绱犲強鍘熷洜
+     */
+    public String getYs(List<SuYuan700> suList) {
+        if (null == suList || 0 == suList.size()) return "";
+
+        List<String> list = new ArrayList<>();
+        for (SuYuan700 su : suList) {
+            List<String> sub = new ArrayList<>();
+            if (null != su.getAddr1())
+                sub.add(su.getAddr1() + "锛屾鐜囷細" + (su.getOdds1() * 100) + "%锛孹锛�" + su.getX1() + "锛孻锛�" + su.getY1());
+            if (null != su.getAddr2())
+                sub.add(su.getAddr2() + "锛屾鐜囷細" + (su.getOdds2() * 100) + "%锛孹锛�" + su.getX2() + "锛孻锛�" + su.getY2());
+            if (null != su.getAddr3())
+                sub.add(su.getAddr3() + "锛屾鐜囷細" + (su.getOdds3() * 100) + "%锛孹锛�" + su.getX3() + "锛孻锛�" + su.getY3());
+
+            list.add(String.join("锛�", sub));
+        }
+
+        return String.join("\n", list);
+    }
+
+    /**
+     * 鍒涘缓鏃ユ姤锛欴ayExcel day = new DayExcel("AI-" + (i < 10 ? "0" : "") + i, "lj", "ljtb", "ys", "3m/s", "涓滃崡", "掳c");
      */
     public void createDayReport(Date date) {
         try {
             Date yesterday = DateUtils.getAPeriodOfTime(date, -1, Calendar.DATE);
+            String yyyy = DateUtils.parseDateToStr(DateUtils.YYYY, yesterday);
+            String yyyymmdd = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, yesterday);
+            String yyyy_mm_dd = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, yesterday);
+            Integer start = Integer.parseInt(yyyy + "0101");
+            Integer end = Integer.parseInt(yyyymmdd);
+            String lastYear = DateUtils.parseDateToStr(DateUtils.YYYY, DateUtils.lastYear(yesterday));
 
             List<DayExcel> list = new ArrayList<>();
             for (int i = 1; i < 47; i++) {
-                DayExcel day = new DayExcel("AI-" + (i < 10 ? "0" : "") + i, "lj", "ljtb", "ys", "3m/s", "涓滃崡", "掳c");
-                list.add(day);
+                String name = "AI-" + (i < 10 ? "0" : "") + i;
+                double rjz = mapper.selectDayAvg(yyyymmdd + "%", name);
+                double lj = mapper.selectAccumulate(start, end, name);
+                double lastLj = mapper.selectYearAccumulate(lastYear, name);
+                double ljtb = CalculateUtils.round2((lj - lastLj) / lastLj * 100);
+                MonitorPointPosition point = commonService.select3dCheckPointByName(name);
+                String id = point.getId().substring(0, point.getId().lastIndexOf("_") + 1) + "0";
+                List<SuYuan700> suList = mapper.selectSuYuanByTime(id, yyyy_mm_dd + " 00:00:00", yyyy_mm_dd + " 23:00:00");
+                String ys = getYs(suList);
+
+                list.add(new DayExcel("" + rjz, "" + lj, "" + ljtb, ys, "", "", ""));
             }
 
-           String filePath = createExcel("day", yesterday, list);
+            String filePath = createExcel("day", yesterday, list);
         } catch (Exception ex) {
             logger.error(ex.getMessage(), ex);
         }

--
Gitblit v1.9.3