diff --git a/src/main/java/org/example/crimearchive/controllers/HomeController.java b/src/main/java/org/example/crimearchive/controllers/HomeController.java index 223b95b..552c481 100644 --- a/src/main/java/org/example/crimearchive/controllers/HomeController.java +++ b/src/main/java/org/example/crimearchive/controllers/HomeController.java @@ -91,7 +91,9 @@ public String saveReport( newReport.name(), newReport.event(), f, - currentUser.getUsername() + currentUser.getUsername(), + newReport.witness(), + newReport.victim() ); } } @@ -106,7 +108,9 @@ public String saveReport( newReport.name(), newReport.event(), img, - currentUser.getUsername() + currentUser.getUsername(), + newReport.witness(), + newReport.victim() ); } } diff --git a/src/main/java/org/example/crimearchive/evidence/EvidenceFileService.java b/src/main/java/org/example/crimearchive/evidence/EvidenceFileService.java index 225d8a7..c9e73ec 100644 --- a/src/main/java/org/example/crimearchive/evidence/EvidenceFileService.java +++ b/src/main/java/org/example/crimearchive/evidence/EvidenceFileService.java @@ -58,12 +58,24 @@ public EvidenceFileService(EvidenceFileRepository evidenceFileRepository, public void upload(String caseNumber, String reportName, String reportEvent, MultipartFile file, String uploadedBy) throws IOException { - upload(caseNumber, reportName, reportEvent, file, uploadedBy, null); + upload(caseNumber, reportName, reportEvent, file, uploadedBy, null, "", ""); + } + + public void upload(String caseNumber, String reportName, String reportEvent, + MultipartFile file, String uploadedBy, + String witness, String victim) throws IOException { + upload(caseNumber, reportName, reportEvent, file, uploadedBy, null, witness, victim); } - @Transactional public void upload(String caseNumber, String reportName, String reportEvent, MultipartFile file, String uploadedBy, UUID groupId) throws IOException { + upload(caseNumber, reportName, reportEvent, file, uploadedBy, groupId, "", ""); + } + + @Transactional + public void upload(String caseNumber, String reportName, String reportEvent, + MultipartFile file, String uploadedBy, UUID groupId, + String witness, String victim) throws IOException { String s3KeyPdf = null; String s3KeyFile = null; @@ -85,7 +97,7 @@ public void upload(String caseNumber, String reportName, String reportEvent, resolvedGroupId = UUID.randomUUID(); } - byte[] pdfBytes = generatePdf(reportName, reportEvent, file); + byte[] pdfBytes = generatePdf(caseNumber, reportName, reportEvent, witness, victim, file); s3KeyPdf = "cases/" + caseNumber + "/pdf/" + UUID.randomUUID() + ".pdf"; s3Client.putObject( @@ -198,15 +210,19 @@ private void requireCaseAccess(String caseNumber, Account currentUser) { } } - private byte[] generatePdf(String reportName, String reportEvent, MultipartFile file) throws Exception { + private byte[] generatePdf(String caseNumber, String reportName, String reportEvent, + String witness, String victim, MultipartFile file) throws Exception { ByteArrayOutputStream pdfStream = new ByteArrayOutputStream(); Document document = new Document(); PdfWriter.getInstance(document, pdfStream); document.open(); document.add(new Paragraph("Brottsanmälan")); - document.add(new Paragraph("Namn: " + reportName)); - document.add(new Paragraph("Brottstyp: " + reportEvent)); + document.add(new Paragraph("K-nummer: " + caseNumber)); + document.add(new Paragraph("Ansvarig polis: " + reportName)); + document.add(new Paragraph("Brottsplats: " + reportEvent)); + document.add(new Paragraph("Vittne: " + (witness != null && !witness.isBlank() ? witness : "-"))); + document.add(new Paragraph("Offer: " + (victim != null && !victim.isBlank() ? victim : "-"))); document.add(new Paragraph("Datum: " + LocalDateTime.now())); if (file != null && !file.isEmpty()) { diff --git a/src/main/resources/templates/registerreport.html b/src/main/resources/templates/registerreport.html index fae4869..64a2598 100644 --- a/src/main/resources/templates/registerreport.html +++ b/src/main/resources/templates/registerreport.html @@ -75,38 +75,78 @@