<?php
session_start();
header('Content-Type: application/json');
require_once(__DIR__ . '/../db/conexion.php');
require_once(__DIR__ . '/../utils/normalizar_texto.php');

// Leer y decodificar datos JSON
$data = json_decode(file_get_contents("php://input"), true);

// Validar CURP
$curp = strtoupper(trim(limpiarTexto($data['CURP'] ?? '', 'texto')));
if (empty($curp)) {
    echo json_encode(['success' => false, 'message' => 'CURP no recibido']);
    exit;
}

// Limpiar campos
$ultimo_dia         = !empty($data['Ultimo_dia_laborado']) ? trim($data['Ultimo_dia_laborado']) : null;
$cita_conciliacion  = !empty($data['Fecha_cita_conciliacion']) ? trim($data['Fecha_cita_conciliacion']) : null;
$finiquito          = !empty($data['Fecha_entrega_finiquito']) ? trim($data['Fecha_entrega_finiquito']) : null;

// Validar si hay al menos un dato
if (!$ultimo_dia && !$cita_conciliacion && !$finiquito) {
    echo json_encode(['success' => false, 'message' => 'No se enviaron datos para actualizar']);
    exit;
}

// Verificar existencia
$sqlCheck = "SELECT 1 FROM Plantilla_otros WHERE CURP = ?";
$stmtCheck = $conn->prepare($sqlCheck);
$stmtCheck->bind_param("s", $curp);
$stmtCheck->execute();
$existe = $stmtCheck->get_result()->num_rows > 0;

// Preparar SQL correspondiente
if ($existe) {
    $sql = "UPDATE Plantilla_otros SET 
        Ultimo_dia_laborado = ?, 
        Fecha_cita_conciliacion = ?, 
        Fecha_entrega_finiquito = ?
        WHERE CURP = ?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ssss", $ultimo_dia, $cita_conciliacion, $finiquito, $curp);
} else {
    $sql = "INSERT INTO Plantilla_otros (
        Ultimo_dia_laborado, Fecha_cita_conciliacion, Fecha_entrega_finiquito, CURP
    ) VALUES (?, ?, ?, ?)";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ssss", $ultimo_dia, $cita_conciliacion, $finiquito, $curp);
}

// Ejecutar
if ($stmt->execute()) {
    echo json_encode([
        'success' => true,
        'message' => $existe ? 'Datos actualizados correctamente' : 'Datos insertados correctamente'
    ]);
} else {
    echo json_encode([
        'success' => false,
        'message' => 'Error al guardar: ' . $stmt->error
    ]);
}
