<?php session_start();

use PHPMailer\PHPMailer\PHPMailer;

date_default_timezone_set('America/Bogota');
//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');
}

include "fphp.php";
$enlace = cargar_conexion();
$consulta = mysqli_query($enlace,"select * from periodo where id='" . $_SESSION['id_validar'] . "' order by nomina,periodo desc limit 1");
if (mysqli_num_rows($consulta) != 0) {
    $row = mysqli_fetch_array($consulta);
    $_SESSION['per_validar'] = mostrar_fecha($row['desde']) . ' al ' . mostrar_fecha($row['hasta']) . " (Nom:" . $row['nomina'] . ")";
} else {
    $_SESSION['per_validar'] = '';
}

menu();
$usuario = $_SESSION['usuario_validar'];
$nombre_usuario = $_SESSION['nombre_validar']; //Nombre del usuario que aprueba

//Obtengo la fecha desde que inicia el periodo
$fecha_inicio_periodo = $row['desde'];
$fecha_fin_periodo = $row['hasta'];
$fecha_hoy = date('Y-m-d');

echo "<font face='verdana' size=2>";

if (isset($_POST['aprobarPagoExtraordinario'])) {
    //Recibe todas las variables por POST
    extract($_POST);
	
	if ($usuario == 'ASALAZ14' || $usuario == 'JMONTI13') {
		 $query_update = "UPDATE pagos_especiales_usd SET estado_aprobacion = 'Verificado' WHERE  estado_aprobacion = 'Por Aprobar' ";
        $result_update = mysqli_query($enlace,$query_update);
		
		//EnvÃ­a correo
        ////Para el correo desde aqui parametros y varibles generales
        require 'hcm_files/PHPMailer/src/Exception.php';
        require 'hcm_files/PHPMailer/src/PHPMailer.php';
        require 'hcm_files/PHPMailer/src/SMTP.php';

        $mail = new PHPMailer(true);
        //Servidor de correo configuracion
        //$mail->SMTPDebug = 2; //Enable verbose debug output
        $mail->isSMTP(); // Set mailer to use SMTP
        $mail->Host = 'ssl://www.saireh-nomina.com'; // Specify main and backup SMTP servers
        $mail->SMTPAuth = true; // Enable SMTP authentication
        $mail->Username = 'info@saireh-nomina.com'; // SMTP username
        $mail->Password = 'c0n5ul74rh3'; // SMTP password
        $mail->SMTPSecure = 'tls'; // Enable TLS encryption, [ICODE]ssl[/ICODE] also accepted
        $mail->Port = 465; // TCP port to connect to
        ///envio de correos hasta aqui

        //Recipients
        $mail->setFrom('info@saireh-nomina.com', 'Saireh Nomina Ford');
        //$mail->addAddress('GSAYAGO1@FORD.COM','Gustavo Sayago'); S epuede personalizar el nombre de ldestiantario
        ////SIEMPRE deben escribirse en mayÃÂÃÂºsculas las direcciones de correo
		$mail->addAddress('ASALAZ14@FORD.COM'); ///Una linea por cada destinatario
        $mail->addAddress('GCURBELO@FORD.COM'); ///Una linea por cada destinatario
        $mail->addAddress('BSALAZA3@FORD.COM');///Una linea por cada destinatario
        //$mail->addAddress('GSAYAGO1@FORD.COM'); ///Una linea por cada destinatario
        $mail->addAddress('MCALLES1@FORD.COM','Maria Calles'); ///Una linea por cada destinatario
        //$mail->addAddress('JSANCH32@FORD.COM');///Una linea por cada destinatario
        $mail->addCC('NOMINA.FORD@SAIREH.COM');
        //$mail->addCC('barrios150962@gmail.com');

        //Enviar correo a Supervisor y RRHH
        $asunto = 'Validacion de Pagos Especiales USD-Bco. Mercantil por GERENCIA RRHH';
        $mensaje = $nombre_usuario . ' ha VALIDADO un pago especial en USD / Banco Mercantil en SAIREH, se requiere ahora de su aprobacion para completar el proceso.';
        $mail->isHTML(true); // Set email format to HTML
        $mail->Subject = $asunto;
        $mail->Body = $mensaje;
        $mail->AltBody = $mensaje;

        $mail->send();
		
	
    }else if ($usuario == 'MCALLES1' || $usuario == 'GPROCOPI') {
        $query_update = "UPDATE pagos_especiales_usd SET estado_aprobacion = 'Aprobado' WHERE  estado_aprobacion = 'Verificado' ";
        $result_update = mysqli_query($enlace,$query_update);

        //EnvÃÂÃÂ­a correo
        ////Para el correo desde aqui parametros y varibles generales
        require 'hcm_files/PHPMailer/src/Exception.php';
        require 'hcm_files/PHPMailer/src/PHPMailer.php';
        require 'hcm_files/PHPMailer/src/SMTP.php';

        $mail = new PHPMailer(true);
        //Servidor de correo configuracion
        //$mail->SMTPDebug = 2; //Enable verbose debug output
        $mail->isSMTP(); // Set mailer to use SMTP
        $mail->Host = 'ssl://www.saireh-nomina.com'; // Specify main and backup SMTP servers
        $mail->SMTPAuth = true; // Enable SMTP authentication
        $mail->Username = 'info@saireh-nomina.com'; // SMTP username
        $mail->Password = 'c0n5ul74rh3'; // SMTP password
        $mail->SMTPSecure = 'tls'; // Enable TLS encryption, [ICODE]ssl[/ICODE] also accepted
        $mail->Port = 465; // TCP port to connect to
        ///envio de correos hasta aqui

        //Recipients
        $mail->setFrom('info@saireh-nomina.com', 'Saireh Nomina Ford');
        //$mail->addAddress('GSAYAGO1@FORD.COM','Gustavo Sayago'); S epuede personalizar el nombre de ldestiantario
        ////SIEMPRE deben escribirse en mayÃÂÃÂºsculas las direcciones de correo
		$mail->addAddress('ASALAZ14@FORD.COM'); ///Una linea por cada destinatario
        $mail->addAddress('GCURBELO@FORD.COM'); ///Una linea por cada destinatario
        $mail->addAddress('BSALAZA3@FORD.COM');///Una linea por cada destinatario
        //$mail->addAddress('GSAYAGO1@FORD.COM'); ///Una linea por cada destinatario
        $mail->addAddress('MCALLES1@FORD.COM'); ///Una linea por cada destinatario
        //$mail->addAddress('JSANCH32@FORD.COM');///Una linea por cada destinatario
        $mail->addCC('NOMINA.FORD@SAIREH.COM');
        //$mail->addCC('barrios150962@gmail.com');

        //Enviar correo a Supervisor y RRHH
        $asunto = 'Aprobacion de Pago Especial USD-Bco. Mercantil por CONTABILIDAD';
        $mensaje = $nombre_usuario . ' ha APROBADO un pago especial en USD / Banco Mercantil en SAIREH, sera enviado del archivo a Tesoreria.';
        $mail->isHTML(true); // Set email format to HTML
        $mail->Subject = $asunto;
        $mail->Body = $mensaje;
        $mail->AltBody = $mensaje;

        $mail->send();

        //  GENERAR ARCHIVO TXT
        //Consulta empleados a pagar

        $result = mysqli_query($enlace,"SELECT MAX(fecha_registro) FROM pagos_especiales_usd WHERE estado_aprobacion = 'Aprobado' AND id ='" . $_SESSION['id_validar'] . "'");
        $row = mysqli_fetch_array($result);
        $fecha_registro = $row[0];
        //echo $fecha_registro;

        $query_emp_pagar = "SELECT peu.*, CONCAT (pe.nombres, ' ', pe.nombres1, ' ', pe.apellidos, ' ',pe.apellidos1) as nombres, pe.cuenta_mercantil, pe.global_id, pe.mensaje FROM pagos_especiales_usd AS peu INNER JOIN personal AS pe ON peu.codigo = pe.codigo WHERE peu.id = '" . $_SESSION['id_validar'] . "' AND peu.fecha_registro = '$fecha_registro'";

        $resul_emp_pagar = mysqli_query($enlace,$query_emp_pagar);
        $cant_emp_pagar = mysqli_num_rows($resul_emp_pagar);

        //Consulta monto total a pagar
        $query_monto_pagar = "SELECT SUM(monto) AS monto FROM pagos_especiales_usd WHERE fecha_registro = '$fecha_registro' AND id='" . $_SESSION['id_validar'] . "'";
        $resul_monto_pagar = mysqli_query($enlace,$query_monto_pagar);
        $row_monto = mysqli_fetch_array($resul_monto_pagar);
        $monto_total_pagar = str_replace('.', '', $row_monto['monto']); //Monto total a pagar, se le quita el signo punto

        $fecha_lote = date("jnY"); //Fecha a imprimir en archivo (Fecha sin ceros a la izquierda)
        $numero_lote_archivo = rand(1000000, 9999999); //NÃÂÃÂºmero aleatorio
        $numero_serie = rand(100000, 999999) + 100000;

        //GeneraciÃÂÃÂ³n de archivo
        $f = "BancoMercantil/PPR-LOTE-" . $fecha_lote . $numero_lote_archivo . ".txt";
        $file = fopen($f, "w+");

        //REGISTRO: PRIMER LINEA //
        fwrite($file, "1BAMRVECA    "); //Constante
        fwrite($file, str_pad($fecha_lote, 8, "0", STR_PAD_LEFT));
        fwrite($file, $numero_lote_archivo); //NÃºmero de lote aleatorio
        fwrite($file, "NOMDO0000000222J000000000148643"); //Constante
        fwrite($file, str_pad($cant_emp_pagar, 8, "0", STR_PAD_LEFT)); //Cantidad de empleados a Pagar
        fwrite($file, str_pad($monto_total_pagar, 17, "0", STR_PAD_LEFT)); //Monto total a Pagar
        fwrite($file, date('Ymd')); //Fecha a pagar
        fwrite($file, "01050060515060033511"); //Constante
        fwrite($file, str_pad($numero_serie, 15, "0", STR_PAD_LEFT)); //NÃºmero de serie
        fwrite($file, str_pad('', 273, "0", STR_PAD_LEFT)); //Rellena 273 ceros
        fwrite($file, "\r\n"); //Nueva Linea

        //REGISTRO: SEGUNDA LINEA //

        while ($row_emp_pag = mysqli_fetch_array($resul_emp_pagar)) {
            $cedula = $row_emp_pag['codigo'];
            $global_id = $row_emp_pag['global_id'];
            $monto = str_replace('.', '', $row_emp_pag['monto']); //Monto total a pagar, se le quita el signo punto
            $concepto_monto = $row_emp_pag['concepto'];
            $cuenta_mercantil = $row_emp_pag['cuenta_mercantil'];
            $nombres = preg_replace("/\s+/", " ", trim($row_emp_pag['nombres']));
            $correo = $row_emp_pag['mensaje'];

            fwrite($file, "2V"); //Constante
            fwrite($file, str_pad($cedula, 15, "0", STR_PAD_LEFT)); //NÃºmero de cedula
            fwrite($file, "1000000000000                              "); //Constante
            fwrite($file, str_pad($cuenta_mercantil, 20, "0", STR_PAD_LEFT)); //NÃºmero de cuenta
            fwrite($file, str_pad($monto, 17, "0", STR_PAD_LEFT)); //Monto a pagar
            fwrite($file, str_pad($global_id, 16, " ", STR_PAD_RIGHT)); //NÃºmero de Global ID
            fwrite($file, "0000000222000"); //Constante

            fwrite($file, str_pad($nombres, 60, " ", STR_PAD_RIGHT)); //Imprime nombres con espacios hasta 60 caracteres
            //fwrite($file,str_pad(date('j'), 9, "0", STR_PAD_LEFT)); //DÃ­a sin cero a la izq
            //fwrite($file,rand(100000,999999)); //Aleatorio
            fwrite($file, "000000000000000"); //Constante
            fwrite($file, str_pad($correo, 50, " ", STR_PAD_RIGHT)); //Imprime correo con espacios hasta 50 caracteres
            fwrite($file, "0000                              "); //Constante
            fwrite($file, str_pad($concepto_monto, 80, " ", STR_PAD_RIGHT)); //Imprime constante con espacios hasta 80 caracteres
            fwrite($file, "00000000000000000000000000000000000"); //Constante
            fwrite($file, "\r\n"); //Nueva Linea
        }
        fclose($file);

    }

    echo "<style>
	.registrado{
			color: green;
			margin-left: 7%;
			font-weight: bold;
	}
	</style>";

    echo "<p class='registrado'>Registros aprobados satisfactoriamente<p>";

}

