Files

49 lines
2.3 KiB
PHP

<?php
require_once __DIR__ . '/../../../config/config.php';
if (!isUserLoggedIn()) { http_response_code(401); echo json_encode(['ok'=>false,'error'=>'No autorizado']); exit; }
header('Content-Type: application/json');
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
echo json_encode(['ok'=>false,'error'=>'Método no permitido']); exit;
}
$datos = json_decode(file_get_contents('php://input'), true) ?? [];
$id = !empty($datos['id']) ? (int) $datos['id'] : null;
$codigo = strtoupper(trim($datos['codigo'] ?? ''));
$nombres = trim($datos['nombres'] ?? '');
$apellidos = trim($datos['apellidos'] ?? '');
$especialidad = trim($datos['cod_especialidad'] ?? '');
$docid = trim($datos['docidmedico'] ?? '');
$telefonos = trim($datos['telefonos'] ?? '');
$email = trim($datos['email'] ?? '');
if (!$codigo) { echo json_encode(['ok'=>false,'error'=>'El código es obligatorio.']); exit; }
if (!$nombres) { echo json_encode(['ok'=>false,'error'=>'Los nombres son obligatorios.']); exit; }
if (!$apellidos) { echo json_encode(['ok'=>false,'error'=>'Los apellidos son obligatorios.']); exit; }
$pdo = Database::getInstance()->getConnection();
if ($id) {
// Editar
$stmt = $pdo->prepare(
"UPDATE medicos SET codigo=?, nombres=?, apellidos=?, telefonos=?, email=?, cod_especialidad=?, docidmedico=?
WHERE id=?"
);
$stmt->execute([$codigo, $nombres, $apellidos, $telefonos ?: null, $email ?: null, $especialidad ?: null, $docid ?: null, $id]);
echo json_encode(['ok'=>true,'mensaje'=>'Médico actualizado correctamente.']);
} else {
// Crear — verificar código único
$existe = $pdo->prepare("SELECT id FROM medicos WHERE codigo = ?");
$existe->execute([$codigo]);
if ($existe->fetch()) {
echo json_encode(['ok'=>false,'error'=>"El código '$codigo' ya existe."]); exit;
}
$stmt = $pdo->prepare(
"INSERT INTO medicos (codigo, nombres, apellidos, telefonos, email, cod_especialidad, docidmedico)
VALUES (?, ?, ?, ?, ?, ?, ?)"
);
$stmt->execute([$codigo, $nombres, $apellidos, $telefonos ?: null, $email ?: null, $especialidad ?: null, $docid ?: null]);
echo json_encode(['ok'=>true,'id'=>(int)$pdo->lastInsertId(),'mensaje'=>'Médico creado correctamente.']);
}