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 Details

  • 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.