~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Suspender Férias ====== Esse caso de uso é utilizado pelos gestores de férias e do setor de administração de pessoal com a finalidade suspender as férias do servidor que tem alguma parcela em andamento. Faz-se a busca do servidor e a parcela é suspendida ([[#principais_regras_de_negócio|RN01]]). Pré-condições: O servidor ter alguma parcela de férias em gozo. ([[#principais_regras_de_negócio|RN13]]) ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: //SIGRH → Administração de Pessoal → Férias → Férias → Suspender//. O usuário entra com o seguinte dado: * **Servidor***: Formato - SIAPE NOME DO SERVIDOR, Tipo - AUTOCOMPLETE. Entrada de Dados: Matrícula SIAPE, NOME DO SERVIDOR, CPF ou Nome de Identificação. O sistema exibe os dados das férias: Dados do exercício: * **__Exercício__**: Formato - AAAA, Tipo - NUMÉRICO. * **__Período Aquisitivo__**: Formato DD/MM/AAAA até DD/MM/AAAA, Tipo - DATA. * **__Número de Dias__**: Tipo - NUMÉRICO. Dados do parcelamento: * **__Número de parcelas__**: Tipo - NUMÉRICO. Listagem das parcelas: * **__Períodos__**: Tipo - TEXTO. * **__Dias__**: Tipo - NUMÉRICO. ([[#principais_regras_de_negócio|RN01]]) * **__Início__**: Tipo - DATA. * **__Fim__**: Tipo - DATA. * **Data de interrupção**: Tipo - DATA. É dada opção de alteração da data de término do período de férias. * **__Adiant. de Salário__**: Tipo - TEXTO. * **__Grat. Natalina__**: Tipo - TEXTO. Ao ser suspensa uma parcela de férias, uma ou mais parcelas são adicionadas completando 30 dias de férias. Finalizando, o usuário confirma os dados. O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - O número de dias de férias é exibido juntamente com o período da parcela. Caso haja mais de uma parcela de férias a soma do número de dias das parcelas somará 30 dias, que é o número total de dias de férias por ano. Logo, se em uma parcela cadastrada faltar completar os 30 dias de férias, é adicionada uma nova parcela na listagem das parcelas, sendo possível adicionar novo período de férias inferior ou igual ao número de dias que restam para completar os 30 dias. Será possível realizar suspensão de férias apenas para exercícios cujo status seja "Paga/Marcada". * **RN02** - Quando o usuário logado possuir papel com exigência de vinculação a uma unidade, todas as operações somente podem ser realizadas para servidores lotados na unidade que foi vinculada ao papel. Caso contrário, as operações podem ser realizadas para servidores lotados em qualquer unidade. * **RN03** - Não é possível cadastrar a nova parcela de férias nos períodos definidos pelo calendário de bloqueio de férias. * **RN04** - O novo período das férias não pode compreender os períodos dos calendários de bloqueio de férias, mesmo que quando o período tenha sido marcado originalmente o calendário de bloqueio ainda não existisse. * **RN05** - A data de término do período suspenso deve ser anterior à data de término anteriormente marcada. * **RN12** - Os servidores não podem alterar através do SIGRH as férias que forem interrompidas, pois o SIAPE não aceita. Logo, sempre que houver necessidade de realizar algum ajuste em férias que foram suspensas, é necessário entrar em contato com o gestor de férias para que ele realize as alterações diretamente no SIAPE. * **RN13** - No caso de servidor em situação cedido, será possível suspender períodos em gozo ou já gozados. Para outras situações funcionais a suspensão continuará sendo restrita à períodos em gozo. ([[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=93406|93406]] - v4.6.2) **Regras Gerais de Férias** * **RN06** - A primeira parcela do exercício deve iniciar após a última parcela gozada do exercício anterior, sendo que uma parcela deverá ter data de início e término anteriores à parcela posterior. * **RN07** - Os servidores farão jus a 30 (trinta) dias de férias. * **RN08** - A soma da quantidade de dias de cada parcela deverá ser exatamente igual ao número de dias permitido para cada tipo de servidor. **Regra Válida Somente para Estatutários** * **RN09** - Os docentes têm direito a 45 (quarenta e cinco) dias de férias, feitas as competentes escalas, de modo a assegurar o funcionamento contínuo das atividades de ensino e pesquisa. * **RN11** - Nenhuma parcela de férias pode estar em concomitância (conflito entre datas) com uma ausência (Afastamento/Licença/Ferias) já cadastrada no sistema, salvo no caso das ausências permitem a concomitância. **Regra Válida para Celetistas** * **RN10** - Podem optar pela venda de 1/3 do exercício de férias (abono de férias), passando a ter apenas 20 dias (técnicos) ou 30 dias (docente) de exercício. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigrh.funcional.dominio.FeriasExercicio | administrativo.funcional.ferias_exercicio| | br.ufrn.sigrh.funcional.dominio.FeriasPeriodo | administrativo.funcional.ferias_periodo | ===== Plano de Teste ===== Sistema: SIGRH Módulo: Administração de Pessoal Link(s): Férias -> Férias -> Suspender Usuário: mirian Papel que usuário deve ter: SigrhPapeis.ADMINISTRADOR_DAP, SigrhPapeis.GESTOR_DAP,SigrhPapeis.GESTOR_FERIAS ===== Cenários de Teste ===== Não foi feita nenhuma alteração que tenha influenciado o layout ou o fluxo dos casos de uso, apenas refatoração do código. Realizar os testes de validações de todas as regras de negócio envolvidas. ===== Dados para o Teste ===== * Para consultar servidores de acordo com o regime de trabalho acesse o link: * [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:consultas_relatorios:funcionais:consultas_gerais:servidor| SIGPRH → Administração de Pessoal → Consultas/relatórios → Funcionais → Consultas Gerais → Servidor ]] * Para alterar as férias suspensas acesse o link: * [[consultar| SIGRH → Administração de Pessoal → Aba Férias → Férias → Consultar ]] * Para validar o acesso pelas permissões é necessário acessar o link SIGAdmin → Config de Sistemas → Permissões → Implantar Permissões → Selecionar Usuário e alterar as permissões do mesmo adicionando uma unidade especifica ou tirando caso já tenha e verificando nos passos desta tarefa se os servidores estarão conforme preenchido no SIGAdmin. * Script para visualizar os servidores que estão em período de férias: select servidor15_.siape from funcional.ferias_periodo this_ inner join funcional.ferias_exercicio fe1_ on this_.id_ferias_exercicio=fe1_.id_ferias_exercicio left outer join funcional.ferias_critica_siape criticasia4_ on fe1_.id_ferias_critica_siape=criticasia4_.id_ferias_critica_siape left outer join COMUM.REGISTRO_ENTRADA registroen5_ on criticasia4_.id_registro_entrada=registroen5_.ID_ENTRADA left outer join comum.usuario usuario6_ on registroen5_.ID_USUARIO=usuario6_.id_usuario left outer join financeiro.consignataria consignata7_ on usuario6_.id_consignataria=consignata7_.id_consignataria left outer join comum.pessoa pessoa8_ on usuario6_.id_pessoa=pessoa8_.id_pessoa left outer join plano_saude.plano_saude planosaude9_ on usuario6_.id_plano_saude=planosaude9_.id_plano_saude left outer join rh.servidor servidor10_ on usuario6_.id_servidor=servidor10_.id_servidor left outer join comum.tipo_usuario tipousuari11_ on usuario6_.tipo=tipousuari11_.id left outer join comum.unidade unidade12_ on usuario6_.id_unidade=unidade12_.id_unidade left outer join COMUM.REGISTRO_ENTRADA registroen13_ on criticasia4_.id_registro_entrada_inativacao=registroen13_.ID_ENTRADA left outer join COMUM.REGISTRO_ENTRADA registroen14_ on fe1_.id_registro_entrada_homologacacao=registroen14_.ID_ENTRADA left outer join rh.servidor servidor15_ on fe1_.id_servidor=servidor15_.id_servidor left outer join rh.ATIVO ativo16_ on servidor15_.id_ativo=ativo16_.ID_ATIVO left outer join rh.cargo cargo17_ on servidor15_.id_cargo=cargo17_.id left outer join competencia.agrupamento_funcional agrupament18_ on cargo17_.id_agrupamento_funcional=agrupament18_.id_agrupamento_funcional left outer join avaliacao.processo_avaliacao processoav19_ on agrupament18_.id_processo_avaliacao=processoav19_.id_processo_avaliacao left outer join rh.categoria categoria20_ on cargo17_.id_tipo_categoria=categoria20_.id_categoria left outer join rh_tipos.tipo_nivel_funcional tiponivelf21_ on cargo17_.id_tipo_nivel_funcional=tiponivelf21_.id_tipo_nivel_funcional left outer join rh_tipos.tipo_origem tipoorigem22_ on cargo17_.id_tipo_origem=tipoorigem22_.id_tipo_origem left outer join rh.categoria categoria23_ on servidor15_.id_categoria=categoria23_.id_categoria left outer join rh.classe_funcional classefunc24_ on servidor15_.id_classe_funcional=classefunc24_.id_classe_funcional left outer join rh.categoria categoria25_ on classefunc24_.id_tipo_categoria=categoria25_.id_categoria left outer join funcional.dados_complementares_servidor dadoscompl26_ on servidor15_.id_dados_complementares=dadoscompl26_.id_dados_complementares left outer join rh_tipos.tipo_curso_formacao tipocursof27_ on dadoscompl26_.id_tipo_curso_formacao=tipocursof27_.id_tipo_curso_formacao left outer join comum.estado estado28_ on dadoscompl26_.id_estado_carteira_funcional=estado28_.id left outer join rh_tipos.tipo_jornada_escala tipojornad29_ on dadoscompl26_.id_regime_escala=tipojornad29_.id_tipo_jornada_escala left outer join rh_tipos.tipo_nomeacao_servidor tiponomeac30_ on dadoscompl26_.id_tipo_nomeacao_servidor=tiponomeac30_.id_tipo_nomeacao_servidor left outer join rh_tipos.tipo_jornada_trabalho tipojornad31_ on servidor15_.regime_trabalho=tipojornad31_.id_tipo_jornada_trabalho left outer join comum.pessoa pessoa32_ on servidor15_.id_pessoa=pessoa32_.id_pessoa left outer join comum.banco banco33_ on pessoa32_.id_banco=banco33_.id left outer join comum.categoria_carteira_habilitacao categoriac34_ on pessoa32_.id_categoria_carteira_habilitacao=categoriac34_.id_categoria_carteira_habilitacao left outer join comum.estado estado35_ on pessoa32_.ctps_uf=estado35_.id left outer join comum.estado estado36_ on pessoa32_.id_estado=estado36_.id left outer join comum.grupo_sanguineo gruposangu37_ on pessoa32_.id_grupo_sanguineo=gruposangu37_.id_grupo_sanguineo left outer join pessoal.pais pais38_ on pessoa32_.id_pais=pais38_.id_pais left outer join rh.escolaridade tipoescola39_ on pessoa32_.id_tipo_escolaridade=tipoescola39_.id_escolaridade left outer join rh_tipos.tipo_estado_civil tipoestado40_ on pessoa32_.id_tipo_estado_civil=tipoestado40_.id_tipo_estado_civil left outer join rh.FORMACAO formacao41_ on pessoa32_.id_tipo_formacao=formacao41_.ID_FORMACAO left outer join rh_tipos.tipo_nacionalidade tiponacion42_ on pessoa32_.id_tipo_nacionalidade=tiponacion42_.id_tipo_nacionalidade left outer join comum.estado estado43_ on pessoa32_.uf_nascimento=estado43_.id left outer join rh.FORMACAO formacao44_ on servidor15_.id_formacao=formacao44_.ID_FORMACAO left outer join rh_tipos.tipo_origem tipoorigem45_ on servidor15_.id_tipo_origem=tipoorigem45_.id_tipo_origem left outer join rh_tipos.tipo_regime_juridico tiporegime46_ on servidor15_.id_tipo_regime_juridico=tiporegime46_.id_tipo_regime_juridico left outer join rh.situacao_servidor tiposituac47_ on servidor15_.id_situacao=tiposituac47_.id_situacao left outer join comum.unidade unidade48_ on servidor15_.id_unidade=unidade48_.id_unidade left outer join comum.classificacao_unidade classifica49_ on unidade48_.id_classificacao_unidade=classifica49_.id_classificacao_unidade left outer join comum.municipio municipio50_ on unidade48_.id_municipio=municipio50_.id_municipio left outer join comum.estado estado51_ on municipio50_.id_unidade_federativa=estado51_.id left outer join comum.nivel_organizacional nivelorgan52_ on unidade48_.id_nivel_organizacional=nivelorgan52_.id_nivel_organizacional left outer join comum.unidade unidade53_ on unidade48_.id_unid_resp_org=unidade53_.id_unidade left outer join comum.tipo_unidade_organizacional tipounidad54_ on unidade53_.id_tipo_organizacional=tipounidad54_.id_tipo_unidade_organizacional left outer join comum.unidade unidade55_ on unidade53_.unidade_responsavel=unidade55_.id_unidade left outer join comum.unidade unidade56_ on servidor15_.id_unidade_lotacao=unidade56_.id_unidade left outer join comum.unidade unidade57_ on servidor15_.id_unidade_pagadora=unidade57_.id_unidade left outer join funcional.vinculo_trabalho vinculotra58_ on servidor15_.id_servidor=vinculotra58_.id_servidor_vinculado left outer join funcional.instituicao instituica59_ on vinculotra58_.id_instituicao=instituica59_.id_instituicao left outer join funcional.instituicao instituica60_ on instituica59_.id_instituicao_vinculada=instituica60_.id_instituicao left outer join funcional.tipo_natureza_juridica tiponature61_ on instituica59_.id_tipo_natureza_juridica=tiponature61_.id_tipo_natureza_juridica left outer join comum.pessoa pessoa62_ on vinculotra58_.id_pessoa=pessoa62_.id_pessoa left outer join funcional.tipo_natureza_juridica tiponature63_ on vinculotra58_.id_tipo_natureza_juridica=tiponature63_.id_tipo_natureza_juridica left outer join funcional.tipo_natureza_vinculo tiponature64_ on vinculotra58_.id_tipo_natureza_vinculo=tiponature64_.id_tipo_natureza_vinculo left outer join rh_tipos.tipo_regime_juridico tiporegime65_ on vinculotra58_.id_tipo_regime_juridico=tiporegime65_.id_tipo_regime_juridico left outer join funcional.tipo_vinculo tipovincul66_ on vinculotra58_.id_tipo_vinculo=tipovincul66_.id_tipo_vinculo left outer join funcional.desligamento_vinculo desligamen67_ on vinculotra58_.id_vinculo_trabalho=desligamen67_.id_vinculo_trabalho left outer join funcional.tipo_desligamento_vinculo tipodeslig68_ on desligamen67_.id_tipo_desligamento_vinculo=tipodeslig68_.id_tipo_desligamento_vinculo left outer join funcional.provimento_vinculo provimento69_ on vinculotra58_.id_vinculo_trabalho=provimento69_.id_vinculo_trabalho left outer join funcional.tipo_provimento_vinculo tipoprovim70_ on provimento69_.id_tipo_provimento_vinculo=tipoprovim70_.id_tipo_provimento_vinculo left outer join funcional.status_ferias statusferi71_ on fe1_.id_status_ferias=statusferi71_.id_status_ferias left outer join rh_tipos.tipo_origem tipoorigem72_ on fe1_.id_tipo_origem=tipoorigem72_.id_tipo_origem left outer join funcional.motivo_suspensao_ferias motivosusp73_ on this_.id_motivo_suspensao_ferias=motivosusp73_.id_motivo_suspensao_ferias left outer join funcional.ferias_periodo feriasperi74_ on this_.id_periodo_suspenso=feriasperi74_.id_ferias_periodo left outer join funcional.ferias_exercicio feriasexer75_ on feriasperi74_.id_ferias_exercicio=feriasexer75_.id_ferias_exercicio where this_.inicio< '2011-08-10' and this_.fim> '2011-08-10' and this_.ativo is true