<?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');
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);
	$per=mostrar_fecha($row['desde']).' al '.mostrar_fecha($row['hasta'])." (Nom:".$row['nomina'].")";
} else $per='';
menu();

//Quien tenga permiso de aprobación de: Confirmación de jornada
if (substr($_SESSION['acceso_validar'],39,1)=='1' || ( ($_SESSION['usuario_validar']=='MASTER' || $_SESSION['multiple']) && $_SESSION['id_validar']!='0')) {
	//Tiene permisos para aprobar novedades
}else{
	//No tiene permisos para registrar novedades
	echo "<center><b>No tienes permisos para acceder a este modulo</b></center>";
	exit;
}

set_time_limit(3000);
$resultado_actualizacion = '';
$jornada_actualizada=0;
//Obtengo la fecha desde que inicia el periodo
$fecha_inicio_periodo=$row['desde'];
//Guardado de datos
if (isset($_POST['procesar'])) {
	//Consultar cuales son sus empleados para recibir por post el dato y registrar en BD
	$consulta_empleados="SELECT codigo, nombres, nombres1, apellidos, apellidos1, turno, fecha_actualizo_jornada FROM personal WHERE id = '".$_SESSION['id_validar']."' AND status = 'A' AND (supervisor = '".$_SESSION['position_number']."' OR supervisor_2 = '".$_SESSION['position_number']."')";
	$resultado_empleados = mysqli_query($enlace,$consulta_empleados) or die('verificaci&oacute; del c&oacute;digo fall&oacute;: ' . mysqli_error($enlace));
	while($row_e = mysqli_fetch_array($resultado_empleados)) {
		$codigo_empleado = $row_e['codigo'];
		//Valido si para el empleado ya se ratifico la jornada en el periodo actualmente abierto
		$fecha_actualizo_jornada= $row_e['fecha_actualizo_jornada'];
		if ($fecha_actualizo_jornada == $fecha_inicio_periodo){
			$resultado_actualizacion = "<p style= 'color: red;padding: 20px;' ><b>No se actualizaron los registros porque ya estaba confirmada la jornada de este periodo</b></p>";
			//echo "El empleado con documento No. ".$codigo_empleado." ya tiene confirmada la jornada para este periodo, <b> no </b> se actualizo";
		}else{
			//Si estoy dentro del select quiere decir que el empleado no tiene confirmada la jornada para este periodo abierto
			//Construyo el select como debería recibirlo, según el codigo del empleado se recibe el select, con el siguiente formato.
			$formato_select_jornada = "jornada_".$row_e['codigo'];
			//Recibo por POST la nueva jornada de dicho empleado
			$nueva_jornada_empleado = $_POST[$formato_select_jornada];
			//Inserto la jornada en la BD
			$update_jornada="UPDATE personal SET turno='".$nueva_jornada_empleado."', fecha_actualizo_jornada = '".$fecha_inicio_periodo."' WHERE codigo = ".$codigo_empleado." AND id = ".$_SESSION['id_validar'];
			$resultado_update = mysqli_query($enlace,$update_jornada) or die('verificaci&oacute; del c&oacute;digo fall&oacute;: ' . mysqli_error($enlace));
			if ($resultado_update= 1){
				$resultado_actualizacion = "<p style= 'color: red;padding: 20px;' ><b>Jornadas actualizadas satisfactoriamente</b></p>";
				$jornada_actualizada++;
			}
		}
	}
}

//Contador para saber si la jornada fue confirmada
$jornada_confirmada = 0;
//Consulta de empleados
$consulta="SELECT codigo, nombres, nombres1, apellidos, apellidos1, turno, fecha_actualizo_jornada FROM personal WHERE id = '".$_SESSION['id_validar']."' AND status = 'A' AND (supervisor = '".$_SESSION['position_number']."' OR supervisor_2 = '".$_SESSION['position_number']."') ORDER BY fecha_actualizo_jornada DESC";
$resultado = mysqli_query($enlace,$consulta) or die('verificaci&oacute; del c&oacute;digo fall&oacute;: ' . mysqli_error($enlace));
$num_rows = mysqli_num_rows($resultado);


echo "<hr><h2>Confirmación de Jornada - Trabajador</h2>";

echo "<h4><hr><center><font color='blue'>Estimado usuario Supervisor, en caso de que requiera asignar jornadas por Ausencia-Fuerza Mayor AJ a cualquiera de los </center></h4>";
echo "<h4><center><font color='blue'>trabajadores a su cargo, las encontrará con los códigos 1200 y 1201, en sustitución de las jornadas regulares 200 y 201.</br></br></center></h4>";


