<?php
##########################################################################################################################################################################
#                                                                                              Modificaciones
##########################################################################################################################################################################
#17/11/2017 |ERICA G.|INFORME PAC
#29/08/2017 | Erica G. | Encabezado
#07/03/2017 |ERICA G.|CONSULTAS A FUNCION
#02-02-2017 | 9:30 | Erica González //Modificacion búsqueda disponibilidades
##########################################################################################################################################################################

?>
<?php

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=Informe_Ejec_Pptal_Rentas_Ingresos.xls");
require_once("../../Conexion/conexion.php");
require_once "../../Conexion/ConexionPDO.php";
require 'consultas.php';
$con = new ConexionPDO();
$conexion = $_SESSION['conexion'];
ini_set('max_execution_time', 0);
$calendario = CAL_GREGORIAN;
$parmanno = $_REQUEST['sltAnnio'];
$an = $con->Listar("SELECT anno FROM gf_parametrizacion_anno WHERE id_unico =$parmanno");
// $an = $mysqli->query($an);
$an = $an;
$anno = $an[0][0];
$mes = $_REQUEST['sltmes'];
$dia = cal_days_in_month($calendario, $mes, $anno);
$fecha = $anno . '-' . $mes . '-' . $dia;
$fechaInicial = $anno . '-' . '01-01';
$codigoI = $_REQUEST['sltcodi'];
$codigoF = $_REQUEST['sltcnf'];
$meses = array(
  "01" => 'Enero', "02" => 'Febrero', "03" => 'Marzo', "04" => 'Abril', "05" => 'Mayo', "06" => 'Junio',
  "07" => 'Julio', "08" => 'Agosto', "09" => 'Septiembre', "10" => 'Octubre', "11" => 'Noviembre', "12" => 'Diciembre'
);
$month1 = $meses[$mes];

