File "CONSUEPP - copia.PHP"

Full Path: C:/wamp64/www/APPSST/Admin/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>