From c53e21330234e89c9108a38b317166f68a0c7fb7 Mon Sep 17 00:00:00 2001 From: "Tommy\\2Fi-Staff" Date: Fri, 16 Jan 2026 13:38:38 +0800 Subject: [PATCH] FGDelievery report --- .../modules/report/web/ReportController.kt | 32 + .../resources/jasper/FGDeliveryReport.jrxml | 553 ++++++++++++++++++ 2 files changed, 585 insertions(+) create mode 100644 src/main/resources/jasper/FGDeliveryReport.jrxml diff --git a/src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt b/src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt index 46e974e..832a274 100644 --- a/src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt +++ b/src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt @@ -44,4 +44,36 @@ class ReportController( return ResponseEntity(pdfBytes, headers, HttpStatus.OK) } + + @GetMapping("/print-report3") + fun generateReport3( + @RequestParam fromDate: String, + @RequestParam toDate: String, + //this is an exampe of optional param + @RequestParam(required = false) itemType: String? + ): ResponseEntity { + val parameters = mutableMapOf() + parameters["fromDate"] = fromDate + parameters["toDate"] = toDate + // you may put more params to show + parameters["reportDate"] = "param1Value" + parameters["param2"] = "param2Value" + + // Query the DB to get a list of data + val dbData = reportService.searchReport1(fromDate, toDate, itemType) + + val pdfBytes = reportService.createPdfResponse( + "/jasper/FGDeliveryReport.jrxml", + parameters, + dbData + ) + + val headers = HttpHeaders().apply { + contentType = MediaType.APPLICATION_PDF + setContentDispositionFormData("attachment", "Report1.pdf") + set("filename", "Report1.pdf") + } + + return ResponseEntity(pdfBytes, headers, HttpStatus.OK) + } } \ No newline at end of file diff --git a/src/main/resources/jasper/FGDeliveryReport.jrxml b/src/main/resources/jasper/FGDeliveryReport.jrxml new file mode 100644 index 0000000..87d4101 --- /dev/null +++ b/src/main/resources/jasper/FGDeliveryReport.jrxml @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +