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.
public class PontoRegraHierarquiaPontoPostoTrabalho extends PontoRegraHierarquiaPonto {
@Override
public List<Colaborador> buscaGestor(int empresa, int tipoColaborador, int cadastro) {
HistoricoCargo historicoCargo = getContextoHierarquiaPonto().getHistoricoCargo(new LocalDate());
HistoricoApuracao historicoApuracao = getContextoHierarquiaPonto().getHistoricoApuracao(new LocalDate());
HistoricoCentroCusto historicoCentroCusto = getContextoHierarquiaPonto().getHistoricoCentrodeCusto(new LocalDate());
HistoricoFilial historicoFilial = getContextoHierarquiaPonto().getHistoricoFilial(new LocalDate());
HistoricoLocal historicoLocal = getContextoHierarquiaPonto().getHistoricoLocal(new LocalDate());
HistoricoSindicato historicoSindicato = getContextoHierarquiaPonto().getHistoricoSindicato(new LocalDate());
List<Colaborador> gestores = getContextoHierarquiaPonto().buscaGestorPostoTrabalho(empresa, tipoColaborador, cadastro);
if(gestores.isEmpty()) {
List<Colaborador> colaboradores = new ArrayList<Colaborador>();
colaboradores.add(new Colaborador(empresa, tipoColaborador, cadastro));
}
return gestores;
}
}
Observação
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.