<?php
header('Content-Type: application/json');

$host = 'localhost';
$database = 'C:\Program Files (x86)\Common Files\Aspel\Sistemas Aspel\SAE7.00\Empresa01\Datos\SAE70EMPRE01.FDB';
$username = 'SYSDBA';
$password = 'masterkey';

if (isset($_POST['id'])) {
    $clienteId = $_POST['id'];

    try {
        $dbh = new PDO("firebird:host=$host;dbname=$database;charset=UTF8", $username, $password);

        // Consulta para obtener el importe de ambas tablas y calcular el saldo basado en REFER
        $sqlFacturas = "
        SELECT 
            CUEN_M01.CVE_CLIE, 
            CONC01.DESCR, 
            CUEN_M01.DOCTO, 
            CUEN_M01.NUM_CARGO, 
            CUEN_M01.FECHA_APLI, 
            CUEN_M01.FECHA_VENC, 
            CUEN_M01.IMPORTE AS IMPORTE_M,
            COALESCE(CUEN_DET01.IMPORTE, 0) AS IMPORTE_DET,
            (CUEN_M01.IMPORTE - COALESCE(CUEN_DET01.IMPORTE, 0)) AS SALDO
        FROM 
            CUEN_M01
        INNER JOIN 
            CONC01 ON CUEN_M01.NUM_CPTO = CONC01.NUM_CPTO
        LEFT JOIN 
            CUEN_DET01 ON CUEN_M01.REFER = CUEN_DET01.REFER
        WHERE 
            CUEN_M01.CVE_CLIE = ?
        ORDER BY 
            CUEN_M01.FECHA_VENC DESC";

        $stmtFacturas = $dbh->prepare($sqlFacturas);
        $stmtFacturas->execute([$clienteId]);
        
        // Generar tabla HTML
        $facturas = "<table class='table table-hover'>";
        $facturas .= "<thead class='thead-dark'><tr><th>Clave</th><th>Concepto</th><th>Documento</th><th>NO.Cargo</th><th>Fecha Aplicación</th><th>Fecha Vencimiento</th><th>Monto</th><th>Saldo</th><th>Acción</th></tr></thead><tbody>";
        
        while ($row = $stmtFacturas->fetch(PDO::FETCH_ASSOC)) {
            $facturas .= "<tr data-id='" . htmlspecialchars($row['CVE_CLIE'], ENT_QUOTES, 'UTF-8') . "'>";
            $facturas .= "<td>" . htmlspecialchars($row['CVE_CLIE'], ENT_QUOTES, 'UTF-8') . "</td>";
            $facturas .= "<td>" . htmlspecialchars($row['DESCR'], ENT_QUOTES, 'UTF-8') . "</td>";
            $facturas .= "<td>" . htmlspecialchars($row['DOCTO'], ENT_QUOTES, 'UTF-8') . "</td>";
            $facturas .= "<td>" . htmlspecialchars($row['NUM_CARGO'], ENT_QUOTES, 'UTF-8') . "</td>";
            $facturas .= "<td>" . date('d/m/Y', strtotime($row['FECHA_APLI'])) . "</td>";
            $facturas .= "<td>" . date('d/m/Y', strtotime($row['FECHA_VENC'])) . "</td>";
            $facturas .= "<td>" . number_format($row['IMPORTE_M'], 2, '.', ',') . "</td>";
            $facturas .= "<td>" . number_format($row['SALDO'], 2, '.', ',') . "</td>";
            $facturas .= "<td><i class='fas fa-chevron-right toggle-detalles' style='cursor: pointer;'></i></td>";
            
            // Campos ocultos para ID y Documento
            $facturas .= "<input type='hidden' class='factura-id' value='" . htmlspecialchars($row['CVE_CLIE'], ENT_QUOTES, 'UTF-8') . "'>";
            $facturas .= "<input type='hidden' class='factura-documento' value='" . htmlspecialchars($row['DOCTO'], ENT_QUOTES, 'UTF-8') . "'>";
            
            $facturas .= "</tr>";
            $facturas .= "<tr class='detalles-factura' style='display: none;'><td colspan='6'></td></tr>";
            $facturas .= "</tr>";
        }
        $facturas .= "</tbody></table>";
        
        echo json_encode(['facturas' => $facturas]);
    } catch (PDOException $e) {
        echo json_encode(['error' => $e->getMessage()]);
    }
} else {
    echo json_encode(['error' => 'ID del cliente no especificado.']);
}
?>