if (isset($_POST['generarPagoEspecial'])) {
    ##### INICIA: INSERTAR EN BD LOS CAMPOS RECIBIDOS ######

    //Recibe todas las variables por POST
    extract($_POST);

    //Fecha actual
    $fecha_registro = date('Y-m-d H:i:s');

    //Busca los empleados que estuvieron en el formulario
    $query_update = "UPDATE pagos_especiales_usd SET estado_aprobacion = 'Por Aprobar' WHERE  estado_aprobacion = 'Pendiente' ";
    $result_update = mysqli_query($enlace,$query_update);
    echo "<style>
    .regristrado{
        color: green;
        margin-left: 7%;
        font-weight: bold;
    }
    </style>";
    echo "<p class='regristrado' >Registros enviados para aprobación<p>";
    // echo "<script>
    //     window.location.href = 'generar_txt.php?fileSpecialBank=$f';
    //     </script>";

    //Enviar correo de notifiaciÃ³n solicitud de aprobaciÃ³n
    //EnvÃ­a correo

    //Para el correo desde aqui parametros y varibles generales
    require 'hcm_files/PHPMailer/src/Exception.php';
    require 'hcm_files/PHPMailer/src/PHPMailer.php';
    require 'hcm_files/PHPMailer/src/SMTP.php';

    $mail = new PHPMailer(true);
    //Servidor de correo configuracion
    //$mail->SMTPDebug = 2; //Enable verbose debug output
    $mail->isSMTP(); // Set mailer to use SMTP
    $mail->Host = 'ssl://www.saireh-nomina.com'; // Specify main and backup SMTP servers
    $mail->SMTPAuth = true; // Enable SMTP authentication
    $mail->Username = 'info@saireh-nomina.com'; // SMTP username
    $mail->Password = 'c0n5ul74rh3'; // SMTP password
    $mail->SMTPSecure = 'tls'; // Enable TLS encryption, [ICODE]ssl[/ICODE] also accepted
    $mail->Port = 465; // TCP port to connect to
    ///envio de correos hasta aqui

    //Recipients
    $mail->setFrom('info@saireh-nomina.com', 'Saireh Nomina Ford');
    //$mail->addAddress('GSAYAGO1@FORD.COM','Gustavo Sayago'); S epuede personalizar el nombre de ldestiantario
    ////SIEMPRE deben escribirse en mayÃÂÃÂºsculas las direcciones de correo
	$mail->addAddress('ASALAZ14@FORD.COM'); ///Una linea por cada destinatario
    $mail->addAddress('GCURBELO@FORD.COM'); ///Una linea por cada destinatario
    $mail->addAddress('BSALAZA3@FORD.COM');///Una linea por cada destinatario
    // $mail->addAddress('GSAYAGO1@FORD.COM'); ///Una linea por cada destinatario
    // $mail->addAddress('MCALLES1@FORD.COM'); ///Una linea por cada destinatario
    $mail->addCC('NOMINA.FORD@SAIREH.COM');
    //$mail->addCC('barrios150962@gmail.com');

    $asunto = 'Solicitud de Pagos Especiales USD';

    $mensaje = 'Sr. ADOLFO SALAZAR
			<br>
			<br>
			Se ha cargado en SAIREH un pago especial en USD para procesar en Banco Mercantil que requiere ahora de su revision y aprobacion para confimar y continuar con el proceso.
			<br>
			<br>
			Gracias.';

    $mail->isHTML(true); // Set email format to HTML
    $mail->Subject = $asunto;
    $mail->Body = $mensaje;
    $mail->AltBody = $mensaje;

    $mail->send();
}

