<?php session_start();

date_default_timezone_set('America/Bogota');

	use PHPMailer\PHPMailer\PHPMailer;
	use PHPMailer\PHPMailer\Exception;

//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();

if (!isset($_GET['fecha'])) {
    die("No se recibió el lote a procesar.");
}
$fecha_registro = $_GET['fecha'];


$nombre_usuario = $_SESSION['nombre_validar'];		



				///Actualiza el status de enviado al banco
		/* $query_update = "UPDATE historico_pagos_conectiv
		SET envio_banco = 'Si'
		WHERE fecha_registro = '$fecha_registro'
		AND estado_aprobacion_2 = 'Aprobado'
		AND (envio_banco IS NULL OR envio_banco <> 'Si')";
        $result_update = mysqli_query($enlace,$query_update); */ 
        ///// SUSPENDEMOS TEMPORALMENTE ESTE UPDATE PARA QUE NO SE QUITEN LOS ARCHIVOS PARA QUE LOS GENERE ORIVERO SI NECESITA VOLVER A GENERARLOS
        //// HAY QUE VER SI SE PUEDE HACER QUE EL CAMBIO DE ESTATUS EN LA TABLA SEA UNA TAREA AUTOMATIZADA EN EL SERVIDOR POR EJEMPLO DESPUES DE 48 HORAS DESDE LA FECHA DE REGISTRO -- MIGUEL 16/02/26

        //  GENERAR ARCHIVO TXT
        //Consulta empleados a pagar

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

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

        $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 historico_pagos_conectiv 
        WHERE fecha_registro = '$fecha_registro' 
        AND id='" . $_SESSION['id_validar'] . "' 
        AND estado_aprobacion_2 = 'Aprobado'
		";
        $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
        $monto_total = number_format($row_monto['monto'], 2); //Monto a imprimir en el correo

        $fecha_lote = date("dmY"); //Fecha a imprimir en archivo 
        $fecha_pago = date("d-m-Y") ; //Fecha a imprimir en el correo
        $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 # cuenta pagadora
        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['cedula'];
            $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'];
			$concepto_monto = 'pago_conectividad';
            $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);

                //Envi­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('MCALLES1@FORD.COM'); ///Una linea por cada destinatario
        //$mail->addAddress('GPROCOPI@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 = 'TXT Banco Mercantil PPR-LOTE-' . $fecha_lote . $numero_lote_archivo . ' generado por TESORERIA';

            $mensaje = '
            <b>' . $nombre_usuario . '</b> ha generado un TXT del Banco Mercantil en USD en SAIREH.<br><br>

            <b>Lote:</b> PPR-LOTE-' . $fecha_lote . $numero_lote_archivo . '<br>
            <b>Fecha de ejecucion de pago:</b> ' . $fecha_pago . '<br>
            <b>Monto:</b> '. $monto_total
            ;

            $mail->isHTML(true);
            $mail->Subject = $asunto;
            $mail->Body    = $mensaje;
            $mail->AltBody = strip_tags($mensaje);


        $mail->send();
        /////////////////////////////////////////////////////////
		header('Content-Description: File Transfer');
		header('Content-Type: application/octet-stream');
		header('Content-Disposition: attachment; filename="'.basename($f).'"');
		header('Expires: 0');
		header('Cache-Control: must-revalidate');
		header('Pragma: public');
		header('Content-Length: ' . filesize($f));
		readfile($f);
		exit;



    echo "<style>
    .regristrado{
        color: green;
        margin-left: 7%;
        font-weight: bold;
    }
    </style>";
    // echo "<p class='regristrado' >Archivos guardados correctamente<p>";
    // echo "<script> window.location.href = 'generar_txt.php?file=$f'; </script>";

		// echo "<p class='regristrado' >Archivo TXT genrado correctamente <a href = 'generar_txt.php?file=$f';>Descargar</a><p>";
		// echo "<p class='regristrado' >Archivo otras nominas guardado correctamente <a href = 'generar_txt.php?file=$fo';>Descargar</a><p>";

		// echo "<a id='link1' target='_blank' href = 'generar_txt.php?file=$fo';></a>";
		// echo "<a id='link2' target='_blank' href = 'generar_txt.php?file=$f';></a>";
		// echo "<script> document.getElementById('link1').click(); document.getElementById('link2').click(); </script>";

		/////FIN de Genera TXt nomina Diaria



?>
