Pull request #68: RED-2115: Fixed dossier status report generation
Merge in RED/redaction-report-service from RED-2115-rrs2 to master * commit 'c1c158e24fb2fe5b1229afb6b5721298c767cd69': RED-2115: Fixed dossier status report generation
This commit is contained in:
commit
eae445f6c6
@ -11,7 +11,7 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor
|
||||
public class StatusReportResponse {
|
||||
|
||||
private byte [] report;
|
||||
private byte[] report;
|
||||
private String filename;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
package com.iqser.red.service.redaction.report.v1.server.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.iqser.red.service.file.management.v1.api.model.Dossier;
|
||||
import com.iqser.red.service.redaction.report.v1.api.model.StatusReportResponse;
|
||||
import com.iqser.red.service.redaction.report.v1.api.resource.StatusReportResource;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.DossierClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.service.StatusReportGenerationService;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class StatusReportController implements StatusReportResource {
|
||||
|
||||
|
||||
private final StatusReportGenerationService statusReportGenerationService;
|
||||
private final DossierClient dossierClient;
|
||||
|
||||
|
||||
@Override
|
||||
public StatusReportResponse generateStatusReport(@PathVariable(DOSSIER_ID) String dossierId) {
|
||||
|
||||
Dossier dossier = dossierClient.getDossierById(dossierId);
|
||||
byte[] report = statusReportGenerationService.generateReport(dossier);
|
||||
return new StatusReportResponse(report, dossier.getDossierName());
|
||||
}
|
||||
|
||||
}
|
||||
@ -18,16 +18,13 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.configuration.v1.api.model.FileAttributeConfig;
|
||||
import com.iqser.red.service.configuration.v1.api.model.FileAttributesConfig;
|
||||
import com.iqser.red.service.file.management.v1.api.model.Dossier;
|
||||
import com.iqser.red.service.file.management.v1.api.model.FileAttributes;
|
||||
import com.iqser.red.service.file.management.v1.api.model.FileStatus;
|
||||
import com.iqser.red.service.file.management.v1.api.model.Status;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.DossierClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.FileAttributesClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.FileStatusClient;
|
||||
|
||||
import io.undertow.util.BadRequestException;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
@ -36,20 +33,13 @@ import lombok.SneakyThrows;
|
||||
public class StatusReportGenerationService {
|
||||
|
||||
private final FileStatusClient fileStatusClient;
|
||||
private final DossierClient dossierClient;
|
||||
private final FileAttributesClient fileAttributesClient;
|
||||
|
||||
|
||||
public byte[] generateReport(String dossierId) throws BadRequestException {
|
||||
public byte[] generateReport(Dossier dossier) {
|
||||
|
||||
Dossier dossier;
|
||||
try {
|
||||
dossier = dossierClient.getDossierById(dossierId);
|
||||
} catch (Exception e) {
|
||||
throw new BadRequestException("Dossier not found.");
|
||||
}
|
||||
|
||||
List<FileStatus> fileStatuses = fileStatusClient.getDossierStatus(dossierId);
|
||||
List<FileStatus> fileStatuses = fileStatusClient.getDossierStatus(dossier.getDossierId());
|
||||
|
||||
List<FileAttributeConfig> fileAttributeConfigs = fileAttributesClient.getFileAttributes(dossier.getDossierTemplateId())
|
||||
.getFileAttributeConfigs();
|
||||
|
||||
@ -40,17 +40,6 @@ public class StatusReportGenerationServiceTest {
|
||||
|
||||
@InjectMocks
|
||||
private StatusReportGenerationService statusReportGenerationService;
|
||||
// @MockBean
|
||||
// private ExcelTemplateReportGenerationService excelTemplateReportGenerationService;
|
||||
//
|
||||
// @MockBean
|
||||
// private ReportStorageService reportStorageService;
|
||||
//
|
||||
// @MockBean
|
||||
// private StorageService storageService;
|
||||
//
|
||||
// @MockBean
|
||||
// private AmazonS3 s3Client;
|
||||
|
||||
|
||||
@Test
|
||||
@ -91,7 +80,7 @@ public class StatusReportGenerationServiceTest {
|
||||
FileAttributesConfig fileAttributesConfig = new FileAttributesConfig(null, null, List.of(fileAttributeConfig1,fileAttributeConfig2));
|
||||
when(fileAttributesClient.getFileAttributes(dossier.getDossierTemplateId())).thenReturn(fileAttributesConfig);
|
||||
|
||||
byte[] report = statusReportGenerationService.generateReport(dossierId);
|
||||
byte[] report = statusReportGenerationService.generateReport(dossier);
|
||||
|
||||
try (FileOutputStream fileOutputStream = new FileOutputStream("/tmp/status_report.xlsx")) {
|
||||
fileOutputStream.write(report);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user