$query = "SELECT * FROM personal WHERE cuenta_mercantil != '' AND status !='I' AND id='" . $_SESSION['id_validar'] . "'";
$consulta = mysqli_query($enlace,$query);

////SCRIPTS///
?>

<head>
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script src="autocompletar/js/bootstrap3-typeahead.min.js"></script>

    <link rel="stylesheet" href="css/timepicker.min.css">
    <script src="js/timepicker.min.js"></script>

    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

    <script src='js/bootstrap.min.js'></script>

    <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
	integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
		integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
		crossorigin="anonymous"></script> -->
    <!--
<script src="//cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="//cdn.datatables.net/1.10.25/css/jquery.dataTables.min.css"> -->

</head>
<style>
.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #337ab7;
    outline: 0;
}

#tabla_novedades .horas_extras,
.ausencia_medica,
.validado_por_sso,
.justificacion_ausencia,
.remunerado_ausencia,
.tiempo_viaje_ausencia,
.ausencia,
.ausencia_programada,
.tipo_permiso_ausencia,
.retardo,
.salida_anticipada,
.horassalida_anticipada,
.datos_trabajador,
.hora_salida_ausencia,
.hora_llegada_ausencia {
    display: none;
}

#ocultar {
    display: none;
}

.form-control-time {
    width: 80px;
    height: 34px;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.boton {
    /* width: 100%; */
    color: #FFFFFF;
    /* font-size: 0.8725em; */
    padding: 7px;
    margin-bottom: 5px;
    margin-top: 10px;
    outline: none;
    /* margin: 5px 0; */
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    background: #36C1E2;
    border: 0px solid #DFDFDF;
    border-radius: 8px;   /* ← Bordes redondeados */
}

.boton:hover {
    background: #2aa9c7;      /* tono más oscuro para dar profundidad */
    transform: scale(1.04);   /* ligero zoom */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* sombra suave */
    cursor: pointer;
}


.glyphicon-modal-window:before {
    content: "\e237"
}

.modal-open {
    overflow: hidden
}

.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    outline: 0
}

