reporte concentrado estilo legacy: tabla detalle ventas x metodo x moneda + legacy_id en cita/venta + metodo saldo_favor + fix moneda USD en pagos del POS

This commit is contained in:
2026-10-10 09:24:57 +00:00
parent 85df17545f
commit 2523635716
11 changed files with 548 additions and 134 deletions

View File

@@ -1205,6 +1205,38 @@ export interface ConcentradoReport {
visitas: { total: number; by_state: Record<string, number> };
}
export interface ConcentradoDetalleRow {
folio: string;
fecha: string;
paciente: string;
folio_dr: string | null;
medico: string;
vendedor: string;
concepto: string;
efectivo_usd: number;
efectivo_mxn: number;
tarjeta_usd: number;
tarjeta_mxn: number;
transferencia_usd: number;
transferencia_mxn: number;
saldo_favor_usd: number;
saldo_favor_mxn: number;
monedero_usd: number;
monedero_mxn: number;
}
export type ConcentradoDetalleTotals = Record<string, number>;
export interface ConcentradoDetalleReport {
status: string;
start: string;
end: string;
rows: ConcentradoDetalleRow[];
totals: ConcentradoDetalleTotals;
pacientes_atendidos: number;
ticket_promedio: number;
}
export interface RecomendacionRow {
recomendador: string;
pacientes: number;
@@ -2139,6 +2171,11 @@ export const odooApi = {
return data;
},
async getConcentradoDetalle(params: { start?: string; end?: string; doctor_ids?: string; categoria_ids?: string; servicio_ids?: string; vip?: boolean }): Promise<ConcentradoDetalleReport> {
const { data } = await axios.get(`${ODOO_BASE}/skeen/frontend/v1/reports/concentrado/detalle`, { params });
return data;
},
async getRecomendaciones(): Promise<{ status: string; recomendaciones: RecomendacionRow[]; total: number }> {
const { data } = await axios.get(`${ODOO_BASE}/skeen/frontend/v1/reports/recomendaciones`);
return data;