~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Solicitar Afastamento ====== Trata da solicitação de afastamento (ausência da instituição por determinado período para executar uma atividade ligada à instituição ou de interesse da instituição) por servidores (estatutários) ou celetistas. A solicitação pode ser realizada pelos próprios servidores, ou pela chefia da unidade em nome dos servidores. Caso o cadastro seja feito pelo chefe ou pelo vice, este poderá realizar a homologação no próprio cadastro. ===== Descrição do Caso de uso ===== Este caso de uso inicia quando o usuário acessa a opção: //SIGRH -> Portal do Servidor -> Solicitações → Afastamentos → Solicitar Afastamento//. O usuário entra com os seguintes dados: * **Servidor***: Formato: SIAPE NOME DO SERVIDOR, Tipo: AUTOCOMPLETE. Entrada de Dados: Matrícula SIAPE ou NOME DO SERVIDOR. ([[#principais_regras_de_negócio|RN04]], [[#principais_regras_de_negócio|RN05]], [[#principais_regras_de_negócio|RN06]], [[#principais_regras_de_negócio|RN07]] e [[#principais_regras_de_negócio|RN13]]) * **Afastamento***: Tipo - TEXTO. São apresentadas opções: ''AFAST CONGRESSO, CONFERÊNCIA E TREINAMENTO NO PAÍS, LICENÇA PARA CAPACITAÇÃO, MUDANÇA DE JORNADA DE TRABALHO - A VERIFICAR COM MIRIAN''. ([[#principais_regras_de_negócio|RN18]]) * **Data de Início***: Formato DD/MM/AAAA, tipo - DATA. ([[#principais_regras_de_negócio|RN01]]) * **Data de Término***: Formato DD/MM/AAAA, tipo - DATA. * **Plano de Reposição de Aulas***: Tipo - TEXTO. Só é exibido se o servidor for docente e o período ("Data de Início" à "Data de Término") coincidir com o período de aulas em alguma das turmas atualmente ministradas. ([[#principais_regras_de_negócio|RN02]]) * **__Origem__***: Tipo - TEXTO. * **Este afastamento será para alguma atividade de capacitação do servidor?***: Formato - SIM/NÃO, Tipo - LÓGICO. * **Homologa?***: Tipo - TEXTO. São apresentadas as opções: ''SIM, NÃO'' e ''PENDENTE''. * **Motivo do Afastamento***: Tipo - TEXTO. É apresentada uma lista que tem como cadastro o [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:cadastros:motivos_de_afastamento:cadastrar|Cadastrar Motivo de Afastamento]]. * **Detalhar Motivo***: Tipo - TEXTO. * **Observação**: Tipo - TEXTO. * **Tipo de Financiamento**: Tipo - TEXTO. São apresentadas opções: ''Sem passagem/diárias, passagem/diárias arcada pela UFRN', passagem/diárias arcada por outra Instituição, Passagens arcadas pela UFRN, Diárias arcadas pela UFRN, total ou parcialmente, Outra forma de financiamento''. * **Haverá apresentação de trabalho técnico/científico?**: Formato - SIM/NÃO, Tipo - LÓGICO. Localidades: ([[#principais_regras_de_negócio|RN12]]) * **Localidade:*** Formato: NOME DA LOCALIDADE, Tipo: AUTOCOMPLETE. * O usuário insere as localidades em uma lista que exibe: * **__Localidade__**: Tipo - TEXTO. * **__UF__**: Tipo - TEXTO. Há opção de remoção para cada localidade. Documentos de Regulamentação: * **Tipo***: Tipo - TEXTO. É apresentada uma lista de tipos. * **Data***: Tipo - DATA. * **Número**: Tipo - NUMÉRICO. * **Arquivo**: Tipo - TEXTO. Insere-se o caminho do arquivos. * **Observações**: Tipo - TEXTO. * O usuário insere os documentos em uma lista que exibe, além de todos os dados listados acima, o seguinte: * **__Item__**: Tipo - NUMÉRICO. * Há opção de remoção para cada documento. Caso o usuário insira ''Não'' ou ''Pendente'' no campo **Homologa** ([[#principais_regras_de_negócio|RN11]]), o afastamento é cadastrado e exibe-se ([[#principais_regras_de_negócio|RN14]]) a confirmação dos dados que são os listados acima, com as seguintes diferenças: * **__Solicitação__**: Formato 999/AAAA, Tipo - NUMÉRICO. * **__Tipo de Ausência__**: Tipo - TEXTO. * **__Número de Dias__**: Tipo - NUMÉRICO. O rótulo do campo ''Afastamento'' vai ser exibido como **Descrição**. O rótulo do campo ''Homologa'' vai ser exibido como **Status**. O rótulo do campo ''Detalhar Motivo'' vai ser exibido como **Motivo Detalhado**. O campo ''Este afastamento será para alguma atividade de capacitação do servidor?'' não é exibido. Os outros campos são exibidos. Caso o usuário insira ''Sim'' no campo **Homologa** o afastamento é cadastrado e o usuário é direcionado para a opção de Homologar solicitação do caso de uso [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:homologacoes:afastamentos_solicitados|homologação de afastamentos pela chefia da unidade]]. O caso de uso é encerrado. ([[#principais_regras_de_negócio|RN09]], [[#principais_regras_de_negócio|RN10]] e [[#principais_regras_de_negócio|RN17]]). ===== Principais regras de negócio ===== * **RN01**: Nenhuma parcela de férias pode estar em concomitância com uma ausência (Afastamento/Licença/Ferias) já cadastrada no sistema, portanto o sistema não deve permitir a sobreposição. Também não é possível haver sobreposição de datas entre ausências/afastamentos diferentes para o mesmo servidor. * **RN02**: Caso o servidor seja docente ativo com aulas no período, o mesmo deve informar plano de reposição para as aulas das quais se ausentar. * **RN03**: O próprio servidor não pode cadastrar afastamentos para períodos onde a frequência dos servidores já foi homologada. Somente o DAP pode cadastrar afastamentos para períodos onde a freqüência dos servidores da unidade já foi homologada. * **RN04**: No caso de cadastros realizados pela chefia em nome dos servidores, os que estarão acessíveis para usuários com permissões de chefia são aqueles lotados nas unidades chefiadas e não que possuam designações ativas ([[#principais_regras_de_negócio|RN08]]) em outras unidades, e também aqueles que possuam designações ativas ([[#principais_regras_de_negócio|RN08]]) nas unidades chefiadas, com nível de responsabilidade, mesmo que não sejam lotados nestas unidades. * **RN05**: Caso o servidor seja lotado em uma unidade, mas possua uma designação ativa em outra, o mesmo só será visualizado na unidade de designação ([[#principais_regras_de_negócio|RN08]]) e não na unidade de lotação. * **RN06**: Também são servidores sob responsabilidade da chefia aqueles das unidades subordinadas (segundo a hierarquia organizacional), segundo os mesmos critérios (de lotação e designações ativas [[#principais_regras_de_negócio|RN08]]). * **RN07**: No caso de afastamentos cadastrados para o próprio chefe ou vice, não pode haver auto-homologação. No entanto o chefe pode homologar para o vice e vice-versa. A regra das unidades superiores na hierarquia também se aplica ao caso de chefes e vices. * **RN08**: A regra das designações é válida apenas para designações do nível CD (cargo de direção). Caso a designação do servidor seja FG (função gratificada) ou FC, o mesmo será tratado pela unidade de lotação. * **RN09**: Caso o servidor informe apresentar trabalho durante o afastamento, e é docente ativo, após o cadastro da solicitação concluído com sucesso é exibida uma página de confirmação da solicitação oferecendo a possibilidade de ser encaminhado para o [[desenvolvimento:especificacoes:sigaa:portal_do_docente:casos_de_uso:producao_intelectual:minhas_producoes:cadastrar_novas:participacao_em_eventos|Cadastro de produção intelectual]] no SIGAA. * **RN10**: Quando a solicitação é cadastrada pela chefia da unidade, a mesma pode ser automaticamente homologada (ou negada). Caso contrário ficará com o Status "Pendente". * **RN11**: Caso o cadastro seja feito pelo próprio servidor, o mesmo não possua responsabilidade por unidade, e, portanto, ele não pode homologar o afastamento, esse só será enviado e comunicado à chefia da unidade se o servidor realizar a operação de envio da solicitação do caso de uso [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:solicitacoes:ausencias_afastamentos:consultar_afastamentos|Consultar Afastamentos]]. * **RN12**: É obrigatório inserir pelo menos uma localidade na lista. Este campo só é apresentado para as Ocorrências cadastradas com a ''Forma de Lançamento = Autorização de Viagem'' no caso de uso [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:administracao:cadastros:alteracao:alterar_ocorrencia|Alterar Ocorrência]]. * **RN13**: Se o servidor não possuir nível de chefia ou responsabilidade sobre unidades, o campo já virá preenchido com o nome do servidor e não será possível editar. * **RN14**: Exibe-se opção de gerar comprovante para impressão. * **RN15**: (//Aplicadas para o autocomplete de Servidores//) - Se o parâmetro ''PERMITE_HOMOLOGACAO_HIERARQUIA_AFASTAMENTO'' for ''true'', serão buscados servidores onde a unidade de lotação encontra-se na hierarquia da unidade responsabilizada pelo servidor usuário. * **RN16**: (//Aplicadas para o autocomplete de Servidores//) - Se o parâmetro ''PERMITE_HOMOLOGACAO_UNIDADE_RESPONSABILIDADE_AFASTAMENTO'' for ''true'', serão buscados servidores que possuem designação de nível CD, para qualquer unidade que não seja a de lotação, assumindo o parâmetro anterior, fazendo a pesquisa apenas para a unidade em questão ou em toda usa hierarquia. * **RN17**: O número máximo de dias de afastamento não deve ultrapassa o valor armazenado no parâmetro ''MAXIMO_DIAS_SOLICITACAO_AFASTAMENTO_CHEFIA_SECRETARIA''. * **RN18**: O campo exibe as [[desenvolvimento:especificacoes:sigrh:frequencia:casos_de_uso:ponto_eletronico:ocorrencias_nao_siape:cadastrar|ocorrências]] cuja Forma de Lançamento está configurada como "''Solicitação Eletrônica'': Para o caso de afastamentos que possuem uma requisição eletrônica no sistema." ==== Resoluções/Legislações Associadas ==== [[http://www.portaldap.ufrn.br/carta_servicos.php#submenu4|Carta de serviço DAP]]. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | |br.ufrn.sigrh.funcional.dominio.Ausencia|administrativo.funcional.ausencia| |br.ufrn.sigrh.funcional.dominio.AusenciaAfastamento|administrativo.funcional.ausencia_afastamento| |br.ufrn.sigrh.funcional.dominio.AnexoDocumentoRegulamentacao|administrativo.funcional.anexo_doc_regulamentacao| |br.ufrn.sigrh.funcional.dominio.StatusAusencia|administrativo.funcional.status_ausencia| |br.ufrn.sigrh.funcional.dominio.MovimentacaoAusencia|administrativo.funcional.movimentacao_ausencia| |br.ufrn.sigrh.funcional.dominio.TipoFinanciamento|administrativo.funcional.tipo_financiamento| |br.ufrn.sigrh.funcional.dominio.CategoriaOcorrencia|administrativo.funcional.categoria_ocorrencia| |br.ufrn.boletim.dominio.TemplateAto|administrativo.comum.template_ato| |br.ufrn.sipac.boletim.dominio.SolicitacaoInformativo|administrativo.boletim.solicitacao_informativo| |br.ufrn.sigrh.arq.dominio.Localidade|administrativo.comum.localidade| ====== Plano de Teste ====== Sistema: SIGRH Módulo: Portal do Servidor Link(s): Solicitações → Afastamentos → Solicitar Afastamento Usuário: amaluzia (servidor), adelardo (docente), fmota (docente), pablo (chefe) Papel que usuário deve ter: Deve ser servidor ativo com acesso ao SIGRH. ===== Cenários de Teste ===== * Cadastrar solicitações de afastamento com servidor docente ativo com aulas no período para validar regras de negócio referentes à cadastro de plano de reposição de aulas (**OBS**, o banco de desenvolvimento não possui o planejamento de férias para o semestre 2009.2, para testar esta condição precisa ser retroativo). * Cadastrar solicitações de afastamento com chefia da unidade. * Cadastrar solicitações de afastamento para servidor docente e selecionar a opção "Haverá apresentação de trabalho?". Após o cadastro deverá ser exibida página de confirmação com botão para encaminhar para o SIGAA (cadastro de produção intelectual). **OBS**: Nesta situação é utilizado o passaporte de Logon para o SIGAA, que deverá estar ativo (é feita verificação no MBean se o parâmetro ''SIGAA_ATIVO'' for ''verdadeiro'', testar a condição ''SIGAA_ATIVO'' como ''falso'' e validar o comportamento do sistema). * Para homologar, com o chefe da unidade, uma solicitação de afastamento com status de pendente, basta ir no link: //**SIGRH → Portal do Servidor → Chefia de Unidade → Homologações → Afastamentos Solicitados**// * Para verificar se a solicitação de informativo foi realizada no SIPAC, basta entrar com o login raphaela e ir no caminho: //**SIPAC → Boletim de Serviços → Operações → Informativos → Operações do Setor de Boletins → Adicionar Informativo ao Boletim Atual**// * E verificar se na listagem de Informativos Autorizados está o informativo solicitado. **Observações Gerais** * Segundo a implementação no sistema, o cadastro de afastamentos compartilha funcionalidade com o [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:cadastros:registros_para_o_servidor:ausencias|cadastro de ausências do módulo Administração de Pessoal]]. * Testar também o cadastro de ausências pelo menu chefia da unidade e pelo menu Administração de Pessoal: * Portal do Servidor -> Chefia de Unidade -> Frequência -> Ausências -> Cadastrar Ausência * Módulo Administração de Pessoal -> Cadastros -> Registros para o Servidor -> Ausências * Caso o cadastro seja feito com administrador da unidade, é possível cadastrar já como homologado. Neste caso, verificar se as regras de homologação estão sendo aplicadas corretamente, incluindo a geração de solicitação de informativo no SIPAC. A solicitação de informativo necessita de configurações adicionais no servidor de testes no que se refere ao Spring Remoting. Verificar com Dalton. ===== Dados para o Teste ===== O SQL abaixo mostra os horários da turma de um docente: select ht.hora_inicio, ht.hora_fim, ht.id_turma, ht.dia, ht.data_inicio, ht.data_fim, detalhes.nome_ascii as disciplina_nome, cc.codigo as disciplina_codigo, t.codigo, t.descricao_horario, t.data_inicio as inicio_da_turma, t.data_fim as termino_da_turma from ensino.docente_turma dt join ensino.turma t using (id_turma) join ensino.componente_curricular cc using (id_disciplina) join ensino.componente_curricular_detalhes detalhes on (cc.id_detalhe = detalhes.id_componente_detalhes) join ensino.horario_turma ht using (id_turma) join ensino.horario h using (id_horario) where dt.id_docente = ? order by t.id_turma asc, h.id_horario, ht.dia; A interrogação na condição do WHERE deve ser substituída pelo ID do docente. Para consultar o ID do docente a partir do seu nome, basta usar o SQL abaixo: select s.id_servidor from rh.servidor s inner join comum.pessoa p on s.id_pessoa = p.id_pessoa where p.nome ilike '%?%' and id_categoria = 1 A interrogação na condição do WHERE deve ser substituída pelo nome (ou parte do nome) do docente.