.modal.fade .modal-dialog {
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    -o-transform: translate(0, -25%);
    transform: translate(0, -25%);
    -webkit-transition: -webkit-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -o-transform .3s ease-out
}

.modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0)
}

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 10px
}

.modal-content {
    position: relative;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 6px;
    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
    box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
    outline: 0
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000
}

.modal-backdrop.fade {
    filter: alpha(opacity=0);
    opacity: 0
}

.modal-backdrop.in {
    filter: alpha(opacity=50);
    opacity: .5
}

.modal-header {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5
}

.modal-header .close {
    margin-top: -2px
}

.modal-title {
    margin: 0;
    line-height: 1.42857143
}

.modal-body {
    position: relative;
    padding: 15px
}

.modal-footer {
    padding: 15px;
    text-align: right;
    border-top: 1px solid #e5e5e5
}

.modal-footer .btn+.btn {
    margin-bottom: 0;
    margin-left: 5px
}

.modal-footer .btn-group .btn+.btn {
    margin-left: -1px
}

.modal-footer .btn-block+.btn-block {
    margin-left: 0
}

.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll
}

@media (min-width:768px) {
    .modal-dialog {
        width: 600px;
        margin: 30px auto
    }

    .modal-content {
        -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
        box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
    }

    .modal-sm {
        width: 300px
    }
}

