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 | 86 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 79 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yssh/controller/XlsReportController.java b/src/main/java/com/yssh/controller/XlsReportController.java index 0fa95fd..bcef9f4 100644 --- a/src/main/java/com/yssh/controller/XlsReportController.java +++ b/src/main/java/com/yssh/controller/XlsReportController.java @@ -15,10 +15,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import javax.servlet.http.HttpServletResponse; +import java.util.*; @Api(tags="Excel鎶ュ憡") @RestController @@ -31,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") @@ -55,8 +53,82 @@ 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) + @GetMapping("/downloadById") + @ApiOperation(value = "鏍规嵁ID涓嬭浇", notes = "鏍规嵁ID涓嬭浇") + 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