File "CONSUEPP - copia.PHP"
Full Path: C:/wamp64/www/APPSST/Admin/fconsuldota/CONSUEPP - copia.PHP
File size: 10.69 KB
MIME-type: text/x-php
Charset: utf-8
<?php
session_start();
include("../bd/conexion.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Consulta de Entregas por Rango de Fechas</title>
<link rel="icon" type="image/png" href="../img/icono.png">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.css">
<style>
body {
background-image: linear-gradient(to right, #e2e2e2, #ffe5c9);
padding: 20px;
}
.card {
border-radius: 15px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.card-header {
background-color: #ff8a37;
color: white;
border-radius: 15px 15px 0 0 !important;
}
.table-container {
overflow-x: auto;
}
table.dataTable thead th {
background-color: #ff8a37;
color: white;
}
.btn-orange {
background-color: #ff8a37;
color: white;
}
.btn-orange:hover {
background-color: #e07a2e;
color: white;
}
.firma-img {
max-width: 100px;
cursor: pointer;
}
.firma-img:hover {
transform: scale(1.5);
transition: transform 0.3s;
z-index: 1000;
}
</style>
</head>
<body>
<div class="container">
<div class="card mb-4">
<div class="card-header">
<div class="d-flex justify-content-between align-items-center">
<h4 class="mb-0"><i class="fas fa-calendar-alt me-2"></i>Consulta de Entregas por Rango de Fechas</h4>
<a href="../dotacion/MENUP.PHP" class="btn btn-light btn-sm">
<i class="fas fa-home me-1"></i> Menú
</a>
</div>
</div>
<div class="card-body">
<form id="formConsulta" method="post" class="row g-3">
<div class="col-md-4">
<label for="cedula" class="form-label">Cédula del Operario</label>
<input type="text" class="form-control" id="cedula" name="cedula" required>
</div>
<div class="col-md-3">
<label for="fecha_inicio" class="form-label">Fecha Inicial</label>
<input type="date" class="form-control" id="fecha_inicio" name="fecha_inicio" required>
</div>
<div class="col-md-3">
<label for="fecha_fin" class="form-label">Fecha Final</label>
<input type="date" class="form-control" id="fecha_fin" name="fecha_fin" required>
</div>
<div class="col-md-2 d-flex align-items-end">
<button type="submit" class="btn btn-orange w-100">
<i class="fas fa-search me-1"></i> Buscar
</button>
</div>
</form>
</div>
</div>
<?php if(isset($_POST['cedula'])): ?>
<?php
$cedula = mysqli_real_escape_string($conexion, $_POST['cedula']);
$fecha_inicio = mysqli_real_escape_string($conexion, $_POST['fecha_inicio']);
$fecha_fin = mysqli_real_escape_string($conexion, $_POST['fecha_fin']);
// Consulta para obtener los datos del operario
$query_operario = "SELECT nombre, ccosto, cargo FROM entregasst WHERE cedula = '$cedula' LIMIT 1";
$result_operario = mysqli_query($conexion, $query_operario);
$operario = mysqli_fetch_assoc($result_operario);
if($operario):
?>
<div class="card mb-4">
<div class="card-header bg-info text-white">
<h5 class="mb-0">Datos del Operario</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-4">
<p><strong>Cédula:</strong> <?= $cedula ?></p>
</div>
<div class="col-md-4">
<p><strong>Nombre:</strong> <?= $operario['nombre'] ?></p>
</div>
<div class="col-md-2">
<p><strong>Centro Costo:</strong> <?= $operario['ccosto'] ?></p>
</div>
<div class="col-md-2">
<p><strong>Cargo:</strong> <?= $operario['cargo'] ?></p>
</div>
</div>
</div>
</div>
<?php endif; ?>
<div class="card">
<div class="card-header">
<h5 class="mb-0">Resultados de Entregas</h5>
</div>
<div class="card-body">
<div class="table-container">
<table id="tablaEntregas" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>#</th>
<th>Fecha Entrega</th>
<th>Código EPP</th>
<th>Descripción</th>
<th>Cantidad</th>
<th>Tipo Entrega</th>
<th>Tipo Estado</th>
<th>Devolutivo</th>
<th>Entregado</th>
<th>Firma</th>
</tr>
</thead>
<tbody>
<?php
$query = "SELECT e.*, i.DESCRIPCION as descripcion_epp
FROM entregasst e
LEFT JOIN inventario i ON e.codigo = i.CODIGO
WHERE e.cedula = '$cedula'
AND e.fEntrega BETWEEN '$fecha_inicio' AND '$fecha_fin'
ORDER BY e.fEntrega DESC";
$result = mysqli_query($conexion, $query);
$contador = 1;
while($row = mysqli_fetch_assoc($result)):
?>
<tr>
<td><?= $contador++ ?></td>
<td><?= date('d/m/Y', strtotime($row['fEntrega'])) ?></td>
<td><?= $row['codigo'] ?></td>
<td><?= $row['descripcion_epp'] ?: $row['epp'] ?></td>
<td><?= $row['cantidad'] ?></td>
<td><?= $row['tpEntrega'] ?></td>
<td><?= $row['tpEstado'] ?></td>
<td><?= $row['tpDevolutivo'] ?></td>
<td><?= $row['entrego'] ?: 'No' ?></td>
<td>
<?php if(!empty($row['firma'])): ?>
<img src="<?= $row['firma'] ?>" class="firma-img" data-bs-toggle="modal" data-bs-target="#modalFirma" onclick="mostrarFirma('<?= $row['firma'] ?>')">
<?php else: ?>
<span class="text-muted">Sin firma</span>
<?php endif; ?>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
</div>
</div>
<?php endif; ?>
</div>
<!-- Modal para visualizar firma -->
<div class="modal fade" id="modalFirma" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Firma del Operario</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body text-center">
<img id="firmaGrande" src="" class="img-fluid">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.js"></script>
<script>
$(document).ready(function() {
$('#tablaEntregas').DataTable({
language: {
url: '//cdn.datatables.net/plug-ins/1.11.5/i18n/es-ES.json'
},
dom: '<"top"lf>rt<"bottom"ip>',
responsive: true
});
// Establecer fecha de hoy como valor por defecto
const today = new Date().toISOString().split('T')[0];
$('#fecha_fin').val(today);
// Restar 30 días a la fecha actual
const date = new Date();
date.setDate(date.getDate() - 30);
const thirtyDaysAgo = date.toISOString().split('T')[0];
$('#fecha_inicio').val(thirtyDaysAgo);
});
function mostrarFirma(url) {
$('#firmaGrande').attr('src', url);
}
</script>
</body>
</html>