@media (min-width:992px) {
    .modal-lg {
        width: 900px
    }
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    line-break: auto;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    white-space: normal;
    font-size: 12px;
    filter: alpha(opacity=0);
    opacity: 0
}

.tooltip.in {
    filter: alpha(opacity=90);
    opacity: .9
}
</style>

<style>
/*the container must be positioned relative:*/
.autocomplete {
    position: relative;
    display: inline-block;
    text-transform: capitalize;
}

.autocompletar {
    text-transform: capitalize;
}

.regristrado {
    color: green;
    margin-left: 7%;
    font-weight: bold;
}

.noregristrado {
    color: red;
    margin-left: 7%;
    font-weight: bold;
}

.autocomplete-items {
    position: absolute;
    border: 1px solid #d4d4d4;
    border-bottom: none;
    border-top: none;
    z-index: 99;
    /*position the autocomplete items to be the same width as the container:*/
    top: 100%;
    left: 0;
    right: 0;
}

.autocomplete-items div {
    padding: 5px;
    cursor: pointer;
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
}

/*when hovering an item:*/
.autocomplete-items div:hover {
    background-color: #e9e9e9;
}

/*when navigating through the items using the arrow keys:*/
.autocomplete-active {
    background-color: DodgerBlue !important;
    color: #ffffff;
}
</style>

