From ba5b4950136f5ad7cb41875131cbb10817699267 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 11 八月 2023 12:55:39 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/config/InitConfig.java        |    8 ++++----
 src/main/java/com/yssh/service/XlsReportService.java |   52 +++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 47 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/yssh/config/InitConfig.java b/src/main/java/com/yssh/config/InitConfig.java
index 437875b..53d1b0b 100644
--- a/src/main/java/com/yssh/config/InitConfig.java
+++ b/src/main/java/com/yssh/config/InitConfig.java
@@ -64,14 +64,14 @@
         cal1.set(Calendar.MILLISECOND, 0);
         xlsReportService.createDayReport(cal1.getTime());*/
 
-        Calendar cal2 = Calendar.getInstance();
+        /*Calendar cal2 = Calendar.getInstance();
         cal2.set(Calendar.MONTH, 6);
         cal2.set(Calendar.DAY_OF_MONTH, 31);
-        xlsReportService.createWeekReport(cal2.getTime());
+        xlsReportService.createWeekReport(cal2.getTime());*/
 
-        /*Calendar cal3 = Calendar.getInstance();
+        Calendar cal3 = Calendar.getInstance();
         cal3.set(Calendar.MONTH, 7);
         cal3.set(Calendar.DAY_OF_MONTH, 1);
-        xlsReportService.createMonthReport(cal3.getTime());*/
+        xlsReportService.createMonthReport(cal3.getTime());/**/
     }
 }
diff --git a/src/main/java/com/yssh/service/XlsReportService.java b/src/main/java/com/yssh/service/XlsReportService.java
index 8e8d642..4faf106 100644
--- a/src/main/java/com/yssh/service/XlsReportService.java
+++ b/src/main/java/com/yssh/service/XlsReportService.java
@@ -202,8 +202,8 @@
             Integer intLastSun = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastSun) + "23"); // 2023072323
             Integer intLastYear1 = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYear1) + "00"); // 2022072400
             Integer intLastYear7 = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYear7) + "23"); // 2022073023
-            String yyyy = DateUtils.parseDateToStr(DateUtils.YYYY, sun); // 2023
-            Integer yearStart = Integer.parseInt(yyyy + "010100"); // 2023010100
+            String year = DateUtils.parseDateToStr(DateUtils.YYYY, sun); // 2023
+            Integer yearStart = Integer.parseInt(year + "010100"); // 2023010100
             String lastYear = DateUtils.parseDateToStr(DateUtils.YYYY, DateUtils.lastYear(sun)); // 2022
             int weekOfYear = DateUtils.getWeekOfYear(sun); // 31
             Date lastYearSun = DateUtils.getWeekOfYearForSun(Integer.parseInt(lastYear), weekOfYear); // 2022-07-24
@@ -227,7 +227,7 @@
 
                 double lj = mapper.selectAccumulate(yearStart, intSun, name); // 绱
 
-                double ljjz = mapper.selectYearAccumulate(yyyy + "%", name); // 浠婂勾绱鍧囧��
+                double ljjz = mapper.selectYearAccumulate(year + "%", name); // 浠婂勾绱鍧囧��
                 double qnLjjz = mapper.selectYearAccumulate(lastYear + "%", name); // 鍘诲勾绱鍧囧��
                 String ljtb = 0 == qnLjjz ? "--" : CalculateUtils.round2((ljjz - qnLjjz) / qnLjjz * 100) + "%"; // 绱鍚屾瘮
 
