-- Contexto (followups publicos + tarefas) dos candidatos, numa unica query -- para garantir que o node de merge so roda depois que os dois tipos ja chegaram. -- IDs interpolados pelo node como lista de inteiros (nunca string crua do GLPI). -- Coluna de status de glpi_tickettasks (state) a confirmar via DESCRIBE quando a -- credencial MySQL estiver disponivel (Task 14) -- ver nota no plano. SELECT 'followup' AS tipo, items_id AS tickets_id, id, date, content AS texto, NULL AS status FROM glpi_itilfollowups WHERE itemtype = 'Ticket' AND is_private = 0 AND items_id IN ({IDS}) UNION ALL SELECT 'task' AS tipo, tickets_id, id, date, content AS texto, state AS status FROM glpi_tickettasks WHERE tickets_id IN ({IDS}) ORDER BY tickets_id, date ASC;