<?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'];

// Obtener nombre del usuario de sesión
$stmtUser = $pdo->prepare("SELECT NOMBRE, APELLIDO_PATERNO FROM HE_USUARIOS WHERE USUARIO_SIS = :usr");
$stmtUser->execute(['usr'=>$usuarioSis]);
$usr = $stmtUser->fetch();
$usuarioNombreMostrar = $usr ? ($usr['NOMBRE'].' '.$usr['APELLIDO_PATERNO']) : $usuarioSis;

// ======================
// Obtener todos los préstamos pendientes (estado 1 o 3)
// ======================
$sqlPrestamos = "
SELECT H.*, UR.NOMBRE AS REC_NOM, UR.APELLIDO_PATERNO AS REC_APE, UR.RUT AS REC_RUT,
       UE.NOMBRE AS ENT_NOM, UE.APELLIDO_PATERNO AS ENT_APE
FROM HE_PRESTAMO_HDR H
LEFT JOIN HE_USUARIOS UR ON UR.ID_USUARIO = H.ID_USUARIO_RECIBE
LEFT JOIN HE_USUARIOS UE ON UE.ID_USUARIO = H.ID_USUARIO_ENTREGA
WHERE H.ESTADO IN (1,3)
ORDER BY UR.NOMBRE, UR.APELLIDO_PATERNO, H.FECHA_INICIO DESC
";
$stmt = $pdo->query($sqlPrestamos);
$prestamos = $stmt->fetchAll();

// Obtener detalle de cada préstamo
$detalles = [];
$stmtDet = $pdo->prepare("SELECT D.*, M.SERIE FROM HE_PRESTAMO_DTL D LEFT JOIN HE_MAESTRO M ON D.CLAVE_PRODUCTO=M.CLAVE WHERE D.ID_PRESTAMO=:id");
foreach($prestamos as $p) {
    $stmtDet->execute(['id'=>$p['ID']]);
    $detalles[$p['ID']] = $stmtDet->fetchAll();
}

// 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>Usuario</th>
<th>RUT</th>
<th>ID Prestamo</th>
<th>Fecha Inicio</th>
<th>Hora Inicio</th>
<th>Estado</th>
<th>Días Pendientes</th>
</tr>
</thead>
<tbody>
<?php foreach($prestamos as $p): ?>
<tr class="fila-click" data-id="<?= $p['ID'] ?>">
<td><?= htmlspecialchars($p['REC_NOM'].' '.$p['REC_APE']) ?></td>
<td><?= htmlspecialchars($p['REC_RUT']) ?></td>
<td><?= $p['ID'] ?></td>
<td><?= $p['FECHA_INICIO'] ?></td>
<td><?= $p['HORA_INICIO'] ?></td>
<td><?= $p['ESTADO']==1?'Activo':'Devolución Parcial' ?></td>
<td><?= diasPendientes($p['FECHA_INICIO']) ?></td>
</tr>

<tr class="detalle detalle-<?= $p['ID'] ?>">
<td colspan="7">
<strong>Detalle del Préstamo #<?= $p['ID'] ?></strong><br><br>
<table style="width:95%; margin:auto;">
<thead>
<tr>
<th>CLAVE</th>
<th>SERIE</th>
<th>Nota Entrega</th>
<th>Nota Devolución</th>
<th>Fecha Devolución</th>
<th>Hora Devolución</th>
</tr>
</thead>
<tbody>
<?php foreach($detalles[$p['ID']] as $d): ?>
<tr>
<td><?= htmlspecialchars($d['CLAVE_PRODUCTO']) ?></td>
<td><?= htmlspecialchars($d['SERIE']) ?></td>
<td><?= htmlspecialchars($d['NOTA_ENTREGA']) ?></td>
<td><?= htmlspecialchars($d['NOTA_DEVOLUCION']) ?></td>
<td><?= $d['FECHA_DEVOLUCION'] ?: '-' ?></td>
<td><?= $d['HORA_DEVOLUCION'] ?: '-' ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</td>
</tr>

<?php endforeach; ?>
</tbody>
</table>
</div>

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

</body>
</html>
