Pular para o conteúdo principal
Version: 4.21.0

Relacionamento das Principais Tabelas do Fusion e Consultas Úteis

Este manual tem como objetivo orientar sobre o relacionamento entre as principais tabelas do Fusion, além de fornecer consultas SQL úteis para análise de processos, formulários, documentos, atividades e tarefas.

Atenção- Alterações no Banco de Dados Fusion

O banco de dados do Fusion possui uma estrutura complexa, com diversas entidades interligadas. Por isso:

  • Qualquer alteração direta via SQL (DELETE, UPDATE, INSERT, ALTER TABLE, etc.) deve ser realizada com extrema cautela.
  • Um erro ou alteração incorreta pode gerar inconsistências graves e comprometer processos da aplicação.

Antes de realizar qualquer modificação, consulte a Equipe de Sustentação da Neomind.

Consultas SQL Úteis

A seguir, estão listadas consultas SQL que auxiliam na análise de informações relacionadas a processos, atividades, tarefas,formulários e documentos no Fusion. As queries podem ser ajustadas conforme a necessidade da análise.

1. Processo (WFProcess) ↔ Formulário (D_nomeDoFormulario)

Consultar o código do processo e o valor de um campo do formulário:

SELECT wf.code, dyn.nomeDoCampo
FROM WFProcess wf
JOIN d_nomeDoFormulario dyn ON (wf.entity_neoId = dyn.neoId);

2. Processo (WFProcess) ↔ Modelagem (ProcessModel)

Consultar o código do processo e o título da modelagem do processo:

SELECT wf.code, pm.title
FROM WFProcess wf
JOIN ProcessModel pm ON (wf.model_neoId = pm.neoId);

3. Processo ↔ Atividades (Activity) ↔ Modelagem (ActivityModel)

Listar todas as atividades de um processo:

Inclui atividades do tipo Usuário, Script, Envio, Decisão, entre outras.

SELECT 
am.name,
ac.startDate AS Inicio,
ac.finishDate AS Fim
FROM WFProcess wfp
JOIN Activity ac ON (ac.process_neoId = wfp.neoId)
JOIN ActivityModel am ON (ac.model_neoId = am.neoId)
WHERE wfp.neoId = neoIdDoProcesso
ORDER BY ac.startDate;

4. Processo ↔ Atividades ↔ Tarefas (Task)

Listar atividades e tarefas associadas ao processo:

Tarefas só existem em atividades executadas por Usuários.

SELECT 
am.name,
ac.startDate AS ActivityInicio,
ac.finishDate AS ActivityFim,
t.startDate AS TaskInicio,
t.finishDate AS TaskFim
FROM WFProcess wfp
JOIN Activity ac ON (ac.process_neoId = wfp.neoId)
JOIN ActivityModel am ON (ac.model_neoId = am.neoId)
JOIN Task t ON (t.activity_neoId = ac.neoId)
WHERE wfp.neoId = neoIdDoProcesso
ORDER BY ac.startDate;

5. Formulário – EntityInfo ↔ FieldInfo (Campos)

Consultar campos de um formulário:

SELECT 
fi.showOrder AS OrdemDeExibicao,
fi.name AS Nome,
fi.title AS Titulo
FROM FieldInfo fi
JOIN EntityInfo ei ON (fi.declaringEntity_neoId = ei.neoId)
WHERE ei.typeName = 'nomeDoFormulario'
ORDER BY fi.showOrder ASC;

Consultar campos com suas propriedades:

  • viewable → Visível (1 = Sim, 0 = Não)
  • editable → Editável
  • mandatory → Obrigatório
  • adapterConverter → Adapter de conversão
SELECT 
fi.showOrder AS OrdemDeExibicao,
fi.name AS Nome,
fi.title AS Titulo,
fi.viewable,
fi.editable,
fi.mandatory,
fi.adapterConverter
FROM FieldInfo fi
JOIN EntityInfo ei ON (fi.declaringEntity_neoId = ei.neoId)
WHERE ei.typeName = 'nomeDoFormulario'
ORDER BY fi.showOrder ASC;

6. Campos do Tipo EForm – FieldInfoEntity ↔ EntityInfo

Consultar informações de campos do tipo EForm:

SELECT 
fi.showOrder AS OrdemDeExibicao,
fi.name AS NomeCampo,
fi.title AS TituloCampo,
eifie.typeName AS NomeTipoCampoEForm,
eifie.title AS TituloTipoCampoEForm
FROM FieldInfo fi
JOIN FieldInfoEntity fie ON (fie.neoId = fi.neoId)
JOIN EntityInfo eifie ON (fie.typeInfo_neoId = eifie.neoId)
JOIN EntityInfo ei ON (fi.declaringEntity_neoId = ei.neoId)
WHERE ei.typeName = 'nomeDoFormulario'
ORDER BY fi.showOrder ASC;

7. Formulário (EntityInfo) ↔ Documentos (DocumentEntityInfo)

Listar tipos de documentos:

SELECT ei.typeName, ei.title
FROM DocumentEntityInfo di
JOIN EntityInfo ei ON (di.neoId = ei.neoId);

Documentos com/sem aprovação:

SELECT ei.typeName, ei.title, di.approval
FROM DocumentEntityInfo di
JOIN EntityInfo ei ON (di.neoId = ei.neoId);

Documentos com/sem versionamento:

SELECT ei.typeName, ei.title, di.versioned
FROM DocumentEntityInfo di
JOIN EntityInfo ei ON (di.neoId = ei.neoId);