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

$data = json_decode(file_get_contents("php://input"), true);

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

// Campos normalizados
$banco               = limpiarTexto($data['Banco'] ?? '');
$cuenta              = limpiarTexto($data['Cuenta_clave'] ?? '');
$numero_cuenta       = limpiarTexto($data['Numero_cuenta'] ?? '');
$tarjeta             = limpiarTexto($data['Tarjeta'] ?? '');
$vales               = limpiarTexto($data['Vales'] ?? '');
$tiene_vales         = limpiarTexto($data['Tiene_vales'] ?? '');
$num_empleado_vales  = limpiarTexto($data['Numero_empleado_vales'] ?? '');

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

// Preparar sentencia
if ($existe) {
    $sql = "UPDATE Plantilla_datos_financieros SET
        Banco = ?, Cuenta_clave = ?, Numero_cuenta = ?, Tarjeta = ?, Vales = ?, Tiene_vales = ?, Numero_empleado_vales = ?
        WHERE CURP = ?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ssssssss", $banco, $cuenta, $numero_cuenta, $tarjeta, $vales, $tiene_vales, $num_empleado_vales, $curp);
} else {
    $sql = "INSERT INTO Plantilla_datos_financieros
        (Banco, Cuenta_clave, Numero_cuenta, Tarjeta, Vales, Tiene_vales, Numero_empleado_vales, CURP)
        VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ssssssss", $banco, $cuenta, $numero_cuenta, $tarjeta, $vales, $tiene_vales, $num_empleado_vales, $curp);
}

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