From 453e3471e94b91169beec1e258a06a132d927011 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 02 十二月 2024 15:01:50 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/controller/XlsReportController.java | 78 +++++++++++++++++++++++++++++++++++--- 1 files changed, 71 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yssh/controller/XlsReportController.java b/src/main/java/com/yssh/controller/XlsReportController.java index 2f0aadc..bcef9f4 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 @@ -32,7 +29,7 @@ @Resource XlsReportService xlsReportService; - private static List<String> TYPES = new ArrayList<>(Arrays.asList("day", "week", "month")); + private static final List<String> TYPES = new ArrayList<>(Arrays.asList("day", "week", "month")); @ApiOperationSupport(order = 1) @GetMapping("/selectByPage") @@ -56,9 +53,10 @@ pageIndex = null == pageIndex || pageIndex < 1 ? 1 : pageIndex; Integer offset = pageSize * (pageIndex - 1); - List<XlsReport> list = xlsReportMapper.selectReportByPage(type, strStart, strEnd, pageSize, offset); + Integer count = xlsReportMapper.selectReportCount(type, strStart, strEnd, pageSize, offset); + List<XlsReport> list = 0 == count ? null : xlsReportMapper.selectReportByPage(type, strStart, strEnd, pageSize, offset); - return Result.OK(list); + return Result.OK(count, list); } @ApiOperationSupport(order = 2) @@ -67,4 +65,70 @@ 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; + } + + Calendar cal = Calendar.getInstance(); + cal.setTime(start); + + while (cal.getTime().getTime() < end.getTime()) { + xlsReportService.createDayReport(cal.getTime()); + cal.add(Calendar.DATE, 1); + } + + 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("鎵ц瀹屾瘯锛�"); + } } -- Gitblit v1.9.3