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