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 <= #{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