<?php
header('Content-Type: application/json');
if (isset($_REQUEST['codemp'])){$codemp=$_REQUEST['codemp'];}else{$codemp="";}
if($codemp=='ECOS'){
    $host = "66.70.255.14"; 
    $usuario = "apli_edu_ecos";   
    $password = "ZC2KlhsjTqGi";   
    $dbname   = "apli_edu_ecos"; 
}else{
    $host = "69.197.152.107"; 
    $usuario = "usufe";    // usuario
    $password = "Naty@2012*";   // contraseña
    $dbname   = "ecos_corp";  //  base de datos

}




try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $usuario, $password, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
    ]);

    $anio = isset($_GET['anio']) ? intval($_GET['anio']) : date("Y");
    $mes = isset($_GET['mes']) ? intval($_GET['mes']) : 0;
    $fuente = isset($_GET['fuente']) ? intval($_GET['fuente']) : "";
    $tipo = isset($_GET['tipo']) ? intval($_GET['tipo']) : 1;
    
    if ($tipo == 2) {
        // Consolidación por año/mes, curso y fuente
        $sql = "SELECT 
                    YEAR(anticipos.fecha) AS anio,
                    " . ($mes ? "MONTH(anticipos.fecha) AS mes," : "") . "
                    conknp.nomknp AS curso,
                    actfte.nomfte AS fuente,
                    SUM(anticipos.valor - anticipos.descuento - anticipos.comision) AS vrcurso,
                    SUM(anticipos.descuento) AS descuento,
                    SUM(anticipos.hospedaje) AS hospedaje,
                    SUM(anticipos.enrolment) AS enrolment,
                    SUM(anticipos.acomodacion) AS acomodacion,
                    SUM(anticipos.transfer) AS transfer,
                    SUM(anticipos.comision) AS comision,
                    SUM(anticipos.valor - anticipos.descuento + anticipos.hospedaje + anticipos.enrolment + anticipos.acomodacion + anticipos.transfer - anticipos.comision) AS total
                FROM anticipos
                JOIN conknp ON anticipos.codknp = conknp.Id
                JOIN actfte ON anticipos.codfte = actfte.codfte
                WHERE anticipos.estado <> 'Eliminado'
                  AND YEAR(anticipos.fecha) = :anio";
    
        if ($mes) {
            $sql .= " AND MONTH(anticipos.fecha) = :mes";
        }
    
        if ($fuente > 0) {
            $sql .= " AND anticipos.codfte = :fuente";
        }
    
        $sql .= " GROUP BY YEAR(anticipos.fecha)";
        if ($mes) {
            $sql .= ", MONTH(anticipos.fecha)";
        }
        $sql .= ", conknp.nomknp, actfte.nomfte";
    
        $sql .= " ORDER BY YEAR(anticipos.fecha)";
        if ($mes) {
            $sql .= ", MONTH(anticipos.fecha)";
        }
        $sql .= ", conknp.nomknp, actfte.nomfte";
    
    } else {
        // Consulta detallada
        $sql = "SELECT anticipos.Id, anticipos.nriper AS Identificacion,
                       CONCAT(TRIM(actper.ap1per), ' ', TRIM(actper.no1per)) AS nombre,
                       anticipos.fecha, anticipos.inicia,
                       (anticipos.valor - anticipos.descuento - anticipos.comision) AS vrcurso,
                       anticipos.descuento, anticipos.hospedaje, anticipos.enrolment,
                       anticipos.acomodacion, anticipos.transfer, anticipos.comision,
                       FORMAT(anticipos.valor - anticipos.descuento + anticipos.hospedaje + anticipos.enrolment + anticipos.acomodacion + anticipos.transfer - anticipos.comision, 2) AS total,
                       conknp.nomknp AS curso, actcja.nomcja, actfte.nomfte AS C_Costo
                FROM anticipos
                JOIN conknp ON anticipos.codknp = conknp.Id
                JOIN actcja ON anticipos.codcja = actcja.codcja
                JOIN actfte ON anticipos.codfte = actfte.codfte
                JOIN actper ON anticipos.nriper = actper.nriper
                WHERE anticipos.estado <> 'Eliminado'
                  AND YEAR(anticipos.fecha) = :anio";
    
        if ($mes) {
            $sql .= " AND MONTH(anticipos.fecha) = :mes";
        }
    
        if ($fuente > 0) {
            $sql .= " AND anticipos.codfte = :fuente";
        }
    
        $sql .= " ORDER BY anticipos.fecha";
    }
    
    // Preparar y ejecutar
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(":anio", $anio, PDO::PARAM_INT);
    if ($mes) {
        $stmt->bindParam(":mes", $mes, PDO::PARAM_INT);
    }
    if ($fuente > 0) {
        $stmt->bindParam(":fuente", $fuente, PDO::PARAM_INT);
    }
    $stmt->execute();
    $resultados = $stmt->fetchAll();

    
    // Enviar JSON al frontend
    echo json_encode($resultados);

} catch (Exception $e) {
    echo json_encode(["error" => "Error en la consulta: " . $e->getMessage()]);
}
?>
