<?php
include('conexion.php');
include_once('nomina_helpers.php');
include_once('nomina_prestaciones_master_helpers.php');
if (session_status() !== PHP_SESSION_ACTIVE) { session_start(); }
if (!isset($_SESSION['usuario'])) { header('Location: login.php'); exit; }
nomina_pm_ensure_schema($conexion);

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $res = nomina_pm_save_interest_rate($conexion, $_POST);
    nomina_flash_set($res['ok'] ? 'success' : 'error', $res['message']);
    header('Location: nomina_tasas_interes_bcv.php');
    exit;
}

$editYm = trim((string)($_GET['edit'] ?? ''));
$edit = null;
if ($editYm !== '') {
    $stmt = mysqli_prepare($conexion, "SELECT * FROM nomina_tasas_interes_bcv WHERE periodo_ym=? LIMIT 1");
    if ($stmt) {
        mysqli_stmt_bind_param($stmt, 's', $editYm);
        mysqli_stmt_execute($stmt);
        $res = mysqli_stmt_get_result($stmt);
        $edit = $res ? mysqli_fetch_assoc($res) : null;
        mysqli_stmt_close($stmt);
    }
}
$rates = nomina_pm_fetch_interest_rates($conexion, 72);
$flash = nomina_flash_get();
$defaultYm = date('Y-m');
?>
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Tasas de interés BCV - Prestaciones</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
body{font-family:Arial,Helvetica,sans-serif;background:#f2f5f9;color:#243b53;margin:0}.wrap{max-width:1180px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid #d9e2ec;border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.top h1{margin:0;font-size:22px}.muted,.mini{color:#6b7c93}.mini{font-size:12px}.btn{display:inline-block;background:#1f4aa8;color:#fff;text-decoration:none;border:none;border-radius:14px;padding:12px 18px;font-weight:700;cursor:pointer}.btn.secondary{background:#fff;color:#1f4aa8;border:1px solid #b7c6e3}.btn.ghost{background:#eef3ff;color:#1f4aa8}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font-size:15px}.field textarea{min-height:80px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{padding:11px 10px;border-bottom:1px solid #e5edf5;text-align:left;vertical-align:top}.table th{background:#f8fafc;font-size:13px}.tot{font-weight:800}.flash{padding:14px 16px;border-radius:14px;margin-bottom:14px}.flash.success{background:#ecfdf3;color:#166534;border:1px solid #86efac}.flash.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.note{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1;color:#486581}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-weight:700;font-size:12px}@media(max-width:900px){.grid{grid-template-columns:1fr}}
</style>
</head>
<body>
<div class="wrap">
  <div class="card top">
    <div>
      <h1>Tasas de interés BCV para prestaciones</h1>
      <div class="muted">Carga mensual de tasa activa, pasiva y promedio para calcular intereses sobre prestaciones. Fuente oficial sugerida: BCV → Estadísticas → Tasas de interés.</div>
    </div>
    <div>
      <a class="btn secondary" href="nomina_prestaciones.php">Volver a prestaciones</a>
      <a class="btn ghost" href="nomina_reporte_legal_trabajador.php">Reporte legal</a>
    </div>
  </div>

  <?php if ($flash): ?><div class="flash <?php echo h($flash['type']); ?>"><?php echo h($flash['message']); ?></div><?php endif; ?>

  <div class="card">
    <h2 style="margin-top:0;"><?php echo $edit ? 'Editar tasa ' . h($edit['periodo_ym']) : 'Registrar tasa mensual'; ?></h2>
    <form method="post">
      <div class="grid">
        <div class="field"><label>Período AAAA-MM</label><input name="periodo_ym" value="<?php echo h($edit['periodo_ym'] ?? $defaultYm); ?>" placeholder="2026-05" required></div>
        <div class="field"><label>Tasa activa anual %</label><input name="tasa_activa_anual" step="0.0001" type="number" value="<?php echo h($edit['tasa_activa_anual'] ?? '0.0000'); ?>"></div>
        <div class="field"><label>Tasa pasiva anual %</label><input name="tasa_pasiva_anual" step="0.0001" type="number" value="<?php echo h($edit['tasa_pasiva_anual'] ?? '0.0000'); ?>"></div>
        <div class="field"><label>Tasa promedio anual %</label><input name="tasa_promedio_anual" step="0.0001" type="number" value="<?php echo h($edit['tasa_promedio_anual'] ?? '0.0000'); ?>"><div class="mini">Si la dejas en 0, el sistema promedia activa y pasiva.</div></div>
        <div class="field"><label>Fecha de publicación</label><input name="fecha_publicacion" type="date" value="<?php echo h($edit['fecha_publicacion'] ?? date('Y-m-d')); ?>"></div>
        <div class="field"><label>Aplica a prestaciones</label><select name="aplica_prestaciones"><option value="1" <?php echo !isset($edit['aplica_prestaciones']) || (int)$edit['aplica_prestaciones'] === 1 ? 'selected' : ''; ?>>Sí</option><option value="0" <?php echo isset($edit['aplica_prestaciones']) && (int)$edit['aplica_prestaciones'] === 0 ? 'selected' : ''; ?>>No</option></select></div>
      </div>
      <div class="field" style="margin-top:14px;"><label>Fuente URL</label><input name="fuente_url" value="<?php echo h($edit['fuente_url'] ?? 'https://www.bcv.org.ve/estadisticas/tasas-de-interes'); ?>"></div>
      <div class="field" style="margin-top:14px;"><label>Observación / soporte</label><textarea name="observacion" placeholder="Ej: Aviso oficial BCV del mes, cargado por RRHH/Contabilidad."><?php echo h($edit['observacion'] ?? 'Tasa de interés BCV para cálculo de intereses sobre prestaciones sociales'); ?></textarea></div>
      <div style="margin-top:14px;"><button class="btn" type="submit">Guardar tasa</button> <?php if ($edit): ?><a class="btn secondary" href="nomina_tasas_interes_bcv.php">Cancelar edición</a><?php endif; ?></div>
    </form>
  </div>

  <div class="card">
    <h2 style="margin-top:0;">Tasas registradas</h2>
    <div class="note" style="margin-bottom:14px;">Para el método normal del sistema se usa <b>Promedio activa/pasiva</b>. También quedan disponibles <b>Pasiva</b> y <b>Activa</b> para criterio contable, fideicomiso o mora, según soporte legal/contable.</div>
    <div class="table-wrap"><table class="table"><thead><tr><th>Período</th><th>Activa %</th><th>Pasiva %</th><th>Promedio %</th><th>Publicación</th><th>Aplica</th><th>Observación</th><th></th></tr></thead><tbody>
      <?php foreach ($rates as $r): ?>
      <tr>
        <td><b><?php echo h($r['periodo_ym']); ?></b></td>
        <td><?php echo h(number_format((float)$r['tasa_activa_anual'], 4, ',', '.')); ?></td>
        <td><?php echo h(number_format((float)$r['tasa_pasiva_anual'], 4, ',', '.')); ?></td>
        <td class="tot"><?php echo h(number_format((float)$r['tasa_promedio_anual'], 4, ',', '.')); ?></td>
        <td><?php echo h($r['fecha_publicacion'] ?? ''); ?></td>
        <td><?php echo (int)$r['aplica_prestaciones'] === 1 ? '<span class="badge">Sí</span>' : 'No'; ?></td>
        <td><?php echo h($r['observacion'] ?? ''); ?><div class="mini"><?php echo h($r['fuente_url'] ?? ''); ?></div></td>
        <td><a class="btn secondary" href="nomina_tasas_interes_bcv.php?edit=<?php echo h(urlencode($r['periodo_ym'])); ?>">Editar</a></td>
      </tr>
      <?php endforeach; ?>
      <?php if (!$rates): ?><tr><td colspan="8"><div class="note">Aún no hay tasas cargadas. Registra al menos el mes de inicio del cálculo antes de generar intereses.</div></td></tr><?php endif; ?>
    </tbody></table></div>
  </div>
</div>
</body>
</html>
