Regra de montagem de hierarquia
É utilizada para disponibilizar ao usuário uma maneira de atribuir gestores a um colaborador específico, mesmo que a hierarquia for montada através de um posto de trabalho.
Exemplo:
Regra de customização para gerar a tabela de hierarquia:
Essa regra o gestor irá executar diariamente e para isso é necessário o consultor:
- Criar a classe custom.senior.hierarquia.RegraHierarquiaPonto e extends de PontoRegraHierarquiaPonto;
- Implementar o método buscaGestor (int empresa, int tipoColaborador, int cadastro), que deve retornar a lista dos gestores liderados.
<div class="Code"><p class="Ident1"><span class="bordo">public class</span> PontoRegraHierarquiaPontoPostoTrabalho <span class="bordo">extends</span> PontoRegraHierarquiaPonto {</p><p></p><p class="Ident2"><span class="anotacao">@Override</span></p><p class="Ident2"><span class="bordo">public</span> List<Colaborador> buscaGestor(<span class="bordo" style="font-weight: bold;">int</span><span class="bordo">empresa</span>, <span class="bordo">int</span><span class="bordo">tipoColaborador</span>, <span class="bordo">int</span><span class="bordo">cadastro</span>) {</p><p></p><p class="Ident4">HistoricoCargo <span class="bordo" style="text-decoration: underline; font-weight: normal;">historicoCargo</span> = getContextoHierarquiaPonto().getHistoricoCargo(<span class="bordo" style="font-weight: bold;">new</span> LocalDate());</p><p class="Ident4">HistoricoApuracao <span class="bordo">historicoApuracao</span> = getContextoHierarquiaPonto().getHistoricoApuracao(<span class="bordo">new</span> LocalDate());</p><p class="Ident4">HistoricoCentroCusto <span class="bordo" style="text-decoration: underline; font-weight: normal;">historicoCentroCusto</span> = getContextoHierarquiaPonto().getHistoricoCentrodeCusto(<span class="bordo">new</span> LocalDate());</p><p class="Ident4">HistoricoFilial <span class="bordo" style="text-decoration: underline; font-weight: normal;">historicoFilial</span> = getContextoHierarquiaPonto().getHistoricoFilial(<span class="bordo">new</span> LocalDate());</p><p class="Ident4">HistoricoLocal <span class="bordo" style="text-decoration: underline; font-weight: normal;">historicoLocal</span> = getContextoHierarquiaPonto().getHistoricoLocal(<span class="bordo">new</span> LocalDate());</p><p class="Ident4">HistoricoSindicato <span class="bordo" style="text-decoration: underline; font-weight: normal;">historicoSindicato</span> = getContextoHierarquiaPonto().getHistoricoSindicato(<span class="bordo">new</span> LocalDate());</p><p></p><p></p><p class="Ident4">List<Colaborador> <span class="bordo">gestores</span> = getContextoHierarquiaPonto().buscaGestorPostoTrabalho(<span class="bordo">empresa</span>, <span class="bordo">tipoColaborador</span>, <span class="bordo">cadastro</span>);</p><p class="Ident4"></p><p class="Ident4"><span class="bordo">if</span>(<span class="bordo">gestores</span>.isEmpty()) {</p><p></p><p class="Ident5">List<Colaborador> <span class="bordo">colaboradores</span> = <span class="bordo">new</span> ArrayList<Colaborador>();</p><p class="Ident5"></p><p class="Ident5"><span class="bordo">colaboradores</span>.add(<span class="bordo">new</span> Colaborador(<span class="bordo">empresa</span>, <span class="bordo">tipoColaborador</span>, <span class="bordo">cadastro</span>));</p><p></p><p class="Ident4">}</p><p></p><p class="Ident4"><span class="bordo">return</span><span class="bordo">gestores</span>;</p><p class="Ident2">}</p><p></p><p class="Ident1">}</p></div>
Para ter acesso ao métodos da regra, o consultor deve utilizar o método getContextoHierarquiaPonto().
Para buscar o gestor do posto de trabalho, deve utilizar: getContextoHierarquiaPonto().buscaGestorPostoTrabalho(empresa, tipoColaborador, cadastro), que retorna uma lista de gestores.
Para que um campo de usuário customizado esteja com os valores atualizados, sem a necessidade de atualização da página, é necessário que a regra busque este valor através da entidade da tela, utilizando o método getField().getValue() do cursor e especificando o campo da seguinte maneira:
Object value = cursor.getField(<nome do campo de usuário>).getValue(<entidade que representa tabela>)Contexto disponível: Contexto de geração de incidentes.
English
Español

English
Español

