<?php
  session_start();
  //RESTRICCIÓN DE ACCESO A TRABAJADOR (ACCESO INDIVIDUAL)
  if (isset($_SESSION['tipousuario'])){
    if ($_SESSION['tipousuario']=='1'){
      header ('location:menu_personal.php');
    }
  }
  if (trim($_SESSION['nombre_validar'])==''){
    header ('location:index.php');
  }
  //RESTRICCIÓN DE ACCESO A TRABAJADOR (ACCESO INDIVIDUAL)

  include ("fphp.php");
  include("payroll/payroll.php");
include("email/mail.php");
include("hcm_files/PHPMailer/src/Exception.php");
include("hcm_files/PHPMailer/src/PHPMailer.php");
include("hcm_files/PHPMailer/src/SMTP.php");


use PHPMailer\PHPMailer\PHPMailer;

use Saireh\email\Email;

date_default_timezone_set('America/Bogota');

  include ("calendario/calendario.php");
  require_once 'PHPExcel/PHPExcel.php';

function send_email()
{
  $mail = new PHPMailer(true);
  $saireh_email = new Email($mail);

  //Enviar correo a Supervisor y RRHH
  $saireh_email->set_to_address(array(
    'JSANCH32@FORD.COM',
    'MCALLES1@FORD.COM',
    'NOMINA.FORD@SAIREH.COM'
  ));

  $asunto = 'Aprobacion de ' . $_POST['valorArchivo'];
  $mensaje = "Ha sido aprobado el archivo con detalle " .$todo_comprobante."-". $_POST['valorArchivo'] . "<br>
              para ser contabilizado <br><br><br>";

  $saireh_email->send($asunto, $mensaje);
}
  $idValidar = $_SESSION['id_validar'];
  $enlace=cargar_conexion();
  $consulta=mysqli_query($enlace,"SELECT * FROM periodo WHERE id='$idValidar' ORDER BY nomina, periodo DESC LIMIT 1");
  if (mysqli_num_rows($consulta)!=0){
    $row=mysqli_fetch_array($consulta);
    $per=mostrar_fecha($row['desde']).' al '.mostrar_fecha($row['hasta'])." (Nom:".$row['nomina'].")";
  }
  else{
    $per='';
  }

  $mensaje = "";
  $exito = true;
  function generarReporteAsientosNomina ($enlace) {
    $fecha_procesado = date("d-m-Y");

    $fechaDesde = strtotime($_POST['fechaDesde']);
    $fechaHasta = strtotime($_POST['fechaHasta']);
    $fDesde= date('Y-m-d', $fechaDesde);
    $fHasta = date('Y-m-d', $fechaHasta);
    $tasa = floatval($_POST['tasa']);

    $queryData = "
    SELECT 
        p.nomina AS columnaA,
        usd.codigo AS columnaC,
        CONCAT(usd.concepto, ' del ','$fDesde',' al ','$fHasta') AS columnaD, 
        c.codigo AS columnaE,
        IF(c.cuenta = 'labor', p.cuenta_labor, c.cuenta) AS columnaF,
        IF(c.cuenta = 'labor', p.subcuenta_labor, c.subcuenta) AS columnaG,
        IF(c.tipo = 'A', usd.monto, 0) * $tasa AS columnaH,
        IF(c.tipo = 'D', usd.monto, 0) * $tasa AS columnaI,
        c.detalle AS columnaJ,
        usd.codigo AS columnaK,
        0 AS columnaL,
        p.departamento AS columnaM,
        1 AS orden,
        c.tipo AS tipo
    FROM 
    (
        SELECT 
            id,
            fecha_registro,
            codigo,
            concepto,
            monto
        FROM pagos_especiales_usd
        WHERE id = '100'
          AND substr(fecha_registro,1,10) BETWEEN '$fDesde' AND '$fHasta'

        UNION ALL

        SELECT
            id,
            fecha_registro,
            cedula AS codigo,
            desconcepto,
            monto
        FROM historico_pagos_conectiv
        WHERE id = '100'
          AND substr(fecha_registro,1,10) BETWEEN '$fDesde' AND '$fHasta'
    ) AS usd
    JOIN concepto_especiales c ON c.id = usd.id
    JOIN personal p ON p.id = usd.id AND p.codigo = usd.codigo
    WHERE c.codigo = '1838'
      AND c.tipo IN ('A','D')
    ORDER BY orden,1,3,2,tipo,4;
    ";

    $resultados = mysqli_query($enlace,$queryData) or die ("No se pudo realizar la consulta: ".$queryData.'='.mysqli_error($enlace));

    $nFilas = mysqli_num_rows($resultados);
    $row = [];
    //$row=mysqli_fetch_array($resultados)
    if($nFilas > 0){
      $row=mysqli_fetch_array($resultados);
    }
    else{
      die("No se encontraron registros");
    }

    $objPHPExcel = new PHPExcel();

    PHPExcel_Shared_Font::setAutoSizeMethod(PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT);

    // --------------------------Cabecera---------------------------------

      $objPHPExcel->getActiveSheet()->setCellValue("A1","Tipo documento");
      $objPHPExcel->getActiveSheet()->setCellValue("B1","Consecutivo");
      $objPHPExcel->getActiveSheet()->setCellValue("C1","Tercero");
      $objPHPExcel->getActiveSheet()->setCellValue("D1","Descripcion");
      $objPHPExcel->getActiveSheet()->setCellValue("E1","Concepto");
      $objPHPExcel->getActiveSheet()->setCellValue("F1","Cuenta");
      $objPHPExcel->getActiveSheet()->setCellValue("G1","SubCuenta");
      $objPHPExcel->getActiveSheet()->setCellValue("H1","Debito");
      $objPHPExcel->getActiveSheet()->setCellValue("I1","Credito");
      $objPHPExcel->getActiveSheet()->setCellValue("J1","Descripcion");
      $objPHPExcel->getActiveSheet()->setCellValue("K1","Cedula");
      $objPHPExcel->getActiveSheet()->setCellValue("L1","mmmm");
      $objPHPExcel->getActiveSheet()->setCellValue("M1","Departamento");
      $objPHPExcel->getActiveSheet()->setCellValue("N1","Cuenta & Sub Cta");
      $objPHPExcel->getActiveSheet()->setCellValue("O1","Cuenta Mayor");
      $objPHPExcel->getActiveSheet()->getStyle("A1:P1")->getFont()->setBold( true );

    // --------------------------Cabecera---------------------------------

    // ----------------------------Data-----------------------------------

      $position = 2;
      $cedula = $row["columnaK"];
      $acumuladorCredito = 0;
      $acumuladorDebito = 0;
      $colA = $row["columnaA"];
      $colC = $row["columnaC"];
      $colD = $row["columnaD"];
      $colL = $row["columnaL"];
      $colM = $row["columnaM"];
      $colOrden = $row["orden"];
      $colTipo = $row["tipo"];

      do{
        if($cedula !== $row["columnaK"]){
          $columnaB = $colA.$colD.$colM;
          $colI = $acumuladorDebito - $acumuladorCredito;
          if($colA=='200' ){
            $cuentaCierre="20C02";
            $subCuentaCierre ="0220";
            $nombreCuenta = "TOTAL NETO";
            if ($colOrden==5){
              $cuentaCierre="20C08";
              $subCuentaCierre ="GEHO";

            }
          }

          else{
            $cuentaCierre="20C01";
            $subCuentaCierre ="0210";
            $nombreCuenta = "TOTAL NETO";
            if ($colOrden==5){
              $cuentaCierre="20C08";
              $subCuentaCierre ="GESA";

            }
          }
          if ($colOrden==5){ $nombreCuenta = "DEPOSITO FIDEICOMISO"; }
          if ($colOrden==6){ $nombreCuenta = "NETO PAGADO VACACIONES"; }
          if ($colOrden==7){ $nombreCuenta = "NETO PAGADO LIQUIDACION"; }


          $objPHPExcel->getActiveSheet()->setCellValue("A".$position, $colA);
          $objPHPExcel->getActiveSheet()->setCellValue("B".$position, $columnaB);
          $objPHPExcel->getActiveSheet()->setCellValue("C".$position, $colC);
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("D".$position, $colD, PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValue("E".$position, "");
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("F".$position, $cuentaCierre, PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("G".$position, $subCuentaCierre,PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValue("H".$position, "0");
          $objPHPExcel->getActiveSheet()->setCellValue("I".$position, number_format($colI, 2, ',', '') );
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("J".$position, $nombreCuenta, PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValue("K".$position, $cedula);
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("L".$position, $colL, PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("M".$position, $colM, PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("N".$position, $cuentaCierre.$subCuentaCierre , PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("O".$position, str_pad($cuentaCierre, 8, ' ', STR_PAD_RIGHT).$subCuentaCierre, PHPExcel_Cell_DataType::TYPE_STRING);


          $cedula = $row["columnaK"];
          $acumuladorCredito = 0;
          $acumuladorDebito = 0;
          $position++;

          $colA = $row["columnaA"];
          $colC = $row["columnaC"];
          $colD = $row["columnaD"];
          $colL = $row["columnaL"];
          $colM = $row["columnaM"];
          $colOrden = $row["orden"];
        }

        $acumuladorCredito = $acumuladorCredito + $row["columnaI"];
        $acumuladorDebito = $acumuladorDebito + $row["columnaH"];

        $columnaB = $row["columnaA"].$row["columnaD"].$row["columnaM"];
        if ($colTipo == 'D') { $columnaB = $columnaB.$row["columnaM"];}
        $objPHPExcel->getActiveSheet()->setCellValue("A".$position, $row["columnaA"]);
        $objPHPExcel->getActiveSheet()->setCellValue("B".$position, $columnaB);
        $objPHPExcel->getActiveSheet()->setCellValue("C".$position, $row["columnaC"]);
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("D".$position, $row["columnaD"], PHPExcel_Cell_DataType::TYPE_STRING);
        $objPHPExcel->getActiveSheet()->setCellValue("E".$position, $row["columnaE"]);
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("F".$position, $row["columnaF"], PHPExcel_Cell_DataType::TYPE_STRING); // cuenta
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("G".$position, $row["columnaG"], PHPExcel_Cell_DataType::TYPE_STRING); // sub cuenta
        $objPHPExcel->getActiveSheet()->setCellValue("H".$position, number_format($row["columnaH"], 2, ',', '') ); // débito
        $objPHPExcel->getActiveSheet()->setCellValue("I".$position, number_format($row["columnaI"], 2, ',', '') ); // crédito
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("J".$position, $row["columnaJ"], PHPExcel_Cell_DataType::TYPE_STRING);
        $objPHPExcel->getActiveSheet()->setCellValue("K".$position, $row["columnaK"]);
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("L".$position, $row["columnaL"], PHPExcel_Cell_DataType::TYPE_STRING);
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("M".$position, $row["columnaM"], PHPExcel_Cell_DataType::TYPE_STRING);
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("N".$position, $row["columnaF"].$row["columnaG"], PHPExcel_Cell_DataType::TYPE_STRING);
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("o".$position, str_pad($row["columnaF"], 8, ' ', STR_PAD_RIGHT).$row["columnaG"], PHPExcel_Cell_DataType::TYPE_STRING);

       if($row["columnaH"]>0 || $row["columnaI"]>0) {
        $position++;
       }
      } while($row=mysqli_fetch_array($resultados));

      $columnaB = $colA.$colD.$colM;
      $colI = $acumuladorDebito - $acumuladorCredito;
      if($colA=='200' ){
        $cuentaCierre="20C02";
        $subCuentaCierre ="0220";
        $nombreCuenta = "TOTAL NETO";
        if ($colOrden==5){
          $cuentaCierre="20C08";
          $subCuentaCierre ="GEHO";
        }

      }
      else{
        $cuentaCierre="20C01";
        $subCuentaCierre ="0210";
        $nombreCuenta = "TOTAL NETO";
        if ($colOrden==5){
          $cuentaCierre="20C08";
          $subCuentaCierre ="GESA";
        }
      }
      if ($colOrden==5){ $nombreCuenta = "DEPOSITO FIDEICOMISO"; }
      if ($colOrden==6){ $nombreCuenta = "NETO PAGADO VACACIONES"; }
      if ($colOrden==7){ $nombreCuenta = "NETO PAGADO LIQUIDACION"; }


      $objPHPExcel->getActiveSheet()->setCellValue("A".$position, $colA);
      $objPHPExcel->getActiveSheet()->setCellValue("B".$position, $columnaB);
      $objPHPExcel->getActiveSheet()->setCellValue("C".$position, $colC);
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("D".$position, $colD, PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValue("E".$position, "");
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("F".$position, $cuentaCierre, PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("G".$position, $subCuentaCierre,PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValue("H".$position, "0");
      $objPHPExcel->getActiveSheet()->setCellValue("I".$position, number_format($colI, 2, ',', '') );
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("J".$position, $nombreCuenta, PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValue("K".$position, $cedula);
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("L".$position, $colL, PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("M".$position, $colM, PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("N".$position, $cuentaCierre.$subCuentaCierre, PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("O".$position, str_pad($cuentaCierre, 8, ' ', STR_PAD_RIGHT).$subCuentaCierre, PHPExcel_Cell_DataType::TYPE_STRING);

    // ----------------------------Data-----------------------------------

    // ---------------------------Auto Size-------------------------------------

      $objPHPExcel->getActiveSheet()->getColumnDimension("A")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("C")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("D")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("E")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("F")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("G")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("H")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("I")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("J")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("K")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("L")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("M")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("N")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("O")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("P")->setAutoSize(true);

    // ---------------------------Auto Size----------------------------------

    $objPHPExcel->getActiveSheet()->setTitle('CONTABILIDAD');
    $objPHPExcel->setActiveSheetIndex(0);

    $fileName = "ASIENTOS-NOMINA_usd_".$fecha_procesado.".xlsx";

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$fileName.'"');
    header('Cache-Control: max-age=0');
    header('Cache-Control: max-age=1');
    header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    header ('Cache-Control: cache, must-revalidate');
    header ('Pragma: public');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    $objWriter->save('php://output');
    exit;

  }
  function  generarReporteResumenAsientosNomina($enlace) {
    $fecha_procesado = date("d-m-Y");

    $fechaDesde = strtotime($_POST['fechaDesde']);
    $fechaHasta = strtotime($_POST['fechaHasta']);
    $fDesde= date('Y-m-d', $fechaDesde);
    $fHasta = date('Y-m-d', $fechaHasta);
    $tasa = floatval($_POST['tasa']);

    $queryData = "
    SELECT 
        p.nomina AS nomina,
        CONCAT(usd.concepto, ' del ','$fDesde',' al ','$fHasta') AS detalle_nomina, 
        TRIM(IF(c.cuenta = 'labor',
            CONCAT(RPAD(p.cuenta_labor,8,' '), p.subcuenta_labor),
            CONCAT(RPAD(c.cuenta,8,' '), c.subcuenta)
        )) AS cuenta,
        IF(SUBSTR(
            IF(c.cuenta = 'labor',
                CONCAT(RPAD(p.cuenta_labor,8,' '), p.subcuenta_labor),
                CONCAT(RPAD(c.cuenta,8,' '), c.subcuenta)
            ),1,3)!='25A',
            '6870000000',
            CONCAT('6870', RPAD(p.departamento,6,'0'))
        ) AS centro_costo,
        SUM(IF(c.tipo = 'A', usd.monto, 0)) * $tasa AS debito,
        SUM(IF(c.tipo = 'D', usd.monto, 0)) * $tasa AS credito,
        1 AS orden
    FROM 
    (
        SELECT 
            id,
            fecha_registro,
            codigo,
            concepto,
            monto
        FROM pagos_especiales_usd
        WHERE id = '100'
          AND substr(fecha_registro,1,10) BETWEEN '$fDesde' AND '$fHasta'

        UNION ALL

        SELECT
            id,
            fecha_registro,
            cedula AS codigo,
            desconcepto,
            monto
        FROM historico_pagos_conectiv
        WHERE id = '100'
          AND substr(fecha_registro,1,10) BETWEEN '$fDesde' AND '$fHasta'
    ) AS usd
    JOIN concepto_especiales c ON c.id = usd.id
    JOIN personal p ON p.id = usd.id AND p.codigo = usd.codigo
    WHERE c.codigo = '1838'
    GROUP BY nomina, detalle_nomina, cuenta, centro_costo, orden
    ORDER BY 1,2,4;
    ";

    $resultados = mysqli_query($enlace,$queryData) or die ("No se pudo realizar la consulta: ".$queryData.'='.mysqli_error($enlace));

    $nFilas = mysqli_num_rows($resultados);
    $row = [];
    //$row=mysqli_fetch_array($resultados)
    if($nFilas > 0){
      $row=mysqli_fetch_array($resultados);
    }
    else{
      die("No se encontraron registros");
    }

    $objPHPExcel = new PHPExcel();

    PHPExcel_Shared_Font::setAutoSizeMethod(PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT);

    // --------------------------Cabecera---------------------------------

      $objPHPExcel->getActiveSheet()->setCellValue("A1","TN");
      $objPHPExcel->getActiveSheet()->setCellValue("B1","Mayor");
      $objPHPExcel->getActiveSheet()->setCellValue("C1","C COSTO");
      $objPHPExcel->getActiveSheet()->setCellValue("D1","DEBITO");
      $objPHPExcel->getActiveSheet()->setCellValue("E1","CREDITO");
      $objPHPExcel->getActiveSheet()->setCellValue("F1","CONCEPTO");
      $objPHPExcel->getActiveSheet()->getStyle("A1:F1")->getFont()->setBold( true );

    // --------------------------Cabecera---------------------------------

    // ----------------------------Data-----------------------------------

      $position = 2;
      $acumuladorCredito = 0;
      $acumuladorDebito = 0;
      $colNomina = $row["nomina"];
      $colMayor = $row["cuenta"];
      $colCosto = $row["centro_costo"];
      $colDB = number_format($row["debito"], 2, ',', '');
      $colCR = number_format($row["credito"], 2, ',', '');
      $colConcepto = $row["detalle_nomina"];
      $colOrden = $row["orden"];
      

      do{
        if($colConcepto !== $row["detalle_nomina"]){
      
         // $colCierreDebito = $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
         // $colCierreCredito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
         $colCierreDebito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
         $colCierreCredito =  $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
          if($colNomina=='200' ){
            $cuentaCierre="20C02   0220";
            $nombreCuenta = "6870000000";
            if ($colOrden==5){
              $cuentaCierre="20C08   GEHO";
            }
          }

          else{
            $cuentaCierre="20C01   0210";
            $nombreCuenta = "6870000000";
            if ($colOrden==5){
              $cuentaCierre="20C08   GESA";
            }
          }

         
 

          $objPHPExcel->getActiveSheet()->setCellValue("A".$position, $colNomina);
          $objPHPExcel->getActiveSheet()->setCellValueExplicit("B".$position, $cuentaCierre,PHPExcel_Cell_DataType::TYPE_STRING);
          $objPHPExcel->getActiveSheet()->setCellValue("C".$position, $nombreCuenta);
          $objPHPExcel->getActiveSheet()->setCellValue("D".$position, $colCierreDebito );
          $objPHPExcel->getActiveSheet()->setCellValue("E".$position, $colCierreCredito );
          $objPHPExcel->getActiveSheet()->setCellValue("F".$position, $colConcepto);


    
          $acumuladorCredito = 0;
          $acumuladorDebito = 0;
          $position++;

          $colNomina = $row["nomina"];
          $colMayor = $row["cuenta"];
          $colCosto = $row["centro_costo"];
          $colDB = number_format($row["debito"], 2, ',', '');
          $colCR = number_format($row["credito"], 2, ',', '');
          $colOrden = $row["orden"];
          $colConcepto = $row["detalle_nomina"];

        }

        $acumuladorCredito = $acumuladorCredito + $row["credito"];
        $acumuladorDebito = $acumuladorDebito + $row["debito"];
        $auxDebito = $row["debito"] >= $row["credito"] ?  $row["debito"] - $row["credito"] : 0;
        $auxCredito = $row["debito"] < $row["credito"] ?  $row["credito"] - $row["debito"] : 0;
        if(substr($row["cuenta"],0,3)!='25A'){
          $auxCuenta = "6870000000";
        }
        else{
          $auxCuenta =$row["centro_costo"];
        }

        $objPHPExcel->getActiveSheet()->setCellValue("A".$position, $row["nomina"]);
        $objPHPExcel->getActiveSheet()->setCellValueExplicit("B".$position,$row["cuenta"], PHPExcel_Cell_DataType::TYPE_STRING);
        $objPHPExcel->getActiveSheet()->setCellValue("C".$position, $auxCuenta);
        $objPHPExcel->getActiveSheet()->setCellValue("D".$position, number_format($auxDebito, 2, ',', ''));
        $objPHPExcel->getActiveSheet()->setCellValue("E".$position, number_format($auxCredito, 2, ',', ''));
        $objPHPExcel->getActiveSheet()->setCellValue("F".$position, $row["detalle_nomina"]); 

       if( $auxDebito>0 || $auxCredito>0) {
        $position++;
       }
      } while($row=mysqli_fetch_array($resultados));

      
    
        //   $colCierreDebito = $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
        //   $colCierreCredito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
        $colCierreDebito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
        $colCierreCredito = $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
      if($colNomina=='200' ){
        $cuentaCierre="20C02   0220";
        $nombreCuenta = "6870000000";
        if ($colOrden==5){
          $cuentaCierre="20C08   GEHO";
        }

      }
      else{
        $cuentaCierre="20C01   0210";
        $subCuentaCierre ="0210";
        $nombreCuenta = "6870000000";
        if ($colOrden==5){
          $cuentaCierre="20C08   GESA";
        }
      }
     


      $objPHPExcel->getActiveSheet()->setCellValue("A".$position, $colNomina);
      $objPHPExcel->getActiveSheet()->setCellValueExplicit("B".$position, $cuentaCierre, PHPExcel_Cell_DataType::TYPE_STRING);
      $objPHPExcel->getActiveSheet()->setCellValue("C".$position, $nombreCuenta);
      $objPHPExcel->getActiveSheet()->setCellValue("D".$position,number_format($colCierreDebito,2, ',', ''));
      $objPHPExcel->getActiveSheet()->setCellValue("E".$position,number_format($colCierreCredito,2, ',', ''));
      $objPHPExcel->getActiveSheet()->setCellValue("F".$position, $colConcepto); 

    // ----------------------------Data-----------------------------------

    // ---------------------------Auto Size-------------------------------------

      $objPHPExcel->getActiveSheet()->getColumnDimension("A")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("C")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("D")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("E")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("F")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("G")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("H")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("I")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("J")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("K")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("L")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("M")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("N")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("O")->setAutoSize(true);
      $objPHPExcel->getActiveSheet()->getColumnDimension("P")->setAutoSize(true);

    // ---------------------------Auto Size----------------------------------

    $objPHPExcel->getActiveSheet()->setTitle('CONTABILIDAD');
    $objPHPExcel->setActiveSheetIndex(0);

    $fileName = "RESUMEN-ASIENTOS-NOMINA".$fecha_procesado.".xlsx";

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$fileName.'"');
    header('Cache-Control: max-age=0');
    header('Cache-Control: max-age=1');
    header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    header ('Cache-Control: cache, must-revalidate');
    header ('Pragma: public');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    $objWriter->save('php://output');
    exit;

  }
  function  generarReporteResumenAsientosNominaTXT($enlace) {
   
    $fecha_procesado = date("Y-m-d H:i:s");

    $fechaDesde = strtotime($_POST['fechaDesde']);
    $fechaHasta = strtotime($_POST['fechaHasta']);
    $fDesde= date('Y-m-d', $fechaDesde);
    $fHasta = date('Y-m-d', $fechaHasta);
    $tasa = floatval($_POST['tasa']);
    $consecutivo = intval($_POST['consecutivo'],10);

    $queryData = "
    SELECT 
        p.nomina AS nomina,
        CONCAT(usd.concepto, ' del ','$fDesde',' al ','$fHasta') AS detalle_nomina, 
        TRIM(IF(c.cuenta = 'labor',
            CONCAT(RPAD(p.cuenta_labor,8,' '), p.subcuenta_labor),
            CONCAT(RPAD(c.cuenta,8,' '), c.subcuenta)
        )) AS cuenta,
        IF(SUBSTR(
            IF(c.cuenta = 'labor',
                CONCAT(RPAD(p.cuenta_labor,8,' '), p.subcuenta_labor),
                CONCAT(RPAD(c.cuenta,8,' '), c.subcuenta)
            ),1,3)!='25A',
            '6870000000',
            CONCAT('6870', RPAD(p.departamento,6,'0'))
        ) AS centro_costo,
        SUM(IF(c.tipo = 'A', usd.monto, 0)) * $tasa AS debito,
        SUM(IF(c.tipo = 'D', usd.monto, 0)) * $tasa AS credito,
        1 AS orden
    FROM 
    (
        SELECT 
            id,
            fecha_registro,
            codigo,
            concepto,
            monto
        FROM pagos_especiales_usd
        WHERE id = '100'
          AND substr(fecha_registro,1,10) BETWEEN '$fDesde' AND '$fHasta'

        UNION ALL

        SELECT
            id,
            fecha_registro,
            cedula AS codigo,
            desconcepto,
            monto
        FROM historico_pagos_conectiv
        WHERE id = '100'
          AND substr(fecha_registro,1,10) BETWEEN '$fDesde' AND '$fHasta'
    ) AS usd
    JOIN concepto_especiales c ON c.id = usd.id
    JOIN personal p ON p.id = usd.id AND p.codigo = usd.codigo
    WHERE c.codigo = '1838'
    GROUP BY nomina, detalle_nomina, cuenta, centro_costo, orden
    ORDER BY 1,2,4;
    ";

    $resultados = mysqli_query($enlace,$queryData) or die ("No se pudo realizar la consulta: ".$queryData.'='.mysqli_error($enlace));

    $nFilas = mysqli_num_rows($resultados);
    $row = [];
    //$row=mysqli_fetch_array($resultados)
    if($nFilas > 0){
      $row=mysqli_fetch_array($resultados);
    }
    else{
      die("No se encontraron registros");
    }

    
    // ----------------------------Data-----------------------------------

      $position = 1;
      $acumuladorCredito = 0;
      $acumuladorDebito = 0;
      $colNomina = $row["nomina"];
      $colMayor = $row["cuenta"];
      $colCosto = $row["centro_costo"];
      $colDB = $row["debito"];
      $colCR = $row["credito"];
      $colConcepto = $row["detalle_nomina"];
      $colOrden = $row["orden"];
   
      $f = "ASIENTOS_NOMINA_".$fDesde."-".$fHasta."_".$fecha_procesado.".txt";
      $fileTXT = fopen("Nominas_usd/".$f,"w+");

    
 
      do{
        if($colConcepto !== $row["detalle_nomina"]){
      
         // $colCierreDebito = $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
         // $colCierreCredito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
         $colCierreDebito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
         $colCierreCredito =  $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
          if($colNomina=='200' ){
            $cuentaCierre="20C02   ";
            $subCuentaCierre="0220";
            $nombreCuenta = "6870000000";
            if ($colOrden==5){
              $cuentaCierre="20C08   ";
              $subCuentaCierre="GEHO";
            }
          }

          else{
            $cuentaCierre="20C01   ";
            $subCuentaCierre="0210";
            $nombreCuenta = "6870000000";
            if ($colOrden==5){
              $cuentaCierre="20C08   ";
              $subCuentaCierre="GESA";
            }
          }
          $monto =str_pad(number_format($colCierreDebito+$colCierreCredito,2,".",""),16,"0",STR_PAD_LEFT);
          //$signo = $colCierreCredito > 0 ? ' ' :'-';  ///** Gerardo 26/08/2022 */
          $signo = $colCierreCredito <= 0 ? ' ' :'-';
          $comprobante = $colNomina == '200' ? '0122' : '0034';
		  
		  $todo_comprobante =$comprobante.date('ym', $fechaHasta).substr(str_pad($consecutivo,2,"0",STR_PAD_LEFT),0,2);

          $linea ="6870 ".$comprobante.date('ym', $fechaHasta).substr(str_pad($consecutivo,2,"0",STR_PAD_LEFT),0,2).$fHasta.str_pad($position,11,"0",STR_PAD_LEFT).str_pad(" ",10)."ACT 6870 ";
          $linea = $linea.date('Y0m', $fechaHasta).$fHasta.str_pad(" ",10).str_pad("PAY",22).$fHasta."SAIREH  CONTABILIDAD GENERAL VENEZUELAEXT";
          $linea = $linea.$cuentaCierre.$nombreCuenta.str_pad(" ",26).$subCuentaCierre." ".str_pad("VES   ",69," ",STR_PAD_LEFT);
          $linea = $linea.$monto.$signo."0000000000000.00".str_pad(" ",21)."000000000CONTAB VENEZUELA              ".$fHasta.str_pad("VES",8).$monto.$signo;
          $linea = $linea."0000000000000000000000.00000000                     ".$fHasta." EXT                                                                    .";
          fwrite($fileTXT,$linea.PHP_EOL);     


          $acumuladorCredito = 0;
          $acumuladorDebito = 0;
          $position++;

          $colNomina = $row["nomina"];
          $colMayor = $row["cuenta"];
          $colCosto = $row["centro_costo"];
          $colDB = $row["debito"];
          $colCR = $row["credito"];
          $colOrden = $row["orden"];
          $colConcepto = $row["detalle_nomina"];

        }

        $acumuladorCredito = $acumuladorCredito + $row["credito"];
        $acumuladorDebito = $acumuladorDebito + $row["debito"];
        $auxDebito = $row["debito"] >= $row["credito"] ?  $row["debito"] - $row["credito"] : 0;
        $auxCredito = $row["debito"] < $row["credito"] ?  $row["credito"] - $row["debito"] : 0;
        if(substr($row["cuenta"],0,3)!='25A'){
          $auxCuenta = "6870000000";
        }
        else{
          $auxCuenta =$row["centro_costo"];
        }

        
       if( $auxDebito>0 || $auxCredito>0) {
        $monto =str_pad(number_format($auxDebito+$auxCredito,2,".",""),16,"0",STR_PAD_LEFT);
        //$signo = $auxCredito>0 ? ' ' :'-';///** Gerardo 26/08/2022 */
        $signo = $auxCredito <= 0 ? ' ' :'-';
        $comprobante = $row["nomina"] == '200' ? '0122' : '0034';
        $linea ="6870 ".$comprobante.date('ym', $fechaHasta).substr(str_pad($consecutivo,2,"0",STR_PAD_LEFT),0,2).$fHasta.str_pad($position,11,"0",STR_PAD_LEFT).str_pad(" ",10)."ACT 6870 ";
        $linea = $linea.date('Y0m', $fechaHasta).$fHasta.str_pad(" ",10).str_pad("PAY",22).$fHasta."SAIREH  CONTABILIDAD GENERAL VENEZUELAEXT";
        $linea = $linea.str_pad(substr($row["cuenta"],0,8),8).$auxCuenta.str_pad(" ",26).str_pad(substr($row["cuenta"],8,4),4)." ".str_pad("VES   ",69," ",STR_PAD_LEFT);
        $linea = $linea.$monto.$signo."0000000000000.00".str_pad(" ",21)."000000000CONTAB VENEZUELA              ".$fHasta.str_pad("VES",8).$monto.$signo;
        $linea = $linea."0000000000000000000000.00000000                     ".$fHasta." EXT                                                                    .";
        fwrite($fileTXT,$linea.PHP_EOL);
        $position++;
       }
      } while($row=mysqli_fetch_array($resultados));
      
      
    
        //   $colCierreDebito = $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
        //   $colCierreCredito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
        $colCierreDebito = $acumuladorDebito < $acumuladorCredito ? $acumuladorCredito - $acumuladorDebito : 0 ;
        $colCierreCredito = $acumuladorDebito >= $acumuladorCredito ? $acumuladorDebito -  $acumuladorCredito : 0 ;
      if($colNomina=='200' ){
        $cuentaCierre="20C02   0220";
        $nombreCuenta = "6870000000";
        if ($colOrden==5){
          $cuentaCierre="20C08   GEHO";
        }

      }
      else{
        $cuentaCierre="20C01   0210";
        $subCuentaCierre ="0210";
        $nombreCuenta = "6870000000";
        if ($colOrden==5){
          $cuentaCierre="20C08   GESA";
        }
      }
      $monto =str_pad(number_format($colCierreDebito+$colCierreCredito,2,".",""),16,"0",STR_PAD_LEFT);
      //$signo = $colCierreCredito >0 ? ' ' :'-';///** Gerardo 26/08/2022 */
      $signo = $colCierreCredito <= 0 ? ' ' :'-';
      $comprobante = $colNomina == '200' ? '0122' : '0034';
      $linea ="6870 ".$comprobante.date('ym', $fechaHasta).substr(str_pad($consecutivo,2,"0",STR_PAD_LEFT),0,2).$fHasta.str_pad($position,11,"0",STR_PAD_LEFT).str_pad(" ",10)."ACT 6870 ";
      $linea = $linea.date('Y0m', $fechaHasta).$fHasta.str_pad(" ",10).str_pad("PAY",22).$fHasta."SAIREH  CONTABILIDAD GENERAL VENEZUELAEXT";
      $linea = $linea.str_pad(substr($cuentaCierre,0,8),8).$nombreCuenta.str_pad(" ",26).str_pad(substr($cuentaCierre,8,4),4)." ".str_pad("VES   ",69," ",STR_PAD_LEFT);
      $linea = $linea.$monto.$signo."0000000000000.00".str_pad(" ",21)."000000000CONTAB VENEZUELA              ".$fHasta.str_pad("VES",8).$monto.$signo;
      $linea = $linea."0000000000000000000000.00000000                     ".$fHasta." EXT                                                                    .";
      fwrite($fileTXT,$linea.PHP_EOL);
      fclose($fileTXT);
     
    // ----------------------------Data-----------------------------------
    
    //fclose($fileTXT);
    $base64 = base64_encode(file_get_contents("Nominas_usd/".$f));
    $base64Response = file_put_contents("Nominas_usd/".$f."encode", $base64);
    $queryData = "SELECT * from asientos_usd where desde ='".$fDesde."' AND hasta = '".$fHasta."';";
    $resultado = mysqli_query($enlace,$queryData) or die ("No se pudo realizar la consulta: ".$queryData.'='.mysqli_error($enlace));
    $rowCount=mysqli_num_rows($resultado);
    
    if ($rowCount == 0) {
      $insert = "INSERT INTO asientos_usd (id, desde, hasta, archivo, fecha_proceso)  VALUES (100,'".$fDesde."','".$fHasta."','Nominas_usd/".$f."','".$fecha_procesado."');";
    }
    else{
      $insert = "UPDATE asientos_usd SET fecha_proceso ='$fecha_procesado', archivo='Nominas_usd/".$f."' WHERE desde ='".$fDesde."' AND hasta = '".$fHasta."';";
    }

    $resultado = mysqli_query($enlace,($insert)) or die ("No se pudo realizar la consulta: ".$insert.'='.mysqli_error($enlace));

    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=$f");
    header("Content-Type: text/plain");
    header("Content-Transfer-Encoding: binary");
    readfile("Nominas_usd/".$f);
    exit;

  }
  $mensaje = "";
  $exito = true;
  if ($_POST['treporte']==1) {
    $mensaje = "";
    $exito = true;
    $fecha_procesado = date("d-m-Y");
    $tasa = floatval($_POST['tasa']);

    $fDesde = strtotime($_POST['fechaDesde']);
    $fHasta = strtotime($_POST['fechaHasta']);

    if ($fDesde && $fHasta) {
      $fechaDesde = date('Y-m-d', $fDesde);
      $fechaHasta = date('Y-m-d', $fHasta);
      $mesDesde = date('m', $fDesde);
      $mesHasta = date('m', $fHasta);
      if($fechaHasta < $fechaDesde){
        $mensaje = "Fecha hasta debe ser mayor que fecha desde";
        $exito = false;
      }
      else{
         if ( $tasa <= 0) {
          $mensaje = "Verifica tasa de Cambio";
          $exito = false;
         }
         else {
          generarReporteAsientosNomina($enlace);
          $exito = true;
          $mensaje = "Reporte generado correctamente";
         }
        }

    } else {
      $exito = false;
      $mensaje = "Fechas invalidas";
    }
  }
  if ($_POST['treporte']==2) {
    $mensaje = "";
    $exito = true;
    $fecha_procesado = date("d-m-Y");
    $tasa = floatval($_POST['tasa']);

    $fDesde = strtotime($_POST['fechaDesde']);
    $fHasta = strtotime($_POST['fechaHasta']);

    if ($fDesde && $fHasta) {
      $fechaDesde = date('Y-m-d', $fDesde);
      $fechaHasta = date('Y-m-d', $fHasta);
      $mesDesde = date('m', $fDesde);
      $mesHasta = date('m', $fHasta);
      if($fechaHasta < $fechaDesde){
        $mensaje = "Fecha hasta debe ser mayor que fecha desde";
        $exito = false;
      }
      else{
        if ( $tasa <= 0) {
          $mensaje = "Verifica tasa de Cambio";
          $exito = false;
         }
         else{
          generarReporteResumenAsientosNomina($enlace);
          $exito = true;
          $mensaje = "Reporte generado correctamente";
        }
      }

    } else {
      $exito = false;
      $mensaje = "Fechas invalidas";
    }
  }
  if ($_POST['treporte']==3) {
    $mensaje = "";
    $exito = true;
    $fecha_procesado = date("d-m-Y");

    $fDesde = strtotime($_POST['fechaDesde']);
    $fHasta = strtotime($_POST['fechaHasta']);
    $consecutivo = intval($_POST['consecutivo'],10);
    $tasa = floatval($_POST['tasa']);
    
    

    if ($fDesde && $fHasta) {
      $fechaDesde = date('Y-m-d', $fDesde);
      $fechaHasta = date('Y-m-d', $fHasta);
      $mesDesde = date('m', $fDesde);
      $mesHasta = date('m', $fHasta);
      if($fechaHasta < $fechaDesde){
        $mensaje = "Fecha hasta debe ser mayor que fecha desde";
        $exito = false;
      }
      else{
        if($consecutivo==0 || $consecutivo < 0 || $consecutivo>99) {
          $mensaje = "Error en consecutivo. (01 - 99)";
          $exito = false;
        }
        else{
          if ( $tasa <= 0) {
            $mensaje = "Verifica tasa de Cambio";
            $exito = false;
           }
           else{
          generarReporteResumenAsientosNominaTXT($enlace);
          $exito = true;
          $mensaje = "Reporte generado correctamente";
           }
        }
      }

    } else {
      $exito = false;
      $mensaje = "Fechas invalidas";
    }
  }
  if ($_POST['treporte']==4 && $_POST['aprobar']=='Aprobar Archivo') {
    $posicion = strpos($_POST['valorArchivo'], '-');
    if ($posicion !== false) {
      
      $valor = intval(substr($_POST['valorArchivo'], 0, $posicion));
      $queryUpdate = "UPDATE asientos_usd SET aprobado = 1, respuesta = 'Aprobado para contabilizar' WHERE valor =" .  $valor . ";";
      mysqli_query($enlace, $queryUpdate);
      $mensaje = 'El archivo fue aprobado satisfactoriamente';
      $exito = true;
	 send_email();		
    }
    else{
    $mensaje = "No se encuentra Asiento ".$_POST['valorArchivo'];
    $exito = false;
    }
  }

  // IMPORTANTE, debe ir luego de todas las generaciones de archivos posibles
  menu();
  // IMPORTANTE, debe ir luego de todas las generaciones de archivos posibles

  ?>
		<br>
    <table border=0 cellpadding=0 cellspacing=0 width='100%'>
			<tr>
				<td  width='100%' align='left'><font size=2 color='black' face='verdana'>Empresa: <b><?echo $_SESSION['empresa_validar'];?></b>  - Per&iacute;odo: <b><font color=red><?echo $per;?></font></b>  -  Usuario: <b><?echo $_SESSION['nombre_validar'];?></b></font></td>
			</tr>
		</table>
    <hr>
    <h1 align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size=4>Generar Reportes Contables Pagos USD Bco Mercantil</font></h1>
    <font face='verdana' size=2>
      <br><br>
      <form name='entrada' action = '<?php echo $_SERVER['PHP_SELF']; ?>' method='POST' enctype='multipart/form-data'>

        <table align='center'>
          <?php
            if ($per!='') { ?>
              <tr>
                <td align='righta'>Per&iacute;odo Actual:</td>
                <td align='left'><font color=red> <?php echo $per; ?> </font></td>
              </tr>
              <?php
            }
          ?>

          <!-- Tipo de Reporte a Generar -->
          <tr id="filaTipoArchivo" class="">
            <td align='righta'>Tipo de Archivo / Acción:</td>
            <td align='left'>
              <select style='width:300px; border-radius:8px; padding:4px;' id="tipoReporte" onchange="onSelectChange()" name='treporte'>
                <option value='1'>ASIENTOS DE NOMINA (EXCEL)</option>
                <option value='2'>RESUMEN DE ASIENTOS (EXCEL)</option>
                <option value='3'>RESUMEN DE ASIENTOS (TXT)</option>
                <option value='4'>APROBAR ASIENTO</option>

                <!-- <option value='2'>PRUEBA (EXCEL)</option>
                <option value='3'>OTRA PRUEBA (EXCEL)</option> -->
              </select>
            </td>
          </tr>

          <!-- Fecha Desde -->
          <tr id="filaFechaInicio" class="">
            <td align = ''> <font color=red>Fecha Desde </font></td>
            <td align = 'left'>
              <input type="date" style='width:300px; border-radius:8px; padding:4px;' name="fechaDesde">
            </td>
          </tr>

          <!-- Fecha Hasta -->
          <tr id="filaFechaFin" class="">
            <td align = ''> <font color=red>Fecha Hasta </font></td>
            <td align = 'left'>
              <input type="date" style='width:300px; border-radius:8px; padding:4px;' name="fechaHasta">
            </td>
          </tr>

          <!-- Periodo Desde -->
          <?php
            $consulta = mysqli_query($enlace,"SELECT * FROM periodo WHERE id='".$_SESSION['id_validar']."' order by nomina,periodo DESC") or die('No se pudo consultar los periodos (1): ' . mysqli_error($enlace));
            $numr = mysqli_num_rows($consulta);
          ?>
          <tr id="filaPeriodoDesde" class="hidden">
            <td align = ''> <font color=red>Per&iacute;odo Desde: </font></td>
            <td align = 'left'>
              <select style='width:300px;' name = 'per1'>
                <?php
                  for ($x=1;$x<=$numr;$x++) {
                    $row1 = mysqli_fetch_array($consulta);
                    if ($x!=1) {
                      echo "<option>".$row1['periodo']." - Nomina:".$row1['nomina']." - ".$row1['desde']." al ".$row1['hasta']."</option>";
                    }
                  }
                ?>
              </select>
            </td>
          </tr>

          <!-- Periodo Hasta -->
          <?php
            $consulta = mysqli_query($enlace,"SELECT * FROM periodo WHERE id='".$_SESSION['id_validar']."' order by nomina,periodo DESC") or die('No se pudo consultar los periodos (2): ' . mysqli_error($enlace));
            $numr = mysqli_num_rows($consulta);
          ?>
          <tr id="filaPeriodoHasta" class="hidden">
            <td align = ''> <font color=red>Per&iacute;odo Hasta: </font></td>
            <td align = 'left'>
              <select style='width:300px;' name = 'per2'>
                <?php
                  for ($x=1;$x<=$numr;$x++) {
                    $row1 = mysqli_fetch_array($consulta);
                    if ($x!=1) {
                      echo "<option>".$row1['periodo']." - Nomina:".$row1['nomina']." - ".$row1['desde']." al ".$row1['hasta']."</option>";
                    }
                  }
                ?>
              </select>
            </td>
          </tr>

          <!-- Gerencia -->
          <?php
            $idValidar=$_SESSION['id_validar'];
            $consulta = mysqli_query($enlace,"SELECT * FROM tablas WHERE tabla=ucase('GERENCIA') AND id = '$idValidar' ORDER BY codigo,detalle") or die('No se pudo consultar las gerencias: ' . mysqli_error($enlace));
            $resultado = mysqli_num_rows($consulta);
          ?>
          <tr id="filaGerencia" class="hidden">
            <td align = 'righta'> Gerencia: </td>
            <td align = 'left'>
              <select style='width:300px;' name = 'gerencia'>
                <option></option>
                <?php
                  if ($resultado != 0) {
                    for ($i=0;$i<$resultado;$i++) {
                      $row1 = mysqli_fetch_array($consulta);
                      echo "<option width = '30%'>".$row1['codigo']." - ".$row1['detalle']."</option>";
                    }
                  }
                ?>
              </select>
            </td>
          </tr>

          <!-- Division -->
          <?php
            $idValidar=$_SESSION['id_validar'];
            $consulta = mysqli_query($enlace,"SELECT * FROM tablas WHERE tabla=ucase('DIVISION') AND id='$id' ORDER BY codigo,detalle") or die('No se pudo consultar las divisiones: ' . mysqli_error($enlace));
            $resultado = mysqli_num_rows($consulta);
          ?>
          <tr id="filaDivision" class="hidden">
            <td align = 'righta'> Divisi&oacute;n: </td>
            <td align = 'left'>
              <select style='width:300px;' name = 'division'>
                <option></option>
                <?php
                  if ($resultado != 0) {
                    for ($i=0;$i<$resultado;$i++) {
                      $row1 = mysqli_fetch_array($consulta);
                      echo "<option width = '30%'>".$row1['codigo']." - ".$row1['detalle']."</option>";
                    }
                  }
                ?>
              </select>
            </td>
          </tr>

          <!-- Departamento -->
          <?php
            $id = $_SESSION["id_validar"];
            $consulta = mysqli_query($enlace,"SELECT * FROM tablas WHERE tabla=ucase('DEPARTAMENTO') AND id='$id' ORDER BY codigo,detalle") or die('No se pudo consultar los departamentos: ' . mysqli_error($enlace));
            $resultado = mysqli_num_rows($consulta);
          ?>
          <tr id="filaDepartamento" class="hidden">
            <td align = 'righta'> Departamento: </td>
            <td align = 'left'>
              <select style='width:300px;' name = 'departamento'>
                <option></option>
                <?php
                  if ($resultado != 0) {
                    for ($i=0;$i<$resultado;$i++) {
                      $row1 = mysqli_fetch_array($consulta);
                      echo "<option width = '30%'>".$row1['codigo']." - ".$row1['detalle']."</option>";
                    }
                  }
                ?>
              </select>
            </td>
          </tr>

          <tr id="consecutivo" class="hidden">
            <td align = 'righta'> Consecutivo: </td>
              <td align = 'left'>
              <input type="number" style='width:300px; border-radius:8px; padding:4px;' name='consecutivo' maxlength = '2' onKeypress="if (event.keyCode < 0 || event.keyCode > 99) event.returnValue = false;">
          </td>

          <tr id="tasa" class="">
            <td align='righta'> Tasa cambio: </td>
              <td align='left'>
              <input type="text" style='width:300px; border-radius:8px; padding:4px;' name='tasa' maxlength='10' onkeypress="return event.charCode >= 48 && event.charCode <= 57 || event.charCode == 46">
            </td>
          </tr>

          <?php
            $consulta = mysqli_query($enlace," SELECT valor, archivo FROM asientos_usd WHERE aprobado = 0 and enviado = 0;") or die('No se pudo consultar los periodos (1): ' . mysqli_error($enlace));
            $numr = mysqli_num_rows($consulta);
          ?>
          <tr id="nombreArchivo" class="hidden">
            <td align = 'righta'> Seleccione Archivo: </td>
            <td align = 'left'>
              <select style='width:300px; border-radius:8px; padding:4px;' name = 'valorArchivo'>
                <option></option>
                <?php
                  if ( $numr != 0) {
                    for ($i=0;$i<$numr;$i++) {
                      $row1 = mysqli_fetch_array($consulta);
                      echo "<option width = '30%'>".$row1['valor']." - ".$row1['archivo']."</option>";
                    }
                  }
                ?>
              </select>
            </td>
          </tr>

          

          <?php
            if($mensaje != ""){
              $claseAlerta = $exito ? "alert-success" : "alert-danger";
              ?>
              <tr>
                <td colspan="4">
                  <div class="alert text-center <?php if($mensaje != "") echo $claseAlerta; ?>" >
                    <?php echo $mensaje; ?>
                  </div>
              </tr>
            <?php
            $mensaje = "";
            }
          ?>
          <tr>
            <td align='left'></tr>
            <td colspan='4'  id="generar" class="" align='center'>
              <input name='ver' type='submit' class='boton' value='GENERAR REPORTE'>
            </td>
            <td colspan='4' id="archivo" class="hidden" align='center'>
              <input name='aprobar' type='submit' class='boton' value='Aprobar Archivo'>
            </td>
          </tr>
        </table>
      </form>
    </font>

    <script>
      const selectElement = document.querySelector('#tipoReporte');

      selectElement.addEventListener('change', (event) => {
        const filaFechaInicio = document.querySelector('#filaFechaInicio');
        const filaFechaFin = document.querySelector('#filaFechaFin');

        const filaPeriodoDesde = document.querySelector('#filaPeriodoDesde');
        const filaPeriodoHasta = document.querySelector('#filaPeriodoHasta');
        const filaGerencia = document.querySelector('#filaGerencia');
        const filaDivision = document.querySelector('#filaDivision');
        const filaDepartamento = document.querySelector('#filaDepartamento');
        

        if (event.target.value == "1" || event.target.value == "2" || event.target.value == "3"){
          filaPeriodoDesde.classList.add("hidden");
          filaPeriodoHasta.classList.add("hidden");
          filaGerencia.classList.add("hidden");
          filaDivision.classList.add("hidden");
          filaDepartamento.classList.add("hidden");
          filaFechaInicio.classList.remove("hidden");
          filaFechaFin.classList.remove("hidden");
          consecutivo.classList.remove("hidden");
          tasa.classList.remove("hidden");
          nombreArchivo.classList.add("hidden");
          archivo.classList.add("hidden");

          generar.classList.remove("hidden")
          
        }
        else{
          // filaPeriodoDesde.classList.remove("hidden");
          // filaPeriodoHasta.classList.remove("hidden");
          // filaGerencia.classList.remove("hidden");
          // filaDivision.classList.remove("hidden");
          // filaDepartamento.classList.remove("hidden");
          filaFechaInicio.classList.add("hidden");
          filaFechaFin.classList.add("hidden");
          consecutivo.classList.add("hidden");
          tasa.classList.add("hidden");
          archivo.classList.remove("hidden");
          nombreArchivo.classList.remove("hidden");
          generar.classList.add("hidden")
        }
       // if (event.target.value == "3" ) archivo.classList.remove("hidden");



      });
    </script>

	<style>
	.boton {
		border-radius: 8px;      /* Bordes redondeados */
		padding: 8px 16px;       /* Más espacio interno */
		border: none;            /* Quita el borde feo por defecto */
		cursor: pointer;         /* Mano al pasar */
		transition: 0.2s ease;   /* Animación suave */
		}

		.boton:hover {
		transform: scale(1.03);  /* Efecto sutil al pasar el mouse */
		}

	</style>


  </body>
</html>
