Package com.deusto.coffeestack.service
Interface VentaService
- All Known Implementing Classes:
VentaServiceImpl
public interface VentaService
Contrato de servicio para el registro y consulta de ventas.
-
Method Summary
Modifier and TypeMethodDescriptionDevuelve todas las ventas, de más reciente a más antigua.Genera un reporte agregado de ventas por día y producto.obtenerVenta(Long id) Devuelve el detalle de una venta por su id.registrarVenta(VentaRequest request, String usuarioLogin) Registra una nueva venta descontando el inventario de cada insumo implicado mediante la receta de cada producto, en orden FIFO de lotes.
-
Method Details
-
registrarVenta
Registra una nueva venta descontando el inventario de cada insumo implicado mediante la receta de cada producto, en orden FIFO de lotes.- Parameters:
request- datos de la venta (lista de líneas con item + unidades)usuarioLogin- login del empleado autenticado- Returns:
- la venta registrada con sus líneas de detalle
- Throws:
IllegalStateException- si el stock de algún insumo es insuficienteIllegalArgumentException- si algún item no tiene receta definida
-
listarVentas
List<VentaResponse> listarVentas()Devuelve todas las ventas, de más reciente a más antigua. -
obtenerVenta
Devuelve el detalle de una venta por su id. -
obtenerReporteVentas
List<ReporteVentasDTO> obtenerReporteVentas()Genera un reporte agregado de ventas por día y producto.
-