Associação de tarefas
Podemos fazer a configuração das tabelas que irão corresponder a cada nivel/camada da “arvore de atividades” na associação de tarefas, para utilizar basta configurar o parâmetro na tabela nfs_core_par_parametros e criar o link através da tabela nfs_core_ds_tabela_campo. exemplo de arquivo de configuração na tabela nfs_core_par_parametros:
INSERT INTO nfs_core_par_parametros(EMPRESA, FILIAL, `LOCAL`, NOME, CONTEUDO, TIPO)
VALUES(9999, 9999, 9999, 'TREE_VIEW', '{
"layers":{
"1":{
"table":"AREA",
"associationTable":"DISTRIBUICAO_OBJETO"
},
"2":{
"table":"OBJETO",
"associationTable":"DETALHAMENTO_OBJETO"
},
"3":{
"table":"OPER",
"isTask":true
}
}
}', 1);
agora basta adicionar o link ao registro:
INSERT INTO nfs_core_ds_tabela_campo(TABELA_NOME, NOME, SEQ, SYS, SEND_XMOVA, GRID, GRID_MOBILE, DESCRICAO, DESCRICAO_RESUMIDA, TIPO, OBRIGATORIO, TAMANHO, TAMANHO_DECIMAL, MASCARA, INSERT_UPDATE, DISABLED, HINT, LINK, VALIDACAO, OPCOES, VALOR_DEFAULT, VALIDACAO_VIEW, FILTRO_VIEW, TOOLTIP_MESSAGE, PROPERTIES)
VALUES('FOLHA_TAREFA', 'LINK_ATIVIDADE_METRICAS', 11, 0, 1, 0, 1, 'Métricas Folha Tarefa', 'Métricas Folha Tarefa', 'LINK', NULL, NULL, NULL, NULL, 'IU', '0', NULL, 'FOLHA_TAREFA', '', 'type:GET_URL;url:associationtask;p1:taskSheet;v1:SEQ_DB;icon:fa fa-link', NULL, NULL, NULL, NULL, NULL);
Configuração

Legendas:
-
layers(camadas): Atributo onde serão definidas as tabelas de cada camada, bem como a tabela que fara a associação com os níveis “filho”(subnivel do nivel atual), quando for uma task, usaremos o propriedade isTask: true no lugar ta tabela de associação;
-
niveis: Os niveis sempre irão contar no menos para o maior, na estrutura de arvore o nivel 1 seria a raiz(ou root), não possuindo pai e de onde os proximos niveis serão ramificados;
-
nivel: Um nível corresponde a alguma tabela que será usada para para relacionar um nivel aos demais, fazendo a ligação entre os nós “pai”(que antecedem) e “filhos”(que sucedem);
-
Campos que serão utilizados como métricas.
-
valores padrão(default): permite difinir um valor padrão para as metricas, possuindo os seguintes tipos:
- value: um valor fixo que será utilizado ao abrir o modal para inserção das metricas;
- field: o nome de um campo da tabela de atividade;
- taskSheet: o nome de um campo correspondente aos campos da folha tarefa.
Caso queira definir a tabela final onde sera salva a metrica, basta adicionar a propriedade metricAssociationTable desta forma:
{
"metricAssociationTable":"OPER_GRUPO_METRICA",
"layers":{
"1":{
"table":"AREA",
"associationTable":"DISTRIBUICAO_OBJETO"
},
"2":{
"table":"OBJETO",
"associationTable":"DETALHAMENTO_OBJETO"
},
"3":{
"table":"OPER",
"isTask":true
}
}
}
Associação de tarefa x métrica por grupo:
Uma propriedade adicional foi criada para tornar os grupos elementos “arrastáveis”
Configuração:
;
draggable indica que o nó na arvore de associação pode ser movido(através do evento "drag") para a zona de atividades associadas.
;
A pasta colorida indica que o elemento pode ser "arrastado".
Ao arrastar um grupo para a zona de associação, o usuário devera escolher uma das duas opções disponiveis:
;
- GRUPO: As métricas definidas serão aplicadas para todas as atividades do grupo;
- ATIVIDADE: O usuário deverá definir manualmente a métrica de cada atividade do grupo.
Caso opte opção “GRUPO” e a atividade ja possua uma métrica associada, esta métrica sera sobrescrita pela métrica definida para o GRUPO
Personalizando a TREE_VIEW para outras tabelas.
Existe no momento uma forma de personalizar o uso do tree_view para outras tabelas além da FOLHA_TAREFA, e quando isso ocorre, alguns textos podem ser modificados para alterar alguns termos padrão usados dentro da página da tree_view, visto que, agora não se trataria mais de Atividades e Métricas sendo associadas, mas sim, novas entidades exibidas no formado de tree view. Para garantir essa adequação, alguns valores precisam ser inclusos no parâmetro, neste caso, uma nova “chave” dentro do JSON de config do TREE_VIEW:
"customTexts": {
"viewTitle":"Requisição de Materiais",
"metricFieldsTitle":"Detalhes",
"nodeEntityName":"Materiais"
},
viewTitle: Altera o título exibido na tree_view, substituindo o valor padrão “Atividade x Métrica”. metricFieldsTitle: Altera o título/nome do grupo de campos que são exibidos dentro do modal de associação. nodeEntityName: Nome da entidade principal usada na tree_view, originalmente “Atividades”.