prepare( "SELECT es.*, ti.nombre AS tarifa_nombre FROM lab_empresa_subgrupos es LEFT JOIN lab_tarifas_id ti ON ti.id = es.tarifa_id WHERE es.nit_empresa = ? ORDER BY es.subgrupo ASC" ); $s->execute([$nit]); jsonOk(['subgrupos' => $s->fetchAll(PDO::FETCH_ASSOC)]); } requireMethod('POST'); $data = json_decode(file_get_contents('php://input'), true) ?? []; $action = $data['action'] ?? ''; $pdo = db(); if ($action === 'delete') { $id = (int)($data['id'] ?? 0); if ($id <= 0) jsonError('id requerido'); $pdo->prepare("DELETE FROM lab_empresa_subgrupos WHERE id = ?")->execute([$id]); jsonOk(['deleted' => true]); } if ($action === 'save') { $id = (int)($data['id'] ?? 0); $nitEmpresa = trim($data['nit_empresa'] ?? ''); $subgrupo = trim($data['subgrupo'] ?? ''); if ($nitEmpresa === '') jsonError('nit_empresa requerido'); if ($subgrupo === '') jsonError('subgrupo requerido'); $tarifaId = isset($data['tarifa_id']) && $data['tarifa_id'] !== '' ? (int)$data['tarifa_id'] : null; $refSub = trim($data['ref_subgrupo'] ?? '') ?: null; $codCon = trim($data['cod_contrato'] ?? '') ?: null; if ($id > 0) { $pdo->prepare( "UPDATE lab_empresa_subgrupos SET subgrupo=?, tarifa_id=?, ref_subgrupo=?, cod_contrato=? WHERE id=? AND nit_empresa=?" )->execute([$subgrupo, $tarifaId, $refSub, $codCon, $id, $nitEmpresa]); } else { $pdo->prepare( "INSERT INTO lab_empresa_subgrupos (nit_empresa, subgrupo, tarifa_id, ref_subgrupo, cod_contrato) VALUES (?, ?, ?, ?, ?)" )->execute([$nitEmpresa, $subgrupo, $tarifaId, $refSub, $codCon]); $id = (int)$pdo->lastInsertId(); } jsonOk(['id' => $id]); } jsonError('Acción no reconocida', 400);