~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório Demonstrativo de Localização ====== Este caso de uso tem como finalidade gerar um relatório de servidores e suas respectivas localizações e unidades de exercício na universidade. O gestor de dimensionamento será responsável por essa atividade. ===== Descrição do Caso de Uso ===== Este caso de uso inicia-se quando o usuário acessa a opção //SIGRH → Dimensionamento → Operações → Relatório → Demonstrativo de Localização//. O usuário deve realizar a pesquisa preenchendo pelo menos um dos seguintes campos: * **Processo de Avaliação**: Tipo - TEXTO. * **Unidade de Exercício**: Tipo - TEXTO, AUTOCOMPLETE. Entrada de Dados: Código da Unidade ou Nome da Unidade. * **Considerar Unidades Vinculadas à Unidade de Exercício**: Tipo - LÓGICO * **Unidade de Lotação**([[#principais_regras_de_negócio|RN01]]): Tipo - TEXTO, AUTOCOMPLETE. Entrada de Dados: Código da Unidade ou Nome da Unidade. * **Considerar Unidades Vinculadas à Unidade de Lotação**: Tipo - LÓGICO ([[#principais_regras_de_negócio|RN01]]) * **Unidade de Localização**: Tipo - TEXTO, AUTOCOMPLETE. Entrada de Dados: Código da Unidade ou Nome da Unidade. * **Considerar Unidades Vinculadas à Unidade de Localização**: Tipo - LÓGICO * **Categoria**: Tipo - TEXTO. * **Classe Funcional**: Tipo - TEXTO. * **Cargo**: Tipo - TEXTO. ([[#principais_regras_de_negócio|RN02]]) O sistema lista os resultados em formato de impressão, exibindo os seguintes campos: * **__Categoria__**: Tipo - TEXTO. * **__Cargo__**: Tipo - TEXTO. * **__Servidor(siape)__**: Tipo - TEXTO. * **__Situação Funcional__**: Tipo - TEXTO. * **__Classe Funcional__**: Tipo - TEXTO. * **__Unidade de Exercício(código)__**: Tipo - TEXTO. * **__Unidade de Localização(código)__**: Tipo - TEXTO. Modelo do Relatório: RELATÓRIO DEMONSTRATIVO DE LOCALIZAÇÃO Processo de Avaliação: GESTÃO DO DESEMPENHO HUMANO - 2011 (Filtro) ^Categoria^Cargo^Servidor(siape)^Situação Funcional^Classe Funcional^Unidade de Exercício(código)^Unidade Localização(código)^ |Docente|PROFESSOR 3 GRAU |NOME DO SERVIDOR (SIAPE)|Ativo Permanente|Adjunto|DEPARTAMENTO DE FARMACIA (1513)|DEPARTAMENTO DE FARMACIA (1513)| |Docente|PROFESSOR 3 GRAU |NOME DO SERVIDOR (SIAPE)|Ativo Permanente|Adjunto|DEPARTAMENTO DE FARMACIA (1513)|DEPARTAMENTO DE FARMACIA (1513)| O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - O campo ''Unidade de Lotação'' só será exibido caso o parâmetro UTILIZA_CONCEITO_EXERCICIO esteja ativo no sistema. * **RN02** - A busca pode ser realizada por um ou mais cargos, desde de que esse seja adicionado a lista de cargos. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | |br.ufrn.sigrh.funcional.dominio.Servidor| Administrativo.rh.servidor | |br.ufrn.sigrh.dominio.Unidade| Administrativo.comum.unidade | |br.ufrn.sigrh.dimensionamento.dominio.ServidorLocalizacao| Administrativo.dimensionamento.servidor_localizacao | ====== Plano de Teste ====== Sistema: SIGRH Módulo: Dimensionamento Link(s): SIGRH → Dimensionamento → Operações → Relatórios → Demonstrativo de Localização Usuário: vivacqua Papel que usuário deve ter: SigrhPapeis.GESTOR_DIMENSIONAMENTO ===== Cenários de Teste ===== * Realizar consulta alternando-se os filtros de busca e verificar se o resultado exibido está de acordo com os filtros selecionados. ===== Dados para o Teste ===== Consulta base para o relatório: select tc.descricao as categoria, c.denominacao, s.siape as siape, p.nome as servidor, ss.descricao as situacao, cf.denominacao as classe, u.codigo_unidade as codigo_exercicio, u.nome as unidade_exercicio, l.codigo_unidade as codigo_localizacao, l.nome as unidade_localizacao from rh.servidor s join rh.cargo c on (s.id_cargo = c.id and s.data_desligamento is null and s.data_exclusao is null) join rh.situacao_servidor ss using(id_situacao) join rh.categoria tc using(id_categoria) join comum.pessoa p using(id_pessoa) join comum.unidade u using(id_unidade) join dimensionamento.servidor_localizacao sl on(sl.id_servidor = s.id_servidor and sl.id_processo_avaliacao is null) join comum.unidade l on(l.id_unidade = sl.id_localizacao) join rh.classe_funcional cf using(id_classe_funcional) where (c.denominacao ilike '%TECNICO EM ASSUNTOS EDUCACIONAIS%' or c.denominacao ilike '%FISIOTERAPEUTA%' or c.denominacao ilike '%ASSISTENTE SOCIAL%' or c.denominacao ilike '%PSICOLOGO%' or c.denominacao ilike '%ANALISTA DE TECNOLOGIA DA INFORMACAO%' or c.denominacao ilike '%PEDAGOGO%') order by c.denominacao