From 0ec47113d13f2e0a6cf512cf34156559bcd204b6 Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Thu, 3 Apr 2025 15:41:29 +0400 Subject: [PATCH] #21 -- Fix report page --- .../controller/AspirantController.java | 50 ------------------- .../report/controller/ReportController.java | 42 +++++++++++++++- src/main/resources/templates/default.html | 1 - .../{aspirant => report}/editReport.html | 7 ++- 4 files changed, 44 insertions(+), 56 deletions(-) delete mode 100644 src/main/java/ru/ulstu/aspirant/controller/AspirantController.java rename src/main/resources/templates/{aspirant => report}/editReport.html (94%) diff --git a/src/main/java/ru/ulstu/aspirant/controller/AspirantController.java b/src/main/java/ru/ulstu/aspirant/controller/AspirantController.java deleted file mode 100644 index 613d358..0000000 --- a/src/main/java/ru/ulstu/aspirant/controller/AspirantController.java +++ /dev/null @@ -1,50 +0,0 @@ -package ru.ulstu.aspirant.controller; - -import org.springframework.data.domain.Page; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import ru.ulstu.aspirant.service.AspirantService; -import ru.ulstu.indicator.model.Indicator; -import ru.ulstu.model.OffsetablePageRequest; -import ru.ulstu.report.model.Report; - -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -@Controller -@RequestMapping("aspirant") -public class AspirantController { - private static final Integer DEFAULT_PAGE_SIZE = 1; - private static final Integer DEFAULT_PAGE_NUMBER = 1; - private final AspirantService aspirantService; - - public AspirantController(AspirantService aspirantService) { - this.aspirantService = aspirantService; - } - - @GetMapping("aspirantReport") - public String createReport(Model model, - @RequestParam Optional page, - @RequestParam Optional size) { - int currentPage = page.orElse(DEFAULT_PAGE_NUMBER); - int pageSize = size.orElse(DEFAULT_PAGE_SIZE); - - Page indicators = aspirantService.getIndicatorsByCourse(new OffsetablePageRequest(currentPage - 1, pageSize)); - model.addAttribute("indicators", indicators); - int totalPages = indicators.getTotalPages(); - if (totalPages > 0) { - List pageNumbers = IntStream.rangeClosed(1, totalPages) - .boxed() - .collect(Collectors.toList()); - model.addAttribute("pageNumbers", pageNumbers); - } - - model.addAttribute("report", new Report()); - return "aspirant/editReport"; - } -} diff --git a/src/main/java/ru/ulstu/report/controller/ReportController.java b/src/main/java/ru/ulstu/report/controller/ReportController.java index 9a977c2..f7837b7 100644 --- a/src/main/java/ru/ulstu/report/controller/ReportController.java +++ b/src/main/java/ru/ulstu/report/controller/ReportController.java @@ -1,22 +1,40 @@ package ru.ulstu.report.controller; +import org.springframework.data.domain.Page; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import ru.ulstu.aspirant.service.AspirantService; +import ru.ulstu.indicator.model.Indicator; +import ru.ulstu.model.OffsetablePageRequest; +import ru.ulstu.report.model.Report; import ru.ulstu.report.model.ReportListForm; import ru.ulstu.report.service.ReportPeriodService; import ru.ulstu.report.service.ReportService; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + @Controller @RequestMapping("report") public class ReportController { + private static final Integer DEFAULT_PAGE_SIZE = 1; + private static final Integer DEFAULT_PAGE_NUMBER = 1; + + private final AspirantService aspirantService; private final ReportService reportService; private final ReportPeriodService reportPeriodService; - public ReportController(ReportService reportService, + public ReportController(AspirantService aspirantService, + ReportService reportService, ReportPeriodService reportPeriodService) { + this.aspirantService = aspirantService; this.reportService = reportService; this.reportPeriodService = reportPeriodService; } @@ -37,4 +55,26 @@ public class ReportController { model.addAttribute("canCreate", reportService.canCreateReport(reportListForm.getReportPeriod())); return "report/reportList"; } + + @GetMapping("editReport/{reportId}") + public String createReport(@PathVariable("reportId") Integer reportId, + Model model, + @RequestParam Optional page, + @RequestParam Optional size) { + int currentPage = page.orElse(DEFAULT_PAGE_NUMBER); + int pageSize = size.orElse(DEFAULT_PAGE_SIZE); + + Page indicators = aspirantService.getIndicatorsByCourse(new OffsetablePageRequest(currentPage - 1, pageSize)); + model.addAttribute("indicators", indicators); + int totalPages = indicators.getTotalPages(); + if (totalPages > 0) { + List pageNumbers = IntStream.rangeClosed(1, totalPages) + .boxed() + .collect(Collectors.toList()); + model.addAttribute("pageNumbers", pageNumbers); + } + + model.addAttribute("report", new Report()); + return "report/editReport"; + } } diff --git a/src/main/resources/templates/default.html b/src/main/resources/templates/default.html index 7f93ab9..887d301 100644 --- a/src/main/resources/templates/default.html +++ b/src/main/resources/templates/default.html @@ -36,7 +36,6 @@ diff --git a/src/main/resources/templates/aspirant/editReport.html b/src/main/resources/templates/report/editReport.html similarity index 94% rename from src/main/resources/templates/aspirant/editReport.html rename to src/main/resources/templates/report/editReport.html index 045392e..84eb4cf 100644 --- a/src/main/resources/templates/aspirant/editReport.html +++ b/src/main/resources/templates/report/editReport.html @@ -1,10 +1,9 @@ -

-
@@ -97,14 +96,14 @@ onclick="return confirm('Удалить запись?')"> Удалить - Отмена + Отмена