<?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);
        
        $sqlFacturas = "
    SELECT m.*, (m.IMPORTE * CONP01.SIGNO) AS IMPORTE_AJUSTADO
    FROM PAGA_M01 m
    LEFT JOIN PAGA_DET01 d ON m.REFER = d.REFER
    INNER JOIN CONP01 ON m.NUM_CPTO = CONP01.NUM_CPTO  -- Relación con la tabla de conceptos para obtener el signo
    WHERE m.CVE_PROV = ? 
    AND d.REFER IS NULL";  // Solo selecciona registros de PAGA_M01 que no estén en PAGA_DET01

$stmtFacturas = $dbh->prepare($sqlFacturas);
$stmtFacturas->execute([$clienteId]);

$facturas = "<table class='table table-hover'>";
$facturas .= "<thead class='thead-dark'><tr><th>Referencia</th><th>Fecha de Vencimiento</th><th>Al corriente</th><th>1-30</th><th>31-60</th><th>61-90</th><th>Más de 90</th></tr></thead><tbody>";

while ($row = $stmtFacturas->fetch(PDO::FETCH_ASSOC)) {
    $facturas .= "<tr data-id='" . htmlspecialchars($row['CVE_PROV'], ENT_QUOTES, 'UTF-8') . "'>";
    $facturas .= "<td>" . htmlspecialchars($row['REFER'], ENT_QUOTES, 'UTF-8') . "</td>";
    $facturas .= "<td>" . date('d/m/Y', strtotime($row['FECHA_VENC'])) . "</td>";
    
    // Cálculo de días vencidos
    $dias_vencido = (new DateTime())->diff(new DateTime($row['FECHA_VENC']))->days;
    
    // Dependiendo de los días vencidos, asignamos el importe ajustado en la columna correspondiente
    if ($dias_vencido <= 0) {
        $facturas .= "<td>" . number_format($row['IMPORTE_AJUSTADO'], 2, '.', ',') . "</td><td></td><td></td><td></td><td></td>";
    } elseif ($dias_vencido <= 30) {
        $facturas .= "<td></td><td>" . number_format($row['IMPORTE_AJUSTADO'], 2, '.', ',') . "</td><td></td><td></td><td></td>";
    } elseif ($dias_vencido <= 60) {
        $facturas .= "<td></td><td></td><td>" . number_format($row['IMPORTE_AJUSTADO'], 2, '.', ',') . "</td><td></td><td></td>";
    } elseif ($dias_vencido <= 90) {
        $facturas .= "<td></td><td></td><td></td><td>" . number_format($row['IMPORTE_AJUSTADO'], 2, '.', ',') . "</td><td></td>";
    } else {
        $facturas .= "<td></td><td></td><td></td><td></td><td>" . number_format($row['IMPORTE_AJUSTADO'], 2, '.', ',') . "</td>";
    }
    
    $facturas .= "</tr>";
}

$facturas .= "</tbody></table>";

        echo json_encode(['detalles' => $facturas]); // Cambia 'facturas' por 'detalles'
    } catch (PDOException $e) {
        echo json_encode(['error' => $e->getMessage()]);
    }
} else {
    echo json_encode(['error' => 'ID del cliente no especificado.']);
}
?>
