<?php
// backend/deducciones/actualizar_parcialidades_pendientes.php
require_once __DIR__ . '/../db/conexion.php';

// Obtener todas las deducciones activas
$sql = "SELECT id, fecha_inicio_pago, parcialidades, periodicidad FROM deducciones WHERE activo = 1";
$result = $conn->query($sql);

$hoy = new DateTime();
$actualizadas = 0;

while ($row = $result->fetch_assoc()) {
    $id = $row['id'];
    $fecha_inicio = $row['fecha_inicio_pago'];
    $parcialidades = intval($row['parcialidades']);
    $periodicidad = strtolower($row['periodicidad']);
    $pagadas = 0;

    $inicio = new DateTime($fecha_inicio);
    if ($hoy < $inicio) {
        $pagadas = 0;
    } else if (strpos($periodicidad, 'quincenal') !== false) {
        $dias = $inicio->diff($hoy)->days;
        $pagadas = intval(floor($dias / 15));
    } else {
        // Mensual
        $diff = $hoy->diff($inicio);
        $meses = ($diff->y * 12) + $diff->m;
        if ($hoy->d >= $inicio->d) $meses++;
        $pagadas = $meses;
    }
    if ($pagadas < 0) $pagadas = 0;
    if ($pagadas > $parcialidades) $pagadas = $parcialidades;
    $pendientes = $parcialidades - $pagadas;

    $sqlUpdate = "UPDATE deducciones SET parcialidadesPendientes = ? WHERE id = ?";
    $stmt = $conn->prepare($sqlUpdate);
    $stmt->bind_param('ii', $pendientes, $id);
    $stmt->execute();
    $stmt->close();
    $actualizadas++;
}

$conn->close();
echo "Actualización completada. Deducciones actualizadas: $actualizadas\n";
