feat(lab_examenes): múltiples consentimientos por examen
Mismo patrón que turnero/configuracion: form_ids[] en lugar de formulario_id único, checkboxes en la vista, INSERT múltiple en save.php Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
b2bc0f950a
commit
cf8d011f09
@@ -31,7 +31,7 @@ $activo = (int)($d['activo'] ?? 1);
|
||||
$req_ayuno = (int)($d['requiere_ayuno'] ?? 0);
|
||||
$horas_ayuno = isset($d['horas_ayuno']) && $d['horas_ayuno'] !== '' ? (int)$d['horas_ayuno'] : null;
|
||||
$instruc = trim($d['instrucciones'] ?? '') ?: null;
|
||||
$formId = (int)($d['formulario_id'] ?? 0) ?: null;
|
||||
$formIds = array_values(array_unique(array_filter(array_map('intval', (array)($d['form_ids'] ?? [])))));
|
||||
|
||||
if ($codigo === '') jsonError('El código es requerido');
|
||||
if ($nombre === '') jsonError('El nombre es requerido');
|
||||
@@ -59,10 +59,8 @@ try {
|
||||
}
|
||||
|
||||
$pdo->prepare('DELETE FROM exam_tipo_consentimientos WHERE exam_tipo_id = ?')->execute([$examId]);
|
||||
if ($formId) {
|
||||
$pdo->prepare('INSERT INTO exam_tipo_consentimientos (exam_tipo_id, formulario_id) VALUES (?,?)')
|
||||
->execute([$examId, $formId]);
|
||||
}
|
||||
$ins = $pdo->prepare('INSERT INTO exam_tipo_consentimientos (exam_tipo_id, formulario_id) VALUES (?,?)');
|
||||
foreach ($formIds as $fid) { $ins->execute([$examId, $fid]); }
|
||||
|
||||
$pdo->commit();
|
||||
jsonOk(['id' => $examId], $id ? 'Examen actualizado' : 'Examen creado');
|
||||
|
||||
Reference in New Issue
Block a user