<?php
session_start();
if (!isset($_SESSION['usuario'])) {
    header("Location: st_acceso.php");
    exit;
}

ini_set('display_errors', 1);
error_reporting(E_ALL);

require_once('st_conexion.php');

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
];

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (PDOException $e) {
    die("Error de conexión: " . $e->getMessage());
}

$usuarioSis = $_SESSION['usuario'];

$sqlUser = "SELECT NOMBRE, APELLIDO_PATERNO 
            FROM HE_USUARIOS 
            WHERE USUARIO_SIS = :usr";
$stmtUser = $pdo->prepare($sqlUser);
$stmtUser->execute(['usr' => $usuarioSis]);
$usr = $stmtUser->fetch();
$usuarioNombreMostrar = $usr ? ($usr['NOMBRE'].' '.$usr['APELLIDO_PATERNO']) : $usuarioSis;

// ===============================
// OBTENER PRESTAMOS PENDIENTES CON DETALLES
// ===============================
$sqlPrestamos = "
SELECT 
    d.CLAVE_PRODUCTO,
    h.ID,
    h.ID_USUARIO_ENTREGA,
    h.ID_USUARIO_RECIBE,
    h.FECHA_INICIO,
    h.HORA_INICIO,
    h.FECHA_FIN,
    h.HORA_FIN,
    h.NOTA,
    h.ESTADO,
    h.FIRMA_ENTREGA,
    d.NOTA_ENTREGA,
    d.NOTA_DEVOLUCION,
    d.FECHA_DEVOLUCION,
    d.HORA_DEVOLUCION,
    m.NOMBRE AS NOMBRE_HERR,
    m.DESCRIPCION,
    m.SERIE,
    t.NOMBRE AS NOM_TIPO,
    u1.NOMBRE AS NOMBRE_ENTREGA,
    u1.APELLIDO_PATERNO AS APELLIDO_ENTREGA,
    u2.NOMBRE AS NOMBRE_RECIBE,
    u2.APELLIDO_PATERNO AS APELLIDO_RECIBE
FROM HE_PRESTAMO_HDR h
INNER JOIN HE_PRESTAMO_DTL d ON d.ID_PRESTAMO = h.ID
LEFT JOIN HE_USUARIOS u1 ON u1.ID_USUARIO = h.ID_USUARIO_ENTREGA
LEFT JOIN HE_USUARIOS u2 ON u2.ID_USUARIO = h.ID_USUARIO_RECIBE
LEFT JOIN HE_MAESTRO m ON m.CLAVE = d.CLAVE_PRODUCTO
LEFT JOIN HE_TIPO t ON m.ID_TIPO = t.ID_TIPO
WHERE d.FECHA_DEVOLUCION = '' OR d.FECHA_DEVOLUCION IS NULL
ORDER BY d.CLAVE_PRODUCTO ASC, h.FECHA_INICIO DESC
";

$stmt = $pdo->query($sqlPrestamos);
$prestamos = $stmt->fetchAll();

// Agrupar por herramienta
$herramientas = [];
foreach ($prestamos as $p) {
    $clave = $p['CLAVE_PRODUCTO'];
    if (!isset($herramientas[$clave])) {
        $herramientas[$clave] = [];
    }
    $herramientas[$clave][] = $p;
}