@@ -251,18 +251,52 @@
      */
     public void createMonthReport(Date date) {
         try {
-            Date yesterday = DateUtils.getAPeriodOfTime(date, -1, Calendar.DATE);
-            Date start = DateUtils.getMonthStart(yesterday);
-            Date end = DateUtils.getMonthEnd(yesterday);
+            Date yesterday = DateUtils.getAPeriodOfTime(date, -1, Calendar.DATE); // 2023-07-31
+            Date monthStart = DateUtils.getMonthStart(yesterday); // 2023-07-01
+            Date monthEnd = DateUtils.getMonthEnd(yesterday); // 2023-07-31
+            int intMonthStart = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, monthStart) + "00"); // 2023070100
+            int intMonthEnd = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, monthEnd) + "23"); // 2023073123
+            Date lastMonth = DateUtils.getAPeriodOfTime(yesterday, -1, Calendar.MONTH); // 2023-06-30
+            Date lastMonthStart = DateUtils.getMonthStart(lastMonth); // 2023-06-01
+            Date lastMonthEnd = DateUtils.getMonthEnd(lastMonth); // 2023-06-30
+            int intLastMonthStart = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastMonthStart) + "00"); // 2023060100
+            int intLastMonthEnd = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastMonthEnd) + "23"); // 2023063023
+            int lastYearMonthStart = intMonthStart - 1000000; // 2023070100
+            int lastYearMonthEnd = intMonthEnd - 1000000; // 2023073123
+            String year = DateUtils.parseDateToStr(DateUtils.YYYY, yesterday); // 2023
+            Integer yearStart = Integer.parseInt(year + "010100"); // 2023010100
+            Date lastDay = DateUtils.lastYear(yesterday); // 2022-07-31
+            String lastYear = DateUtils.parseDateToStr(DateUtils.YYYY, lastDay); // 2022
 
             List<MonthExcel> list = new ArrayList<>();
             for (int i = 1; i < 47; i++) {
                 String name = "AI-" + (i < 10 ? "0" : "") + i;
-                //
+                double sy = mapper.selectAccumulate(intMonthStart, intMonthEnd, name); // 涓婃湀
 
-                list.add(new MonthExcel());
+                double ssy = mapper.selectAccumulate(intLastMonthStart, intLastMonthEnd, name); // 涓婁笂鏈�
+                String yhb = 0 == ssy ? "--" : CalculateUtils.round2((sy - ssy) / ssy * 100) + "%"; // 鏈堢幆姣�
+
+                double qntq = mapper.selectAccumulate(lastYearMonthStart, lastYearMonthEnd, name); // 鍘诲勾鍚屾湡
+                String ytq = 0 == qntq ? "--" : CalculateUtils.round2((sy - qntq) / qntq * 100) + "%"; // 鏈堝悓鏈�
+
+                String ytb = ""; // 鏈堝悓姣�
+
+                double lj = mapper.selectAccumulate(yearStart, intMonthEnd, name); // 绱
+
+                double ljjz = mapper.selectYearAccumulate(year + "%", name); // 浠婂勾绱鍧囧��
+                double qnLjjz = mapper.selectYearAccumulate(lastYear + "%", name); // 鍘诲勾绱鍧囧��
+                String ljtb = 0 == qnLjjz ? "--" : CalculateUtils.round2((ljjz - qnLjjz) / qnLjjz * 100) + "%"; // 绱鍚屾瘮
+
+                String qyn = 0 == qnLjjz ? "--" : CalculateUtils.round2((ljjz - qnLjjz) / qnLjjz * 100) + "%"; // 杈冧笂涓�骞村害鍙樺寲骞呭害
+
+                MonitorPointPosition point = commonService.select3dCheckPointByName(name);
+                String id = point.getId().substring(0, point.getId().lastIndexOf("_") + 1) + "0";
+                List<SuYuan700> suList = mapper.selectSuYuanByStartAndEnd(id, name, yjz, intMonthStart, intMonthEnd);
+                String ys = getYs(suList); // 鍙楀奖鍝嶅洜绱犲強鍘熷洜
+
+                list.add(new MonthExcel("" + sy, yhb, ytq, ytb, "" + lj, ljtb, qyn, ys, "", "", ""));
             }
-            saveResult("month", end, list);
+            //saveResult("month", end, list);
         } catch (Exception ex) {
             logger.error(ex.getMessage(), ex);
         }

--
Gitblit v1.9.3