Class ReporteController
java.lang.Object
com.deusto.coffeestack.controller.ReporteController
@RestController
@RequestMapping("/api/reportes")
@PreAuthorize("hasAnyRole(\'PROPIETARIO\', \'ROOT\')")
public class ReporteController
extends Object
Reportes operacionales para el propietario del negocio.
Solo accesibles para los roles PROPIETARIO y ROOT.
-
Constructor Summary
ConstructorsConstructorDescriptionReporteController(ReporteConsumoService service, CsvExportService csvExportService, ReporteComparativoService comparativoService, AjusteService ajusteService) -
Method Summary
Modifier and TypeMethodDescriptionconsumoComparativo(List<Long> insumoIds, LocalDate desde, LocalDate hasta, Granularidad granularidad) Reporte comparativo de consumo para múltiples insumos en paralelo.consumoPorInsumo(Long insumoId, LocalDate desde, LocalDate hasta, Granularidad granularidad) org.springframework.http.ResponseEntity<byte[]> descargarConsumoCsv(Long insumoId, LocalDate desde, LocalDate hasta, Granularidad granularidad) Descarga el reporte de consumo de insumos como fichero CSV.org.springframework.http.ResponseEntity<byte[]> descargarMotivosCsv(TipoMovimiento tipo, LocalDate desde, LocalDate hasta) Descarga el reporte de mermas/ajustes agrupado por motivo y tipo como CSV.
-
Constructor Details
-
ReporteController
public ReporteController(ReporteConsumoService service, CsvExportService csvExportService, ReporteComparativoService comparativoService, AjusteService ajusteService)
-
-
Method Details
-
consumoPorInsumo
@GetMapping("/consumo") public ReporteConsumoResponse consumoPorInsumo(@RequestParam Long insumoId, @RequestParam @DateTimeFormat(iso=DATE) LocalDate desde, @RequestParam @DateTimeFormat(iso=DATE) LocalDate hasta, @RequestParam(defaultValue="DIA") Granularidad granularidad) -
descargarConsumoCsv
@GetMapping("/consumo/csv") public org.springframework.http.ResponseEntity<byte[]> descargarConsumoCsv(@RequestParam Long insumoId, @RequestParam @DateTimeFormat(iso=DATE) LocalDate desde, @RequestParam @DateTimeFormat(iso=DATE) LocalDate hasta, @RequestParam(defaultValue="DIA") Granularidad granularidad) Descarga el reporte de consumo de insumos como fichero CSV. Incluye metadatos de cabecera y la serie temporal completa. El fichero incluye BOM UTF-8 para compatibilidad con Microsoft Excel. -
consumoComparativo
@GetMapping("/consumo/comparativa") public ReporteComparativoResponse consumoComparativo(@RequestParam(required=false) List<Long> insumoIds, @RequestParam @DateTimeFormat(iso=DATE) LocalDate desde, @RequestParam @DateTimeFormat(iso=DATE) LocalDate hasta, @RequestParam(defaultValue="DIA") Granularidad granularidad) Reporte comparativo de consumo para múltiples insumos en paralelo.Permite al propietario identificar patrones y costes operativos comparando el consumo de varios insumos en el mismo rango de fechas.
- Parameters:
insumoIds- IDs de los insumos a comparar (opcional; vacío = todos los activos)desde- inicio del rango (inclusive)hasta- fin del rango (inclusive)granularidad- agrupación temporal de la serie (DIA / SEMANA / MES)
-
descargarMotivosCsv
@GetMapping("/motivos/csv") public org.springframework.http.ResponseEntity<byte[]> descargarMotivosCsv(@RequestParam(required=false) TipoMovimiento tipo, @RequestParam(required=false) @DateTimeFormat(iso=DATE) LocalDate desde, @RequestParam(required=false) @DateTimeFormat(iso=DATE) LocalDate hasta) Descarga el reporte de mermas/ajustes agrupado por motivo y tipo como CSV.Permite al propietario exportar a Excel los patrones de desperdicio detectados para análisis offline o elaboración de informes (issue #24).
Todos los parámetros son opcionales:
tipo– restringe a un tipo concreto (MERMA, ROTURA, …).desde– fecha inicial (inclusive). Se interpreta a las 00:00.hasta– fecha final (inclusive). Se interpreta al final del día.
-