feat(medicos): seed 444 médicos + columnas telefonos/email en tabla y modal
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
48f9e32c22
commit
3b378c0d75
@@ -10,7 +10,7 @@ $buscar = trim($_GET['q'] ?? '');
|
||||
if ($buscar !== '') {
|
||||
$like = '%' . $buscar . '%';
|
||||
$stmt = $pdo->prepare(
|
||||
"SELECT id, codigo, nombres, apellidos, cod_especialidad, docidmedico, activo
|
||||
"SELECT id, codigo, nombres, apellidos, telefonos, email, cod_especialidad, docidmedico, activo
|
||||
FROM medicos
|
||||
WHERE nombres LIKE ? OR apellidos LIKE ? OR codigo LIKE ? OR docidmedico LIKE ?
|
||||
ORDER BY apellidos, nombres"
|
||||
@@ -18,7 +18,7 @@ if ($buscar !== '') {
|
||||
$stmt->execute([$like, $like, $like, $like]);
|
||||
} else {
|
||||
$stmt = $pdo->query(
|
||||
"SELECT id, codigo, nombres, apellidos, cod_especialidad, docidmedico, activo
|
||||
"SELECT id, codigo, nombres, apellidos, telefonos, email, cod_especialidad, docidmedico, activo
|
||||
FROM medicos ORDER BY apellidos, nombres"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ $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; }
|
||||
@@ -25,10 +27,10 @@ $pdo = Database::getInstance()->getConnection();
|
||||
if ($id) {
|
||||
// Editar
|
||||
$stmt = $pdo->prepare(
|
||||
"UPDATE medicos SET codigo=?, nombres=?, apellidos=?, cod_especialidad=?, docidmedico=?
|
||||
"UPDATE medicos SET codigo=?, nombres=?, apellidos=?, telefonos=?, email=?, cod_especialidad=?, docidmedico=?
|
||||
WHERE id=?"
|
||||
);
|
||||
$stmt->execute([$codigo, $nombres, $apellidos, $especialidad ?: null, $docid ?: null, $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
|
||||
@@ -38,9 +40,9 @@ if ($id) {
|
||||
echo json_encode(['ok'=>false,'error'=>"El código '$codigo' ya existe."]); exit;
|
||||
}
|
||||
$stmt = $pdo->prepare(
|
||||
"INSERT INTO medicos (codigo, nombres, apellidos, cod_especialidad, docidmedico)
|
||||
VALUES (?, ?, ?, ?, ?)"
|
||||
"INSERT INTO medicos (codigo, nombres, apellidos, telefonos, email, cod_especialidad, docidmedico)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?)"
|
||||
);
|
||||
$stmt->execute([$codigo, $nombres, $apellidos, $especialidad ?: null, $docid ?: null]);
|
||||
$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.']);
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ $API = BASE_URL . 'modules/medicos/api/';
|
||||
<th>Nombres</th>
|
||||
<th>Apellidos</th>
|
||||
<th>Especialidad</th>
|
||||
<th>Teléfonos</th>
|
||||
<th>Doc. ID</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
@@ -98,10 +99,20 @@ $API = BASE_URL . 'modules/medicos/api/';
|
||||
<input type="text" id="med-apellidos" class="form-control form-control-sm"
|
||||
placeholder="Apellidos" maxlength="100">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label class="form-label small fw-semibold">Teléfonos</label>
|
||||
<input type="text" id="med-telefonos" class="form-control form-control-sm"
|
||||
placeholder="Teléfonos" maxlength="50">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label class="form-label small fw-semibold">Email</label>
|
||||
<input type="email" id="med-email" class="form-control form-control-sm"
|
||||
placeholder="correo@ejemplo.com" maxlength="100">
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label class="form-label small fw-semibold">Código especialidad</label>
|
||||
<input type="text" id="med-esp" class="form-control form-control-sm"
|
||||
placeholder="Ej: MED, PED, GIN…" maxlength="50">
|
||||
placeholder="Ej: GEN, PED, GIN…" maxlength="10">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -172,6 +183,7 @@ function renderTabla(rows) {
|
||||
<td>${esc(m.nombres)}</td>
|
||||
<td>${esc(m.apellidos)}</td>
|
||||
<td>${m.cod_especialidad ? `<span class="badge-esp">${esc(m.cod_especialidad)}</span>` : '<span class="text-muted">—</span>'}</td>
|
||||
<td style="font-size:.82rem;color:#475569">${esc(m.telefonos || '—')}</td>
|
||||
<td>${esc(m.docidmedico || '—')}</td>
|
||||
<td>
|
||||
<div class="acciones">
|
||||
@@ -193,6 +205,8 @@ function abrirModal(m = null) {
|
||||
document.getElementById('med-codigo').value = m?.codigo ?? '';
|
||||
document.getElementById('med-nombres').value = m?.nombres ?? '';
|
||||
document.getElementById('med-apellidos').value = m?.apellidos ?? '';
|
||||
document.getElementById('med-telefonos').value = m?.telefonos ?? '';
|
||||
document.getElementById('med-email').value = m?.email ?? '';
|
||||
document.getElementById('med-esp').value = m?.cod_especialidad ?? '';
|
||||
document.getElementById('med-docid').value = m?.docidmedico ?? '';
|
||||
_modal.show();
|
||||
@@ -210,6 +224,8 @@ async function guardar() {
|
||||
codigo: document.getElementById('med-codigo').value.trim(),
|
||||
nombres: document.getElementById('med-nombres').value.trim(),
|
||||
apellidos: document.getElementById('med-apellidos').value.trim(),
|
||||
telefonos: document.getElementById('med-telefonos').value.trim(),
|
||||
email: document.getElementById('med-email').value.trim(),
|
||||
cod_especialidad: document.getElementById('med-esp').value.trim(),
|
||||
docidmedico: document.getElementById('med-docid').value.trim(),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user