if ($num_rows != 0){
		echo "<form name='actualizar' method='post' action='".$_SERVER['PHP_SELF']."' enctype='multipart/form-data'>";

echo "<table class='tabla-personal'>";

echo "<tr class='encabezadoTabla'>
        <th style='width:120px;'>Cédula</th>
        <th style='width:250px;'>Nombres</th>
        <th style='width:250px;'>Apellidos</th>
        <th style='width:200px;'>Jornada actual</th>
      </tr>";

for ($cont = 0; $cont < $num_rows; $cont++) {

    $row = mysqli_fetch_array($resultado);
    $cedula = $row['codigo'];

    $tcolor = ($color) ? "#dfdfd0" : "white";

    echo "<tr style='background:$tcolor;'>";

    echo "<td style='width:120px;'>{$row['codigo']}</td>";

    echo "<td style='width:250px;'>"
            . trim($row['nombres']) . " " . $row['nombres1'] .
         "</td>";

    echo "<td style='width:250px;'>"
            . trim($row['apellidos']) . " " . $row['apellidos1'] .
         "</td>";

    echo "<td style='width:200px;'>";

    // Validación de jornada
    $fecha_actualizo_jornada = $row['fecha_actualizo_jornada'];

    echo "<select name='jornada_{$row['codigo']}' id='jornada'>";

    // Consulta de jornadas
    $consulta_jornadas = "SELECT codigo FROM turno WHERE id = '".$_SESSION['id_validar']."' ORDER BY codigo ASC";
    $resultado_jornadas = mysqli_query($enlace, $consulta_jornadas);

    while ($rowj = mysqli_fetch_array($resultado_jornadas)) {
        $selected = ($row['turno'] == $rowj['codigo']) ? "selected" : "";
        echo "<option value='{$rowj['codigo']}' $selected>{$rowj['codigo']}</option>";
    }

    echo "</select>";

    echo "</td>";
    echo "</tr>";

    $color = !$color;
}

echo "</table>";
		if ($jornada_actualizada>0){
			echo "<center>";
				echo $resultado_actualizacion;
			echo "</center>";
		}
			/*
			else if ($jornada_confirmada>0){ /////lo inactivé apra evitar que el supervisor Guzman se le bloquear la aprobación por haber cargado antes Wilmehl novedades de uno de sus trabajadores 11/04/22
			$resultado_actualizacion = "<p style= 'color: red;padding: 20px;' ><b>No se pueden actualizar las jornadas de este periodo porque ya fueron confirmadas</b></p>";
			echo "<center>";
				echo $resultado_actualizacion;
			echo "</center>";
		}
		*/
		
		/* /////lo inactivé apra evitar que el supervisor Guzman se le bloquear la aprobación por haber cargado antes Wilmehl novedades de uno de sus trabajadores 
		if ($jornada_confirmada>0){
				//NO hace nada, esta jornada ya fue confirmada para este periodo
		}else{
			echo "<center><b><p style = 'padding:20px;'>Debe confirmar la jornada de todos los empleados antes de guardar</p></b></center>";
			echo "<center>";
				echo "<input name='procesar' type='submit' value='Actualizar Jornada'>";
			echo "</center>";
		}
		*/
		
		
			echo "<center><b><p style = 'padding:20px;'>Debe confirmar la jornada de todos los empleados antes de guardar</p></b></center>";
			echo "<center>";
				echo "<input name='procesar' type='submit' class='boton' value='Actualizar Jornada'>";
			echo "</center>";
		
		echo "</form>";
} else echo "<hr>";
mysqli_free_result($resultado);
mysqli_free_result($resultado_jornadas);
if (isset($resultado_empleados)) mysqli_free_result($resultado_empleados);
mysqli_close($enlace);
?>

<style>
/* Estilo general de la tabla */
.tabla-personal {
    border-collapse: collapse;
    margin: 20px auto;
    width: 900px;
    font-family: Arial, sans-serif;
}

/* Encabezados alineados y centrados */
.tabla-personal th {
    background: #43bced;
    color: white;
    padding: 10px;
    text-align: center !important;
    font-weight: bold;
    font-size: 14px;
    white-space: nowrap;
}

/* Celdas alineadas y centradas */
.tabla-personal td {
    padding: 10px;
    text-align: center;
    white-space: nowrap;
}

/* Filas alternadas */
.tabla-personal tr:nth-child(even) {
    background: #eef4f7;
}

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

/* Botón */
.boton {
    border-radius: 8px;
    padding: 8px 16px;
    border: none;
    cursor: pointer;
    transition: 0.2s ease;
}

.boton:hover {
    transform: scale(1.03);
}
</style>