<?php
//////////////////////////////////////////////////////////////////////////////// INICIO MENU DE OPCIONES
echo "<main class='container'>";
echo "<section class='row text-center'>";
//echo "<h2 class='text-dark text-left'><b>Generar Pagos Especiales (USD)</b></h2>";
if (!isset($_POST['inicio'])) { //Si la variable inicio no esta definida o si es igual a cero
    if ((substr($_SESSION['acceso_validar'], 40, 1) == '1')) {
        echo "<h2 class='text-dark text-left'><b>Aprobar Bonificaciones/Pagos Extraordinarios</b></h2>";
        echo "<div class='col-sm-12 justify-content-center m-auto'>";
        echo "<form autocomplete='off' name = 'entrada' action = '" . $_SERVER['PHP_SELF'] . "' method = 'POST'  enctype='multipart/form-data' class='form-inline'>";
        echo "<input type = 'hidden' name = 'inicio' value = '2'>";
        //echo "<input type = 'hidden' name = 'nomina' value = '$nomina'>";

        //Consulta empleados
		
		if ($usuario == 'ASALAZ14' || $usuario == 'JMONTI13') {

            $query = "SELECT hne.*, pe.nombres, pe.apellidos FROM pagos_especiales_usd AS hne INNER JOIN personal AS pe ON pe.codigo = hne.codigo WHERE hne.estado_aprobacion= 'Por Aprobar' AND hne.id = '" . $_SESSION['id_validar'] . "' order by hne.codigo";
            $consulta = mysqli_query($enlace,$query);

        }
		
        if ($usuario == 'MCALLES1' || $usuario == 'GPROCOPI') {

            $query = "SELECT hne.*, pe.nombres, pe.apellidos FROM pagos_especiales_usd AS hne INNER JOIN personal AS pe ON pe.codigo = hne.codigo WHERE hne.estado_aprobacion= 'Verificado' AND hne.id = '" . $_SESSION['id_validar'] . "' order by hne.codigo";
            $consulta = mysqli_query($enlace,$query);

        }

        if (mysqli_num_rows($consulta) == 0) {
            echo "<style>
				.registrado{
						color: green;
						margin-left: 7%;
						font-weight: bold;
				}
				</style>";
            echo "<p class='registrado'>No hay registros para aprobar<p>";
        } else {
            echo "<table class='tabla-estilizada'>
                        <thead>
                            <tr>
                                <th>Cédula</th>
                                <th>Apellidos</th>
                                <th>Nombres</th>
                                <th>Concepto</th>
                                <th>Monto</th>
                            </tr>
                        </thead>
                        <tbody>";

                $registro_color = 0;

                while ($row = mysqli_fetch_array($consulta)) {

                    echo "<tr>";

                    echo "<td>{$row['codigo']}</td>";
                    echo "<td>{$row['apellidos']}</td>";
                    echo "<td>{$row['nombres']}</td>";
                    echo "<td>{$row['detalle']}</td>";
                    echo "<td>" . number_format($row['monto'], 2, ',', '.') . "</td>";

                    echo "</tr>";
                }

                echo "</tbody></table>";

            echo "<table rules=none border=0 cellpadding=2 cellspacing=0 align='center'>";
            echo "<tr bgcolor='#43bced' height='35'>";
            echo "		<th align = left><font color=white> </font></th>";
            echo "		<th align = left><font color=white> </font></th>";
            echo "		<th align = left><font color=white>  </font></th>";
            echo "		<th align = center><font color=white>  </font></th>";
            //echo $nomina;

            $sql = mysqli_query($enlace,"SELECT SUM(monto) as total FROM pagos_especiales_usd WHERE  estado_aprobacion IN ('Por Aprobar','Verificado') AND id='" . $_SESSION['id_validar'] . "'");
            $row = mysqli_fetch_array($sql);
            $total = $row['total'];

            echo "<th align = left><font color=white> TOTAL </font>" . number_format($total, 2, ',', '.') . "</th><tr>";
            echo "</table>";

            echo '<input name="aprobarPagoExtraordinario" type="submit" class="boton" value="Aprobar pago extraordinario"></input>';
            echo "</form>";
        }

    } elseif ((substr($_SESSION['acceso_validar'], 9, 1) == '1')) {

        $proceso = date("Y-m-d");
        echo "<h2 class='text-dark text-left'><b>CARGAR ARCHIVO PARA PAGOS ESPECIALES</b></h2>";
        echo "<div class='col-sm-12 justify-content-center m-auto'>";
        echo "<form autocomplete='off' name = 'entrada' action = '" . $_SERVER['PHP_SELF'] . "' method = 'POST'  enctype='multipart/form-data' class='form-inline'>";
        echo "<div class='col-md-5'>";
        echo "<input type='file' name='file'/>";
        echo "</div>";
        //echo "<div class='col-md-5'>";
        echo '<input name="import_data" type="submit" class="boton" value="Subir archivo"></input>';
        //echo "<input type='submit' class='btn btn-primary' name='import_data' value='IMPORT'>";
        echo "</div>";

        if (isset($_POST['import_data'])) {
            // validate to check uploaded file is a valid csv file
            $file_mimes = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain');
            if (!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'], $file_mimes)) {
                if (is_uploaded_file($_FILES['file']['tmp_name'])) {
                    $csv_file = fopen($_FILES['file']['tmp_name'], 'r');
                    $fecha_registro = date('Y-m-d H:i:s');
                    fgetcsv($csv_file,100,";");
                    $validaEmpleados = [];
                    $errorCedula = [];
                    while (($emp_record = fgetcsv($csv_file,100,";")) !== false) {
                        $mysql_insert = "SELECT codigo FROM personal WHERE codigo ='".str_pad($emp_record[0], 8, "0", STR_PAD_LEFT)."' and id='".$_SESSION['id_validar']."';";
                        $buscaEmpleado= mysqli_query($enlace,$mysql_insert) or die("database error buscaEmpleado:" . mysqli_errno($enlace));
                        if(mysqli_num_rows($buscaEmpleado)==0){
                            array_push($errorCedula,['cedula' => $emp_record[0]]);
                        }
                        else {
                            array_push($validaEmpleados,['cedula' => str_pad($emp_record[0], 8, "0", STR_PAD_LEFT),'monto' => $emp_record[2], 'concepto' => $emp_record[3]]);

                        }

                       

                        // $mysql_insert = "INSERT INTO pagos_especiales_usd (id, codigo, monto, concepto, fecha_registro,estado_aprobacion) VALUES ('" . $_SESSION['id_validar'] . "','" . str_pad($emp_record[0], 8, "0", STR_PAD_LEFT). "','" . $emp_record[2] . "', '" . $emp_record[3] . "', '" . $fecha_registro . "', 'Pendiente')";
                        // mysqli_query($enlace,$mysql_insert) or die("database error:" . mysqli_errno($enlace));

                    }
                    fclose($csv_file);
                    if(count($errorCedula) == 0){
                        for ($i = 0; $i < count($validaEmpleados); $i++) {
                            $mysql_insert = "INSERT INTO pagos_especiales_usd (id, codigo, monto, concepto, fecha_registro,estado_aprobacion) VALUES ('" . $_SESSION['id_validar'] . "','" . $validaEmpleados[$i]['cedula']. "','" . $validaEmpleados[$i]['monto'] . "', '" . $validaEmpleados[$i]['concepto'] . "', '" . $fecha_registro . "', 'Pendiente')";
                            mysqli_query($enlace,$mysql_insert) or die("database error mysql_insert:" . mysqli_errno($enlace));
                    
                        }
                    }else{
                        echo "Error Verificar CÃ©dulas <br>";
                        for ($i = 0; $i < count($errorCedula); $i++) 
                        echo "<strong>".$errorCedula[$i]['cedula']."</strong><br>";
                        
                        //print_r($errorCedula);
                    }
                    $import_status = '?import_status=success';

                }

            } else {
                $import_status = '?import_status=error';
            }
        } else {
            $import_status = '?import_status=invalid_file';
        }
    }
    $query = "SELECT hne.*, pe.nombres, pe.apellidos FROM pagos_especiales_usd AS hne INNER JOIN personal AS pe ON pe.codigo = hne.codigo WHERE hne.estado_aprobacion= 'Pendiente' AND hne.id = '" . $_SESSION['id_validar'] . "' order by hne.codigo";
    $consulta = mysqli_query($enlace,$query);
    if (mysqli_num_rows($consulta) != 0) {
 
                /* Tabla */
                echo "<table class='tabla-estilizada'>
                        <thead>
                            <tr>
                                <th>Cédula</th>
                                <th>Apellidos</th>
                                <th>Nombres</th>
                                <th>Concepto</th>
                                <th>Monto</th>
                            </tr>
                        </thead>
                        <tbody>";

                $registro_color = 0;

                while ($row = mysqli_fetch_array($consulta)) {

                    echo "<tr>";

                    echo "<td>{$row['codigo']}</td>";
                    echo "<td>{$row['apellidos']}</td>";
                    echo "<td>{$row['nombres']}</td>";
                    echo "<td>{$row['detalle']}</td>";
                    echo "<td>" . number_format($row['monto'], 2, ',', '.') . "</td>";

                    echo "</tr>";
                }

                echo "</tbody></table>";

        echo "<table rules=none border=0 cellpadding=2 cellspacing=0 align='center'>";
        echo "<tr bgcolor='#43bced' height='35'>";

        //echo $nomina;

        $sql = mysqli_query($enlace,"SELECT SUM(monto) as total FROM pagos_especiales_usd WHERE  estado_aprobacion = 'Pendiente' AND id='" . $_SESSION['id_validar'] . "'");
        $row = mysqli_fetch_array($sql);
        $total = $row['total'];

        echo "		<th align = left><font color=white> TOTAL </font>" . number_format($total, 2, ',', '.') . "</th><tr>";
        echo "</table>";

        echo '<input name="generarPagoEspecial" type="submit" class="boton" value="Generar pago especial"></input>';
        echo "</form>";
        mysqli_free_result($consulta);

    }
    if ($usuario == 'BSALAZA3' || $usuario == 'GCURBELO') {

        if ($_POST['bandera'] == 33) {
            $tamano = $_FILES["archivo"]['size'];
            $tipo = $_FILES["archivo"]['type'];
            $archivo = $_FILES["archivo"]['name'];
            $prefijo = substr(md5(uniqid(rand())), 0, 6);
            if ($archivo != "") {
                $destino = "archivos_pagos_especiales/" . $_POST['nombre_proceso'] . "_" . $_POST['nombre_archivo'] . ".xls";
                if (copy($_FILES['archivo']['tmp_name'], $destino)) {
                    $status = "Archivo subido: <b>" . $archivo . "</b>";
                } else {
                    $status = "Error al subir el archivo";
                }
            } else {
                $status = "Error al subir archivo";
            }
        }
    }

}

//$nomina = $_POST['preNomina']; //Captura la nÃ³mina a procesar

echo "</section>";
echo "</main>";

?>

<style>
/* Tabla moderna y limpia */
.tabla-estilizada {
    width: 95%;
    margin: 25px auto;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

/* Encabezado */
.tabla-estilizada thead th {
    background: #43bced;
    color: white;
    padding: 12px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.3px;
    border-bottom: 3px solid #2fa3c9;
    white-space: nowrap;
}

/* Filas */
.tabla-estilizada tbody td {
    padding: 10px;
    text-align: center;
    border-bottom: 1px solid #e6e6e6;
    white-space: nowrap;
}

/* Filas alternadas */
.tabla-estilizada tbody tr:nth-child(even) {
    background: #f5f9fc;
}

.tabla-estilizada tbody tr:nth-child(odd) {
    background: #ffffff;
}

/* Hover elegante */
.tabla-estilizada tbody tr:hover {
    background: #e8f6ff;
    transition: 0.2s ease-in-out;
}

/* Bordes redondeados arriba */
.tabla-estilizada thead th:first-child {
    border-top-left-radius: 8px;
}
.tabla-estilizada thead th:last-child {
    border-top-right-radius: 8px;
}
</style>


</body>

</html>