// Función para calcular días pendientes
function diasPendientes($fechaInicio) {
    $hoy = new DateTime();
    $fecha = DateTime::createFromFormat('Y-m-d', $fechaInicio);
    if (!$fecha) return '-';
    $diff = $hoy->diff($fecha);
    return $diff->days;
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Préstamos Pendientes</title>
<link rel="icon" href="Iconos/rf_icono_vineta.png" type="image/x-icon">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
* {margin:0; padding:0; box-sizing:border-box;}
body {font-family:'Helvetica',sans-serif; background:#f3f4f8; color:#333;}

.fondo-leyenda {background:#ffcc00; text-align:center; padding:5px; font-size:13px; font-weight:bold;}

.topbar {
    width:100%; background:#1D3C7D; color:white;
    display:flex; align-items:center; justify-content:center;
    padding:10px 30px; box-shadow:0 2px 5px rgba(0,0,0,0.2);
    position:fixed; top:0; z-index:1000; height:50px;
}
.topbar .title {position:absolute; left:20px; font-size:16px;}
.topbar .user-info {position:absolute; left:50%; transform:translateX(-50%);}
.topbar .logout {position:absolute; right:20px;}
.topbar .logout button {display:flex; align-items:center; gap:6px; background:#bd0909; border:none; padding:6px 14px; border-radius:6px; color:white; font-size:13px; cursor:pointer;}
.topbar .logout button:hover {background:red;}

.encabezado-formulario {
    margin-top:70px; display:flex; justify-content:space-between; align-items:center;
    padding:10px 20px; background:white; border-radius:10px; max-width:1600px; margin-left:auto; margin-right:auto;
    box-shadow:0 6px 12px rgba(0,0,0,0.15);
}

.contenedor-menu {
    background:white; padding:20px; border-radius:10px; max-width:1800px; margin:20px auto; box-shadow:0 6px 12px rgba(0,0,0,0.15);
}

table {width:100%; border-collapse:collapse; font-size:13px;}
th, td {padding:8px 12px; border:1px solid #ccc;}
.fila-click:hover {background:#eef3ff; cursor:pointer;}
.detalle {display:none; background:#f8f9fe;}
.detalle td {background:#f8f9fe;}

button.volver {background:#0c4896; color:white; border:none; padding:6px 12px; border-radius:6px; cursor:pointer;}
button.volver:hover {background:#084a8c;}
</style>
</head>
<body>

<div class="fondo-leyenda">Sistema en Modo Pruebas - @Sergio Bravo contacto +56 9 46237231</div>

<div class="topbar">
<div class="title">StockTools</div>
<div class="user-info">Bienvenido, <?= htmlspecialchars($usuarioNombreMostrar) ?></div>
<div class="logout">
<button onclick="location.href='st_logout.php'">
<img src="Iconos/st_icono_salir.png" width="30" height="30"> Cerrar Sesión
</button>
</div>
</div>

<div class="encabezado-formulario">
<h1 style="font-size:18px;">Préstamos Pendientes de Devolución</h1>
<button type="button" class="volver" onclick="location.href='st_menuppl.php'">Volver al Menú Principal</button>
</div>

<div class="contenedor-menu">
<table>
<thead>
<tr>
<th>CLAVE</th>
<th>Serie</th>
<th>Descripción</th>
<th>Tipo</th>
<th>Usuario Entrega</th>
<th>Usuario Recibe</th>
<th>Fecha Inicio</th>
<th>Días Pendientes</th>
</tr>
</thead>
<tbody>
<?php foreach($herramientas as $clave => $detalles): ?>
    <?php $d = $detalles[0]; ?>
    <tr class="fila-click" data-id="<?= $clave ?>">
        <td><?= htmlspecialchars($d['CLAVE_PRODUCTO']) ?></td>
        <td><?= htmlspecialchars($d['SERIE']) ?></td>
        <td><?= htmlspecialchars($d['DESCRIPCION']) ?></td>
        <td><?= htmlspecialchars($d['NOM_TIPO']) ?></td>
        <td><?= htmlspecialchars($d['NOMBRE_ENTREGA'].' '.$d['APELLIDO_ENTREGA']) ?></td>
        <td><?= htmlspecialchars($d['NOMBRE_RECIBE'].' '.$d['APELLIDO_RECIBE']) ?></td>
        <td><?= $d['FECHA_INICIO'].' '.$d['HORA_INICIO'] ?></td>
        <td><?= diasPendientes($d['FECHA_INICIO']) ?></td>
    </tr>

    <?php foreach ($detalles as $d): ?>
    <tr class="detalle detalle-<?= $clave ?>">
        <td colspan="8">
            <strong>Nota Entrega:</strong> <?= htmlspecialchars($d['NOTA_ENTREGA']) ?> |
            <strong>Nota Devolución:</strong> <?= htmlspecialchars($d['NOTA_DEVOLUCION']) ?> |
            <strong>Fecha Devolución:</strong> <?= htmlspecialchars($d['FECHA_DEVOLUCION'].' '.$d['HORA_DEVOLUCION']) ?> |
            <strong>Estado:</strong> <?= $d['ESTADO'] ?>
        </td>
    </tr>
    <?php endforeach; ?>
<?php endforeach; ?>
</tbody>
</table>
</div>

<script>
document.querySelectorAll(".fila-click").forEach(fila=>{
    fila.addEventListener("click", ()=>{
        let id = fila.getAttribute("data-id");
        document.querySelectorAll(".detalle-"+id).forEach(det=>{
            det.style.display = det.style.display==="table-row"?"none":"table-row";
        });
    });
});
</script>

</body>
</html>
