Descripción General
Los endpoints de Búsqueda de Facturas proporcionan capacidades avanzadas de consulta y filtrado para localizar facturas específicas en el sistema RestMaster. Estos endpoints permiten búsquedas flexibles combinando múltiples criterios como series, números, fechas, clientes, estados y otros parámetros.
🎯 Características de la Búsqueda de Facturas
- Filtros múltiples: Combinación de criterios de búsqueda
- Búsqueda por fechas: Rangos de fechas específicos
- Filtros por cliente: Búsqueda por información del cliente
- Filtros por estado: Facturas por estado de pago
- Filtros por ubicación: Búsqueda por sala y mesa
- Filtros por importes: Rangos de importes
Endpoints Disponibles
GET
/WorkingData/Invoice/search
Busca facturas aplicando múltiples filtros. Este endpoint permite búsquedas flexibles combinando criterios como series, números, fechas, clientes, estados, salas, mesas, camareros, tipos de documento, importes, estado de impresión, estado de división, repartidor, tarifa y número de comensales.
Parámetros de consulta (InvoiceFilterDto):
- serie (string, opcional): Serie de factura
- numero (double, opcional): Número de factura
- fechaInicio (DateTime, opcional): Fecha de inicio
- fechaFin (DateTime, opcional): Fecha de fin
- cliente (string, opcional): Nombre o ID del cliente
- estado (string, opcional): Estado de la factura
- salon (int, opcional): Número de sala
- mesa (int, opcional): Número de mesa
- camarero (string, opcional): ID del camarero
- tipoDocumento (string, opcional): Tipo de documento
- importeMinimo (decimal, opcional): Importe mínimo
- importeMaximo (decimal, opcional): Importe máximo
- impresa (bool, opcional): Estado de impresión
- dividida (bool, opcional): Estado de división
- repartidor (string, opcional): ID del repartidor
- tarifa (string, opcional): Tipo de tarifa
- comensales (int, opcional): Número de comensales
Parámetros de conexión:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Búsqueda completada exitosamente
[
{
"serie": "A",
"factura": 123,
"fecha": "2024-01-15T10:30:00Z",
"cliente": "Juan Pérez",
"total": 45.50,
"estado": "Pagada",
"salon": 1,
"mesa": 1
}
]
400 Bad Request
Filtros inválidos o faltantes
500 Internal Server Error
Error interno del servidor
POST
/WorkingData/Invoice/invoices/by-filter
Obtiene facturas por filtro flexible. Este endpoint permite búsquedas avanzadas enviando un objeto de filtro en el cuerpo de la petición. Útil para consultas complejas que requieren múltiples criterios.
Body (JSON - InvoiceFilterDto):
{
"serie": "A",
"fechaInicio": "2024-01-01T00:00:00Z",
"fechaFin": "2024-01-31T23:59:59Z",
"cliente": "Juan",
"estado": "Pagada",
"importeMinimo": 10.00,
"importeMaximo": 100.00,
"impresa": true,
"dividida": false
}
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Facturas obtenidas exitosamente
[
{
"serie": "A",
"factura": 123,
"fecha": "2024-01-15T10:30:00Z",
"cliente": "Juan Pérez",
"total": 45.50,
"estado": "Pagada",
"lineas": [...],
"ivas": [...],
"pagos": [...]
}
]
400 Bad Request
Filtro inválido o error de validación
500 Internal Server Error
Error interno del servidor
Servicio Utilizado
IInvoiceService - Servicio principal para la gestión de facturas
- GetInvoicesByFilter(): Obtiene facturas por filtro
- GetInvoicesByFilter(): Obtiene facturas por filtro flexible