File "REG.php"
Full Path: C:/wamp64/www/APPSST/dotacion/REG.php
File size: 18.29 KB
MIME-type: text/x-php
Charset: utf-8
<?PHP
session_start();
header("Cache-control: private");
include("../bd/conexion.php");
// ★★★ OBTENER USUARIO DE DIFERENTES FUENTES ★★★
$usuario_logueado = '';
if(isset($_POST['usuario_logueado']) && !empty($_POST['usuario_logueado'])) {
$usuario_logueado = $_POST['usuario_logueado'];
$_SESSION['DIGITA'] = $usuario_logueado;
} else if(isset($_SESSION['DIGITA']) && !empty($_SESSION['DIGITA'])) {
$usuario_logueado = $_SESSION['DIGITA'];
} else {
echo "<script>alert('Sesión expirada. Por favor, inicie sesión nuevamente.'); window.location.href='../login/index.html';</script>";
exit();
}
// ★★★ OBTENER INFORMACIÓN DEL EMPLEADO ★★★
$cedula_empleado = isset($_POST['cedula_empleado']) ? $_POST['cedula_empleado'] : '';
$nombre_empleado = isset($_POST['nombre_empleado']) ? $_POST['nombre_empleado'] : '';
$ccosto_empleado = isset($_POST['ccosto_empleado']) ? $_POST['ccosto_empleado'] : '';
$area_empleado = isset($_POST['area_empleado']) ? $_POST['area_empleado'] : '';
$cargo_empleado = isset($_POST['cargo_empleado']) ? $_POST['cargo_empleado'] : '';
$es_empleado_nuevo = isset($_POST['es_empleado_nuevo']) ? $_POST['es_empleado_nuevo'] : '0';
$empleado_completo = isset($_POST['empleado_completo']) ? $_POST['empleado_completo'] : '0';
// Si no hay información del empleado, redirigir
if(empty($cedula_empleado)) {
echo "<script>alert('Error: No se recibió información del empleado.'); window.location.href='select_epp.php';</script>";
exit();
}
// Procesar los datos del formulario de selección de EPP
$epp_seleccionados = isset($_POST['epp_seleccionado']) ? $_POST['epp_seleccionado'] : array();
$cantidades = isset($_POST['cantidad']) ? $_POST['cantidad'] : array();
$tipo_epp = isset($_POST['tipoEpp']) ? $_POST['tipoEpp'] : '';
// Preparar los datos de los EPP seleccionados para mostrar
$epp_data = array();
foreach($epp_seleccionados as $epp) {
list($tipo, $id, $codigo, $descripcion) = explode('|', $epp);
$cantidad = isset($cantidades[$id]) ? $cantidades[$id] : 1;
$epp_data[] = array(
'tipo' => $tipo,
'id' => $id,
'codigo' => $codigo,
'descripcion' => $descripcion,
'cantidad' => $cantidad
);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<title>Registro de Entrega EPP</title>
<link rel="icon" type="image/png" href="../img/icono.png">
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css" integrity="sha512-KfkfwYDsLkIlwQp6LFnl8zNdLGxu9YAA1QvwINks4PhcElQSvqcyVLLD9aMhXd13uQjoXtEKNosOWaZqXgel0g==" crossorigin="anonymous" referrerpolicy="no-referrer">
<link rel="stylesheet" type="text/css" href="../css/login.css">
<link rel="stylesheet" type="text/css" href="../css/registro.css">
<style>
body {
height: 100vh;
background-image: linear-gradient(to right, #e2e2e2, #ffe5c9);
}
.form-container {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
width: 100%;
min-height: 100%;
padding: 20px;
}
.main-form {
background: white;
border-radius: 25px;
box-shadow: 0px 10px 20px 10px rgb(0 0 0 / 10%);
width: 100%;
max-width: 973px;
padding: 20px;
}
.epp-seleccionados {
background: #f8f9fa;
border-radius: 10px;
padding: 15px;
margin-bottom: 20px;
border: 1px solid #dee2e6;
}
.epp-seleccionados h4 {
color: coral;
margin-bottom: 15px;
border-bottom: 1px solid #ddd;
padding-bottom: 10px;
}
.epp-item {
display: flex;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid #eee;
}
.epp-item:last-child {
border-bottom: none;
}
.epp-item .badge {
font-size: 0.9em;
margin-left: 10px;
}
.form-title {
color: coral;
margin-bottom: 20px;
}
.form-table {
width: 100%;
}
.form-table td {
padding: 10px;
}
.form-table input[type="text"],
.form-table input[type="date"],
.form-table select {
width: 100%;
padding: 8px;
border: 1px solid #ddd;
border-radius: 4px;
}
.btn-orange {
background-color: coral;
color: white;
}
.btn-orange:hover {
background-color: #ff7f50;
color: white;
}
.btn-red {
background-color: #dc3545;
color: white;
}
.btn-red:hover {
background-color: #c82333;
color: white;
}
.empleado-info {
background-color: #fff3cd;
border: 1px solid #ffeaa7;
border-radius: 5px;
padding: 15px;
margin-bottom: 20px;
}
.empleado-registrado {
background-color: #d4edda;
border: 1px solid #c3e6cb;
border-radius: 5px;
padding: 15px;
margin-bottom: 20px;
}
@media (max-width: 768px) {
.main-form {
width: 95%;
padding: 15px;
}
.form-table td {
padding: 5px;
display: block;
width: 100%;
}
}
</style>
</head>
<body>
<div class="form-container">
<form class="main-form" method="post" action="insertar.php">
<!-- ★★★ CAMPOS OCULTOS IMPORTANTES ★★★ -->
<input type="hidden" name="hidden_user" value="<?php echo $usuario_logueado; ?>">
<input type="hidden" name="ident" value="<?php echo $cedula_empleado; ?>">
<input type="hidden" name="nombre" value="<?php echo $nombre_empleado; ?>">
<input type="hidden" name="es_empleado_nuevo" value="<?php echo $es_empleado_nuevo; ?>">
<input type="hidden" name="empleado_completo" value="<?php echo $empleado_completo; ?>">
<input type="hidden" name="tpEstado" value="<?php echo $tipo_epp; ?>">
<input type="hidden" name="tipoEpp" value="<?php echo $tipo_epp; ?>">
<!-- Mostrar información del usuario logueado -->
<div class="alert alert-info">
<i class="fas fa-user"></i> <strong>Usuario logueado:</strong> <?php echo $usuario_logueado; ?>
</div>
<!-- ★★★ INFORMACIÓN DEL EMPLEADO ★★★ -->
<div class="<?php echo ($empleado_completo == '1') ? 'empleado-registrado' : 'empleado-info'; ?>">
<h5>
<i class="fas fa-user-check"></i>
<?php echo ($empleado_completo == '1') ? 'Empleado Registrado' : 'Empleado Seleccionado'; ?>
</h5>
<div class="row">
<div class="col-md-6">
<p><strong>Cédula:</strong> <?php echo $cedula_empleado; ?></p>
<?php if(!empty($nombre_empleado)): ?>
<p><strong>Nombre:</strong> <?php echo $nombre_empleado; ?></p>
<?php else: ?>
<p><em>Empleado nuevo - Se solicitará el nombre a continuación</em></p>
<?php endif; ?>
</div>
<div class="col-md-6">
<?php if(!empty($ccosto_empleado)): ?>
<p><strong>Centro de Costo:</strong> <?php echo $ccosto_empleado; ?></p>
<?php endif; ?>
<?php if(!empty($area_empleado)): ?>
<p><strong>Area:</strong> <?php echo $area_empleado; ?></p>
<?php endif; ?>
<?php if(!empty($cargo_empleado)): ?>
<p><strong>Cargo:</strong> <?php echo $cargo_empleado; ?></p>
<?php endif; ?>
</div>
</div>
<?php if($empleado_completo == '1'): ?>
<div class="alert alert-success mt-2 mb-0">
<i class="fas fa-check-circle"></i> <strong>Empleado verificado</strong> - Información completa disponible
</div>
<?php endif; ?>
</div>
<!-- Contenedor para mostrar los EPP seleccionados -->
<div class="epp-seleccionados">
<h4><i class="fas fa-clipboard-list"></i> Elementos Seleccionados para Entrega</h4>
<?php if(!empty($epp_data)): ?>
<?php foreach($epp_data as $item): ?>
<div class="epp-item">
<span>
<strong><?php echo $item['codigo']; ?></strong> -
<?php echo $item['descripcion']; ?>
<span class="badge badge-<?php echo $item['tipo'] == 'nuevo' ? 'success' : 'warning'; ?>">
<?php echo ucfirst($item['tipo']); ?>
</span>
</span>
<span>
Cantidad: <?php echo $item['cantidad']; ?>
</span>
<input type="hidden" name="epp_items[]" value="<?php echo $item['tipo'].'|'.$item['id'].'|'.$item['codigo'].'|'.$item['descripcion'].'|'.$item['cantidad']; ?>">
</div>
<?php endforeach; ?>
<?php else: ?>
<div class="alert alert-warning">
No se han seleccionado elementos. <a href="select_epp.php" class="alert-link">Volver a selección</a>
</div>
<?php endif; ?>
</div>
<!-- Formulario de datos del personal -->
<center>
<h3 class="form-title">INFORMACIÓN ADICIONAL DE LA ENTREGA</h3>
<hr>
<p>"Favor diligenciar la siguiente información para poder continuar"</p>
<hr>
<table class="form-table">
<tbody>
<!-- ★★★ SOLO MOSTRAR CAMPO DE NOMBRE SI ES EMPLEADO NUEVO ★★★ -->
<?php if($es_empleado_nuevo == '1'): ?>
<tr>
<td><strong>Nombres y Apellidos:</strong></td>
<td>
<input type="text" style="text-transform:uppercase;" autocomplete="off" name="nombre_nuevo" class="form-control" placeholder="Ingrese el nombre completo del empleado" required>
</td>
</tr>
<?php endif; ?>
<tr>
<td><strong>Centro de Costo:</strong></td>
<td>
<select class="form-control" name="ccosto" id="ccosto" required>
<option value="" selected hidden>Selecciona el Centro de Costo</option>
<?php
$cc = mysqli_query($conexion, "SELECT * FROM ccosto");
while ($cost = mysqli_fetch_row($cc)) {
$selected = ($ccosto_empleado == $cost[1]) ? 'selected' : '';
echo '<option value="'.$cost[1].'" '.$selected.'>'.$cost[1].' - '.$cost[2].'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td><strong>Area:</strong></td>
<td>
<select class="form-control" name="area" id="area" required>
<option value="" selected hidden>Selecciona el Area</option>
<?php
$ar = mysqli_query($conexion, "SELECT * FROM area");
while ($are = mysqli_fetch_row($ar)) {
$selected = ($area_empleado == $are[1]) ? 'selected' : '';
echo '<option value="'.$are[1].'" '.$selected.'>'.$are[1].' - '.$are[2].'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td><strong>Cargo:</strong></td>
<td>
<select class="form-control" name="cargo" id="cargo" required>
<option value="" selected hidden>Selecciona el Cargo</option>
<?php
$cg = mysqli_query($conexion, "SELECT * FROM cargo");
while ($carg = mysqli_fetch_row($cg)) {
$selected = ($cargo_empleado == $carg[1]) ? 'selected' : '';
echo '<option value="'.$carg[1].'" '.$selected.'>'.$carg[1].'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td><strong>Fecha de Entrega:</strong></td>
<td>
<input type="date" id="fechaEntrega" autocomplete="off" name="fEntrega" class="form-control" required>
</td>
</tr>
<tr>
<td><strong>Tipo de Entrega:</strong></td>
<td>
<select required class="form-control" name="tpEntrega" id="tpEntrega">
<option value="" selected hidden>Seleccionar</option>
<option>Primera Vez</option>
<option>Reposición Por Daño</option>
<option>Reposición Por Perdida</option>
<option>OTROS</option>
</select>
</td>
</tr>
<tr>
<td><strong>Devolutivo:</strong></td>
<td>
<select required class="form-control" name="tpDevolutivo" id="tpDevolutivo">
<option value="" selected hidden>Seleccionar: Si/No</option>
<option>Si</option>
<option>No</option>
</select>
</td>
</tr>
</tbody>
</table>
<br>
<div class="form-group">
<input type="submit" name="guardar" id="CONFIRMAR" value="GUARDAR" class="btn btn-orange btn-lg">
<a class="btn btn-red btn-lg" href="select_epp.php">
<i class="fas fa-arrow-left mr-2"></i> ATRÁS
</a>
</div>
</center>
</form>
</div>
<script>
$(document).ready(function() {
$('#ccosto, #cargo, #tpEntrega, #tpEstado, #tpDevolutivo').select2({
width: '100%'
});
// Establecer la fecha actual como valor predeterminado
var today = new Date().toISOString().split('T')[0];
document.getElementById("fechaEntrega").value = today;
});
</script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>