Export
Anonymous
java
03/02/2026 9:39 AM
2.6 KB
11
Indexable
@PreAuthorize("@authorizationService.canReadCourts()")
@GetMapping("/judges/export")
public ResponseEntity<byte[]> exportJudges(@RequestParam(required = false) String param,
Pageable pageable) throws IOException {
String fileName = messageService.getGeneralMessage("judges.sheet.name")
+ "_" + LocalDate.now() + ".xlsx";
String encodedFilename = URLEncoder.encode(fileName.replace(" ", "_"), StandardCharsets.UTF_8);
return ResponseEntity.ok()
.header(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, HttpHeaders.CONTENT_DISPOSITION)
.header(HttpHeaders.CONTENT_DISPOSITION, String.format("inline; filename=\"%s\"; filename*=UTF-8''%s",
encodedFilename, encodedFilename))
.contentType(GlobalConstants.APPLICATION_EXCEL_VALUE)
.body(courtService.exportJudges(param, pageable));
}
public byte[] exportJudges(String param, Pageable pageable) throws IOException {
Long tokenChamber = LKS_ID.equals(TokenUtil.getChamber()) ? null : TokenUtil.getChamber();
List<Judge> judges = courtDomainService.searchJudges(param, pageable.getSort(), tokenChamber);
return excelService.convert(
messageService.getGeneralMessage("judges.sheet.name"),
getJudgesHeaderRow(),
getJudgesRows(judges)
);
}
private List<String> getJudgesHeaderRow() {
List<String> headerRow = new ArrayList<>();
headerRow.add(messageService.getGeneralMessage("judges.full.name"));
headerRow.add(messageService.getGeneralMessage("judges.regional.chamber"));
headerRow.add(messageService.getGeneralMessage("judges.note"));
return headerRow;
}
private List<List<Object>> getJudgesRows(List<Judge> judges) {
List<List<Object>> rows = new ArrayList<>();
judges.forEach(j -> {
List<Object> row = new ArrayList<>();
row.add(getJudgeFullName(j));
row.add(getCurrentChamberName(j));
row.add(j.getNote() != null ? Util.translate(j.getNote()) : "");
rows.add(row);
});
return rows;
}Editor is loading...
Leave a Comment