-- Query: Todas las ventas de hoy de fs_forma_pago_detalles
-- Fecha: 2025-12-06

-- Detalle completo de pagos de hoy

USE fotosimp_wcommerce;
SELECT 
    fpd.pago_detalle_id,
    fpd.venta_id,
    fpd.pago_detalle_monto,
    fpd.fecha_pago,
    fpd.forma_pago_id,
    fpd.tipo_id,
    fp.forma_pago_nombre,
    v.created_at as fecha_venta,
    v.venta_tipo
FROM fs_forma_pago_detalles fpd
LEFT JOIN fs_forma_pagos fp ON fp.forma_pago_id = fpd.forma_pago_id
LEFT JOIN fs_ventas v ON v.venta_id = fpd.venta_id
WHERE DATE(fpd.fecha_pago) = CURDATE()
ORDER BY fpd.fecha_pago DESC;

-- Resumen por forma de pago
SELECT 
    fp.forma_pago_nombre,
    COUNT(fpd.pago_detalle_id) as cantidad_pagos,
    SUM(fpd.pago_detalle_monto) as total_monto
FROM fs_forma_pago_detalles fpd
LEFT JOIN fs_forma_pagos fp ON fp.forma_pago_id = fpd.forma_pago_id
WHERE DATE(fpd.fecha_pago) = CURDATE()
GROUP BY fp.forma_pago_nombre
ORDER BY total_monto DESC;

-- Total general del día
SELECT 
    COUNT(fpd.pago_detalle_id) as total_transacciones,
    SUM(fpd.pago_detalle_monto) as total_general
FROM fs_forma_pago_detalles fpd
WHERE DATE(fpd.fecha_pago) = CURDATE();

-- DIAGNÓSTICO: Verificar si hay duplicados o registros problemáticos
SELECT 
    fpd.venta_id,
    fp.forma_pago_nombre,
    COUNT(*) as cantidad_registros,
    SUM(fpd.pago_detalle_monto) as total_venta
FROM fs_forma_pago_detalles fpd
LEFT JOIN fs_forma_pagos fp ON fp.forma_pago_id = fpd.forma_pago_id
WHERE DATE(fpd.fecha_pago) = CURDATE()
GROUP BY fpd.venta_id, fp.forma_pago_nombre
HAVING COUNT(*) > 1
ORDER BY cantidad_registros DESC;

-- VERIFICAR: Detalle de pagos con DÉBITO específicamente
SELECT 
    fpd.pago_detalle_id,
    fpd.venta_id,
    fpd.pago_detalle_monto,
    fpd.fecha_pago,
    fp.forma_pago_nombre,
    v.fecha_venta,
    v.created_at
FROM fs_forma_pago_detalles fpd
LEFT JOIN fs_forma_pagos fp ON fp.forma_pago_id = fpd.forma_pago_id
LEFT JOIN fs_ventas v ON v.venta_id = fpd.venta_id
WHERE DATE(fpd.fecha_pago) = CURDATE()
AND fp.forma_pago_nombre = 'DÉBITO'
ORDER BY fpd.pago_detalle_monto DESC;

-- COMPARACIÓN: Usar fecha_venta en lugar de fecha_pago
SELECT 
    fp.forma_pago_nombre,
    COUNT(fpd.pago_detalle_id) as cantidad_pagos,
    SUM(fpd.pago_detalle_monto) as total_monto
FROM fs_forma_pago_detalles fpd
LEFT JOIN fs_forma_pagos fp ON fp.forma_pago_id = fpd.forma_pago_id
LEFT JOIN fs_ventas v ON v.venta_id = fpd.venta_id
WHERE DATE(v.fecha_venta) = CURDATE()
GROUP BY fp.forma_pago_nombre
ORDER BY total_monto DESC;
