From 49213ff0e8aec6941aedc9cee204c2fcb95537d7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 11 八月 2023 17:47:07 +0800
Subject: [PATCH] 1

---
 src/main/resources/mapper/XlsReportMapper.xml              |    8 ++--
 src/main/java/com/yssh/controller/XlsReportController.java |   63 +++++++++++++++++++++++++++++--
 2 files changed, 63 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/yssh/controller/XlsReportController.java b/src/main/java/com/yssh/controller/XlsReportController.java
index 2f0aadc..1e717e3 100644
--- a/src/main/java/com/yssh/controller/XlsReportController.java
+++ b/src/main/java/com/yssh/controller/XlsReportController.java
@@ -16,10 +16,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Api(tags="Excel鎶ュ憡")
 @RestController
@@ -67,4 +64,62 @@
     public void downloadById(@RequestParam(value = "id", required = true) int id, HttpServletResponse res) {
         xlsReportService.downloadById(id, res);
     }
+
+    @ApiOperationSupport(order = 3)
+    @GetMapping("/createDayReport")
+    @ApiOperation(value = "鍒涘缓鏃ユ姤", notes = "鍒涘缓鏃ユ姤")
+    public Result createDayReport(@RequestParam(value = "start", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
+                                  @RequestParam(value = "end", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
+        if (null != start && null != end && start.getTime() > end.getTime()) {
+            Date tmp = start;
+            start = end;
+            end = tmp;
+        }
+
+        return Result.OK("鎵ц瀹屾瘯锛�");
+    }
+
+    @ApiOperationSupport(order = 4)
+    @GetMapping("/createWeekReport")
+    @ApiOperation(value = "鍒涘缓鍛ㄦ姤", notes = "鍒涘缓鍛ㄦ姤")
+    public Result createWeekReport(@RequestParam(value = "start", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
+                                   @RequestParam(value = "end", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
+        if (null != start && null != end && start.getTime() > end.getTime()) {
+            Date tmp = start;
+            start = end;
+            end = tmp;
+        }
+
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(start);
+
+        while (cal.getTime().getTime() < end.getTime()) {
+            xlsReportService.createWeekReport(cal.getTime());
+            cal.add(Calendar.DATE, 7);
+        }
+
+        return Result.OK("鎵ц瀹屾瘯锛�");
+    }
+
+    @ApiOperationSupport(order = 5)
+    @GetMapping("/createMonthReport")
+    @ApiOperation(value = "鍒涘缓鏈堟姤", notes = "鍒涘缓鏈堟姤")
+    public Result createMonthReport(@RequestParam(value = "start", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
+                                    @RequestParam(value = "end", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
+        if (null != start && null != end && start.getTime() > end.getTime()) {
+            Date tmp = start;
+            start = end;
+            end = tmp;
+        }
+
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(start);
+
+        while (cal.getTime().getTime() < end.getTime()) {
+            xlsReportService.createMonthReport(cal.getTime());
+            cal.add(Calendar.MONTH, 1);
+        }
+
+        return Result.OK("鎵ц瀹屾瘯锛�");
+    }
 }
diff --git a/src/main/resources/mapper/XlsReportMapper.xml b/src/main/resources/mapper/XlsReportMapper.xml
index 75fb8fc..d1468c8 100644
--- a/src/main/resources/mapper/XlsReportMapper.xml
+++ b/src/main/resources/mapper/XlsReportMapper.xml
@@ -17,7 +17,7 @@
                 and create_time &lt;= #{end}
             </if>
         </where>
-        order by id desc
+        order by create_time desc
         limit #{limit} offset #{offset}
     </select>
 
@@ -45,21 +45,21 @@
 
     <!-- 鏌ヨ鏃ュ潎鍊� -->
     <select id="selectDayAvg" resultType="java.lang.Double">
-        select ifnull(format(avg(value), 2), 0)
+        select ifnull(round(avg(value), 2), 0)
         from yssh_qxsh
         where time like #{time} and name = #{name};
     </select>
 
     <!-- 鏌ヨ绱鍊� -->
     <select id="selectAccumulate" resultType="java.lang.Double">
-        select ifnull(format(avg(value), 2), 0)
+        select ifnull(round(avg(value), 2), 0)
         from yssh_qxsh
         where time between #{start} and #{end} and name = #{name};
     </select>
 
     <!-- 鏌ヨ骞寸疮璁″�� -->
     <select id="selectYearAccumulate" resultType="java.lang.Double">
-        select ifnull(format(avg(value), 2), 0)
+        select ifnull(round(avg(value), 2), 0)
         from yssh_qxsh
         where time like #{time} and name = #{name};
     </select>

--
Gitblit v1.9.3