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