@@ -64,6 +64,7 @@ public class TransactionsReservationsController {
6464 private static final String TRANSACTIONS_PATH = "/transactions" ;
6565 private static final String TRANSACTION_STOP_PATH = "/transactions/stop/{transactionPk}" ;
6666 private static final String TRANSACTIONS_DETAILS_PATH = "/transactions/details/{transactionPk}" ;
67+ private static final String TRANSACTIONS_DETAILS_METER_VALUES_CSV_PATH = TRANSACTIONS_DETAILS_PATH + "/meterValues.csv" ;
6768 private static final String TRANSACTIONS_QUERY_PATH = "/transactions/query" ;
6869 private static final String RESERVATIONS_PATH = "/reservations" ;
6970 private static final String RESERVATIONS_QUERY_PATH = "/reservations/query" ;
@@ -94,6 +95,17 @@ public String getTransactionDetails(@PathVariable("transactionPk") int transacti
9495 return "data-man/transactionDetails" ;
9596 }
9697
98+ @ RequestMapping (value = TRANSACTIONS_DETAILS_METER_VALUES_CSV_PATH )
99+ public void getTransactionDetailsMeterValuesCsv (@ PathVariable ("transactionPk" ) int transactionPk ,
100+ HttpServletResponse response ) throws IOException {
101+ String fileName = "transaction_%s_meter_values.csv" .formatted (transactionPk );
102+ String headerKey = "Content-Disposition" ;
103+ String headerValue = "attachment; filename=\" %s\" " .formatted (fileName );
104+ response .setContentType ("text/csv" );
105+ response .setHeader (headerKey , headerValue );
106+ transactionService .writeTransactionMeterValuesCSV (transactionPk , response .getWriter ());
107+ }
108+
97109 @ RequestMapping (value = TRANSACTIONS_QUERY_PATH )
98110 public String getTransactionsQuery (@ Valid @ ModelAttribute (PARAMS ) TransactionQueryForm params ,
99111 BindingResult result , Model model ,
0 commit comments