#************Datos Compañia************#
$compania = $_SESSION['compania'];
$resultC = $con->Listar("SELECT ter.id_unico,
                ter.razonsocial,
                UPPER(ti.nombre),
                ter.numeroidentificacion,
                dir.direccion,
                tel.valor,
                ter.ruta_logo
FROM gf_tercero ter
LEFT JOIN 	gf_tipo_identificacion ti ON ter.tipoidentificacion = ti.id_unico
LEFT JOIN   gf_direccion dir ON dir.tercero = ter.id_unico
LEFT JOIN 	gf_telefono  tel ON tel.tercero = ter.id_unico
WHERE ter.id_unico = $compania");
// $resultC = $mysqli->query($sqlC);
$rowC = $resultC;
$razonsocial = $rowC[0][1];
$nombreIdent = $rowC[0][2];
$numeroIdent = $rowC[0][3];
$direccinTer = $rowC[0][4];
$telefonoTer = $rowC[0][5];
$tipo = $_REQUEST['tipo'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>EJECUCIÓN PRESUPUESTAL RENTAS E INGRESOS</title>
</head>

<body>
  <table width="100%" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <?php if ($tipo == 1) { ?>
        <th colspan="8" align="center"><strong>
            <br />&nbsp;
            <br /><?php echo $razonsocial ?>
            <br /><?php echo $nombreIdent . ' : ' . $numeroIdent . "<br/>" . $direccinTer . ' Tel:' . $telefonoTer ?>
            <br />&nbsp;
            <br />INFORME PAC INGRESOS
            <br />Rubros del <?php echo $codigoI . ' al ' . $codigoF ?>
            <br />Mes Acumulado <?php echo $month1 . ' - ' . $anno ?><br />&nbsp;</strong>
        </th>
      <?PHP } else { ?>
        <th colspan="9" align="center"><strong>
            <br />&nbsp;
            <br /><?php echo $razonsocial ?>
            <br /><?php echo $nombreIdent . ' : ' . $numeroIdent . "<br/>" . $direccinTer . ' Tel:' . $telefonoTer ?>
            <br />&nbsp;
            <br />EJECUCIÓN PRESUPUESTAL RENTAS E INGRESOS
            <br />Rubros del <?php echo $codigoI . ' al ' . $codigoF ?>
            <br />Mes Acumulado <?php echo $month1 . ' - ' . $anno ?><br />&nbsp;</strong>
        </th>
      <?php } ?>
    </tr>
    <tr>
      <td rowspan="2" align="center"><strong>RUBRO</strong></td>
      <td colspan="1" rowspan="2" align="center"><strong>DETALLE</strong></td>
      <td colspan="1" rowspan="2" align="center"><strong>FUENTE</strong></td>
      <?php if ($tipo == 1) { ?>
        <td colspan="1" rowspan="2" align="center"><strong>PAC INICIAL</strong></td>
        <td colspan="2" align="center"><strong>MODIFICACIONES PAC</strong></td>
        <td rowspan="2" style="width:120px;" align="center"><strong>PAC DEFINITIVO</strong></td>
        <td rowspan="2" style="width:120px;" align="center"><strong>PAC RECAUDADO</strong></td>
      <?php } else { ?>
        <td colspan="1" rowspan="2" align="center"><strong>PRESUPUESTO INICIAL</strong></td>
        <td colspan="2" align="center"><strong>MODIFICACIONES PRESUPUESTALES</strong></td>
        <td rowspan="2" style="width:120px;" align="center"><strong>PRESUPUESTO DEFINITIVO</strong></td>
        <td rowspan="2" style="width:120px;" align="center"><strong>RECAUDO</strong></td>
        <td rowspan="2" style="width:120px;" align="center"><strong>SALDOS POR RECAUDAR</strong></td>
      <?php } ?>

    </tr>
    <tr>
      <td align="center"><strong>ADICION</strong></td>
      <td align="center"><strong>REDUCCION</strong></td>
    </tr>
    <?php

    #VACIAR LA TABLA TEMPORAL
    $vaciarTabla = $con->Listar('TRUNCATE temporal_consulta_pptal_gastos ');
    // $mysqli->query($vaciarTabla);

    #CONSULTA TODAS LA CUENTAS
    $ctass = $con->Listar("SELECT DISTINCT
           rpp.nombre,
          rpp.codi_presupuesto,
          f.nombre,
          rpp2.codi_presupuesto, 
          rf.id_unico 
          FROM gf_rubro_pptal rpp
          LEFT JOIN gf_rubro_fuente rf ON rf.rubro = rpp.id_unico
          LEFT JOIN gf_fuente f ON rf.fuente = f.id_unico
          LEFT JOIN gf_rubro_pptal rpp2 ON rpp.predecesor = rpp2.id_unico 
          WHERE rpp.codi_presupuesto BETWEEN '$codigoI' AND '$codigoF' 
          AND rpp.tipoclase = 6 
          AND rpp.parametrizacionanno = '$parmanno' ORDER BY rpp.codi_presupuesto ASC");
    // $ctass = $mysqli->query($ctas);
    #GUARDA LOS DATOS EN LA TABLA TEMPORAL
    // while ($row1 = mysqli_fetch_row($ctass)) {
    for ($row1 = 0; $row1 < count($ctass); $row1++) {

      // $insert = "INSERT INTO temporal_consulta_pptal_gastos "
      //   . "(cod_rubro, nombre_rubro,cod_predecesor, cod_fuente, rubro_fuente) "
      //   . "VALUES ('$row1[1]','$row1[0]','$row1[3]','$row1[2]','$row1[4]' )";
      // $mysqli->query($insert);

      $sql_cons = "INSERT INTO temporal_consulta_pptal_gastos 
        (cod_rubro, nombre_rubro,cod_predecesor, cod_fuente, rubro_fuente) 
        VALUES (:cod_rubro,:nombre_rubro,:cod_predecesor,:cod_fuente,:rubro_fuente)";

      $sql_dato = array(
        array(":cod_rubro",      $ctass[$row1][1]),
        array(":nombre_rubro",   $ctass[$row1][0]),
        array(":cod_predecesor", $ctass[$row1][3]),
        array(":cod_fuente",     $ctass[$row1][2]),
        array(":rubro_fuente",   $ctass[$row1][4]),
      );
      $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
    }

    #CONSULTA CUENTAS DEL DETALLE SEGUN VARIABLES QUE RECIBE
    #SI RECIBE O NO FUENTE
    if (empty($_REQUEST['fuente'])) {
      $select1 = $con->Listar("SELECT DISTINCT
            rpp.nombre,
            rpp.codi_presupuesto,
            f.id_unico, 
            rpp2.codi_presupuesto, 
            dcp.rubrofuente 
          FROM gf_detalle_comprobante_pptal dcp
          LEFT JOIN gf_rubro_fuente rf ON dcp.rubrofuente = rf.id_unico
          LEFT JOIN gf_rubro_pptal rpp ON rf.rubro = rpp.id_unico
          LEFT JOIN gf_fuente f ON rf.fuente = f.id_unico
          LEFT JOIN gf_rubro_pptal rpp2 ON rpp.predecesor = rpp2.id_unico 
          LEFT JOIN gf_comprobante_pptal cp ON cp.id_unico = dcp.comprobantepptal 
          WHERE rpp.codi_presupuesto BETWEEN '$codigoI' AND '$codigoF' 
          AND cp.parametrizacionanno = $parmanno");
    } else {
      $fuente = $_REQUEST['fuente'];
      $select1 = $con->Listar("SELECT DISTINCT
            rpp.nombre,
            rpp.codi_presupuesto,
            f.id_unico, 
            rpp2.codi_presupuesto, 
            dcp.rubrofuente 
          FROM gf_detalle_comprobante_pptal dcp
          LEFT JOIN gf_rubro_fuente rf ON dcp.rubrofuente = rf.id_unico
          LEFT JOIN gf_rubro_pptal rpp ON rf.rubro = rpp.id_unico
          LEFT JOIN gf_fuente f ON rf.fuente = f.id_unico
          LEFT JOIN gf_rubro_pptal rpp2 ON rpp.predecesor = rpp2.id_unico 
          LEFT JOIN gf_comprobante_pptal cp ON cp.id_unico = dcp.comprobantepptal 
          WHERE f.id_unico ='$fuente' AND rpp.codi_presupuesto BETWEEN '$codigoI' AND '$codigoF'
          AND cp.parametrizacionanno = $parmanno");
    }
    // $select1 = $mysqli->query($select);

    // while ($row = mysqli_fetch_row($select1)) {
    for ($row = 0; $row < count($select1); $row++) {

      #PRESUPUESTO INICIAL
      $pptoInicial = presupuestos($select1[$row][4], 1, $fechaInicial, $fecha);

      #ADICION
      $adicion = presupuestos($select1[$row][4], 2, $fechaInicial, $fecha);
      #REDUCCION
      $reduccion = presupuestos($select1[$row][4], 3, $fechaInicial, $fecha);

      #PRESUPUESTO DEFINITIVO
      $presupuestoDefinitivo = $pptoInicial + $adicion - $reduccion;
      #RECAUDOS
      $recaudos = disponibilidades($select1[$row][4], 18, $fechaInicial, $fecha);
      #SALDOS POR RECAUDAR
      $saldos = $presupuestoDefinitivo - $recaudos;

      #ACTUALIZAR TABLA CON DATOS HALLADOS
      // $update = "UPDATE temporal_consulta_pptal_gastos SET "
      //   . "ptto_inicial ='$pptoInicial', "
      //   . "adicion = '$adicion', "
      //   . "reduccion = '$reduccion', "
      //   . "presupuesto_dfvo = '$presupuestoDefinitivo', "
      //   . "recaudos = '$recaudos', "
      //   . "saldos_x_recaudar = '$saldos' "
      //   . "WHERE rubro_fuente = '$row[4]'";
      // $update = $mysqli->query($update);

      $sql_cons = "UPDATE temporal_consulta_pptal_gastos SET 
        ptto_inicial = :ptto_inicial, 
        adicion = :adicion, 
        reduccion = :reduccion, 
        presupuesto_dfvo = :presupuesto_dfvo, 
        recaudos = :recaudos, 
        saldos_x_recaudar = :saldos_x_recaudar 
        WHERE rubro_fuente = :rubro_fuente";

      $sql_dato = array(
        array(":ptto_inicial", $pptoInicial),
        array(":adicion", $adicion),
        array(":reduccion", $reduccion),
        array(":presupuesto_dfvo", $presupuestoDefinitivo),
        array(":recaudos", $recaudos),
        array(":saldos_x_recaudar", $saldos),
        array(":rubro_fuente", $select1[$row][4]),

      );
      $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
    }
    //#CONSULTAR LA TABLA TEMPORAL PARA HACER ACUMULADO
    $acum = $con->Listar("SELECT id_unico, 
      cod_rubro,
      cod_predecesor, 
      ptto_inicial, adicion, reduccion, 
      presupuesto_dfvo, recaudos, 
      saldos_x_recaudar 
      FROM temporal_consulta_pptal_gastos 
      ORDER BY cod_rubro DESC ");
    // $acum = $mysqli->query($acum);

    // while ($rowa1 = mysqli_fetch_row($acum)) {
    for ($rowa1 = 0; $rowa1 < count($acum); $rowa1++) {
      $acumd = $con->Listar("SELECT id_unico, 
        cod_rubro,
        cod_predecesor, 
        ptto_inicial, adicion, reduccion, 
        presupuesto_dfvo, recaudos, 
        saldos_x_recaudar 
        FROM temporal_consulta_pptal_gastos WHERE id_unico =" . $acum[$rowa1][0] . "
        ORDER BY cod_rubro DESC");
      // $acumd = $mysqli->query($acumd);
      // while ($rowa = mysqli_fetch_row($acumd)) {
      for ($rowa = 0; $rowa < count($acumd); $rowa++) {
        if (!empty($acumd[$rowa][2])) {
          $va = $con->Listar("SELECT id_unico, 
            cod_rubro,
            cod_predecesor, 
            ptto_inicial, adicion, reduccion, 
            presupuesto_dfvo, recaudos, 
            saldos_x_recaudar 
            FROM temporal_consulta_pptal_gastos WHERE cod_rubro =" . $acumd[$rowa][2] . "");
          // $va1 = $mysqli->query($va11);

          $pptoInicialM           = $acumd[$rowa][3] + $va[0][3];
          $adicionM               = $acumd[$rowa][4] + $va[0][4];
          $reduccionM             = $acumd[$rowa][5] + $va[0][5];
          $presupuestoDefinitivoM = $acumd[$rowa][6] + $va[0][6];
          $recaudosM              = $acumd[$rowa][7] + $va[0][7];
          $saldosM                = $acumd[$rowa][8] + $va[0][8];

          #ACTUALIZAR TABLA CON DATOS HALLADOS
          // $updateA = "UPDATE temporal_consulta_pptal_gastos SET "
          //   . "ptto_inicial ='$pptoInicialM', "
          //   . "adicion = '$adicionM', "
          //   . "reduccion = '$reduccionM', "
          //   . "presupuesto_dfvo = '$presupuestoDefinitivoM', "
          //   . "recaudos = '$recaudosM', "
          //   . "saldos_x_recaudar = '$saldosM' "
          //   . "WHERE cod_rubro = '$rowa[2]'";
          // $updateA = $mysqli->query($updateA);

          $sql_cons = "UPDATE temporal_consulta_pptal_gastos SET
            ptto_inicial =:ptto_inicial,
            adicion = :adicion,
            reduccion = :reduccion,
            presupuesto_dfvo = :presupuesto_dfvo,
            recaudos = :recaudos,
            saldos_x_recaudar = :saldos_x_recaudar
            WHERE cod_rubro = :cod_rubro";
          // $updateA = $mysqli->query($updateA);

          $sql_dato = array(
            array(":ptto_inicial", $pptoInicialM),
            array(":adicion", $adicionM),
            array(":reduccion", $reduccionM),
            array(":presupuesto_dfvo", $presupuestoDefinitivoM),
            array(":recaudos", $recaudosM),
            array(":saldos_x_recaudar", $saldosM),
            array(":cod_rubro", $acumd[$rowa][2]),

          );
          $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
        }
      }
    }

    #Consulta Cuentas
    $conejc = $con->Listar("SELECT DISTINCT 
    cod_rubro           as codrub, 
    nombre_rubro        as nomrub,
    ptto_inicial        as ppti,
    adicion             as adi,
    reduccion           as red,
    presupuesto_dfvo    as ppdf,
    recaudos            as reca,
    reservas            as reserv,
    saldos_x_recaudar   as spag,
    cod_fuente          as fuente  
    from temporal_consulta_pptal_gastos ORDER BY cod_rubro ASC");
    // $conejc  = $mysqli->query($sql2);

    // while ($filactas = mysqli_fetch_array($conejc)) {
    for ($filactas = 0; $filactas < count($conejc); $filactas++) {
      $p1  = (float) $conejc[$filactas][2];
      $p2  = (float) $conejc[$filactas][3];
      $p3  = (float) $conejc[$filactas][4];
      $p4  = (float) $conejc[$filactas][5];
      $p5  = (float) $conejc[$filactas][6];
      $p6  = (float) $conejc[$filactas][8];
      # $codd = $codd + 1;
      if ($p1 == 0  && $p2 == 0  && $p3 == 0 && $p4 == 0 && $p5 == 0 && $p6 == 0) {
      } else {
    ?>
        <tr>
          <td><?php echo $conejc[$filactas][0]; ?></td>
          <td><?php echo $conejc[$filactas][1]; ?></td>
          <td><?php echo $conejc[$filactas][9]; ?></td>
          <td align="right"><?php echo number_format($p1, 2, '.', ','); ?></td>
          <td align="right"><?php echo number_format($p2, 2, '.', ','); ?></td>
          <td align="right"><?php echo number_format($p3, 2, '.', ','); ?></td>
          <td align="right"><?php echo number_format($p4, 2, '.', ','); ?></td>
          <td align="right"> <?php echo number_format($p5, 2, '.', ','); ?></td>
          <?php if ($tipo == 1) {
          } else { ?>
            <td align="right"><?php echo number_format($p6, 2, '.', ','); ?></td>
          <?php } ?>
        </tr>
    <?php
      }
    }
    ?>
  </table>
</body>

</html>