~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Dados de Adicionais Noturnos ====== Esse caso de uso é utilizado pelos gestores financeiros com a finalidade de lançar os dados dos adicionais noturnos dos funcionários da instituição. Alguns servidores que trabalham em regime de escala podem ter direito ao recebimento de adicional noturno de acordo com o tipo de escala lançada para o mesmo. É possível gerar para o período informado (mês/ano) os registros de adicionais noturnos registrados nas escalas das unidades. Estes registros de adicionais serão utilizados para a geração do arquivo de adicional que deverá, posteriormente, alimentar o SIAPE. Pré-condições: Realizar o [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:frequencia:escala_de_trabalho:cadastrar_escalas|Lançamento de Escalas]] e em seguida realizar o registro de adicional. As pessoas que utilizam esse caso de uso trabalham na área de recursos humanos. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: SIGRH -> Financeiro -> Financeiro -> Adicionais -> Dados de Adicionais Noturnos. Para a realização do cadastro é necessário seguir os seguintes passos: Inicialmente será feita uma consulta utilizando os filtros: * **Mês***: Tipo - TEXTO, São apresentadas opções: ''Janeiro, Fevereiro, ... , Dezembro''. ([[#principais_regras_de_negócio|RN02]]) * **Ano***: Formato - AAAA, Tipo - DATA. * **Unidade Gestora***: Formato - UNIDADE (CÓDIGO DA UNIDADE), Tipo - TEXTO. ([[#principais_regras_de_negócio|RN03]]) * **Tipo de Cálculo***: Tipo LÓGICO; Opções: ''Com Base no Ponto Eletrônico, Com Base no Lançamento de Escalas'' ([[#principais_regras_de_negócio|RN07]]) No resultado da consulta são listados os servidores para os quais foram registradas, na sua escala de trabalho, indicações de serviço em turno noturno. ([[#principais_regras_de_negócio|RN04]]) Para cada servidor listado são exibidos seus dados juntamente com a escala para o mês apontado no passo anterior. Na escala são exibidos os dias onde há adicional noturno indicados com o número sete que corresponde ao número de horas do adicional. Os seguintes dados são exibidos para cada servidor listado: ([[#principais_regras_de_negócio|RN08]]) * **__Unidade do Exercício__**: Formato - NOME DA UNIDADE (COD.UNIDADE), Tipo - TEXTO e NUMÉRICO. * **__Servidor__**: Formato - SERVIDOR - SIAPE, Tipo - TEXTO. Por fim, é disponibilizada a opção de cadastrar. O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Na entrada do registro de adicional o filtro “Processo de Avaliação” já preenchido, esse campo exibe o processo de avaliação atual. Foi criado um parâmetro “PERMITE_SELECIONAR_GDH” que setado como false (seu valor padrão), não é possível selecionar o processo de avaliação pois o mesmo já vem preenchido com o GDH atual, caso contrário, são listados todos os GDHs existentes possibilitando a escolha aleatória de um deles. * **RN02** - Ao informar o período (mês/ano), o sistema irá disponibilizar um conjunto de unidades para seleção. Apenas as unidades com registros de adicionais noturnos nas escalas do período informado aparecerão para seleção. * **RN03** - Não é permitido gerar registro de adicional para o mesmo servidor em uma mesma unidade e período. * **RN04** - Os turnos das escalas que proporcionam adicional noturno são: * NOTURNO = "SN"; * DIURNO_NOTURNO = "SDSN"; * ESCALA_DOBRADA = "D"; * **RN05** - Só é permitido incluir registro de adicional cuja soma mensal da quantidade de horas do adicional não ultrapasse o total de 105 horas (que é a quantidade máxima permitida). * **RN06** - 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. * **RN07** - Será exibida esta opção apenas se o tipo de controle de frequência for por ponto eletrônico, e se a unidade selecionada estiver implantada para o ponto eletrônico. * **RN08** - Caso a opção Tipo de Cálculo, for marcada para ser gerada com base no ponto eletrônico, os totais de horas de adicionais, serão considerados apenas de acordo com os registros de ponto do servidor. Serão consideradas horas em adicional, horários de ponto registrados entre 22h a 23:59 e entre 00h e 05h que já estiverem devidamente autorizados e homologados. Existe um parâmetro nas configurações do ponto ("TOLERANCIA_PONTO_HORA_ADICIONAL" parametros_ponto), que determina, o quanto de uma hora quebrada corresponde à uma hora completa. Ex. Se o valor do parâmetro for 45, e o servidor tiver trabalhado 1h e 45min, então serão consideradas 2h de adicional. * **RN09** - Existe um teto no valor de 7h para adicional noturno por dia de escala. Este valor é determinado pelo parâmetro QUANT_HORAS_ADICIONAL (Parâmetros base comum) ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigrh.financeiro.dominio.RegitroAdicional | sigrh.financeiro.registro_adicional | ===== Plano de Teste ===== Sistema: SIGRH Módulo: Administração de Pessoal Link(s): Financeiro -> Financeiro -> Adicionais -> Dados de Adicionais Noturnos Usuário: mirian Papel que usuário deve ter: SigrhPapeis.GESTOR_FINANCEIRO ===== Cenários de Teste ===== * Realizar o registro de adicional noturno para as escalas lançadas que possuem registro de adicional noturno, seguindo as regras informadas; * Realizar o [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:frequencia:escala_de_trabalho:cadastrar_escalas#cenários_de_teste |Lançamento de Escalas]] e em seguida realizar o registro de adicional; * Alterar o parâmetro "PERMITE_SELECIONAR_GDH" através do seguinte caminho: * SIGAdmin -> Config. do Sistema -> Parâmetros -> Listar/Alterar Parâmetros * Realizar novamente o cadastro de escalas para os mais diversos tipos de escala verificando as regras de negócio e persistência dos dados. * Homologar os horários de ponto de alguns servidores e analisar o comportamento da geração dos dados dos adicionais, observando a quantidade de horas do adicional de acordo com os horários de ponto do servidor. ===== Dados para o Teste ===== * Para homologar os horários de ponto dos servidores, acessar [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:homologacao_de_ponto_eletronico:homologar_ponto_eletronico|Homologação de Frequência]] * Para verificar as escalas cadastradas acessar os links: * Menu Administração de Pessoal -> Frequência/Férias -> Escala de trabalho -> Horas Trabalhadas em Escalas * No relatório de é possível verificar no Relatório de Escala por Servidor os registros das escalas lançadas, exceto as escalas de plantões (solicitado por mirian q não fossem exibidas nesse relatório) * Menu Administração de Pessoal -> Frequência/Férias -> Escala de trabalho -> Escalas por Unidade Exemplo de consulta sql para servidores com adicionais noturnos: SELECT escala.id_escala, escala.dia, escala.mes, escala.ano, escala.id_tipo_escala, escala.observacao, escala.atividade_extra, escala.horas_atividade_extra, escala.horas_plantao_extra, escala.horas_plantao_sobreaviso, escala.id_registro_entrada, escala.id_registro_exclusao, pessoa.id_pessoa, pessoa.nome AS NOME_PESSOA, unidade.id_unidade, unidade.codigo_unidade, unidade.nome AS NOME_UNIDADE, servidor.id_servidor, servidor.siape, cargo.id AS ID_CARGO, cargo.denominacao AS DENOMINACAO_CARGO, categoria.id_categoria as id_categoria, categoria.descricao as descricao_categoria, classe_funcional.id_classe_funcional as id_classe_funcional, classe_funcional.denominacao as denominacao_classe_funcional, situacao_servidor.id_situacao as id_situacao_servidor, situacao_servidor.descricao as descricao_situacao_servidor, servidor.regime_trabalho, cast(jornada.denominacao as text) AS DENOMINACAO_JORNADA,jornada.quantidade_horas as horas_jornada, escala.id_ausencia, statusAusencia.id_status_ausencia, statusAusencia.denominacao, cast(ocorrencia.descricao as text) AS DESCRICAO_OCORRENCIA, sLocalizacao.id_servidor_localizacao , tipo_escala.descricao as DESCRICAO_TIPO_ESCALA, tipo_escala.sigla as SIGLA_TIPO_ESCALA, tipo_escala.dobrada, tipo_escala.hora_normal, tipo_escala.hora_adicional,tipo_escala.permite_adicionar_docente, tipo_escala.plantao_extra as tipo_extra, tipo_escala.plantao_sobreaviso as tipo_sobreaviso, tipo_escala.plantao_dia_util FROM funcional.escala AS escala LEFT JOIN rh.servidor servidor ON (servidor.id_servidor = escala.id_servidor) LEFT JOIN dimensionamento.servidor_localizacao sLocalizacao ON (servidor.id_servidor = sLocalizacao.id_servidor AND sLocalizacao.id_servidor_localizacao = escala.id_servidor_localizacao) LEFT JOIN rh.cargo cargo ON (servidor.id_cargo = cargo.id) LEFT JOIN rh.categoria categoria ON (servidor.id_categoria = categoria.id_categoria) LEFT JOIN rh.classe_funcional classe_funcional ON (servidor.id_classe_funcional = classe_funcional.id_classe_funcional) LEFT JOIN rh.situacao_servidor situacao_servidor ON (servidor.id_situacao = situacao_servidor.id_situacao) LEFT JOIN funcional.tipo_escala ON ( escala.id_tipo_escala = tipo_escala.id_tipo_escala ) LEFT JOIN funcional.ausencia ausencia ON (escala.id_ausencia = ausencia.id_ausencia) LEFT JOIN funcional.status_ausencia statusAusencia ON (ausencia.id_status_ausencia = statusAusencia.id_status_ausencia) LEFT JOIN funcional.ocorrencia ocorrencia ON (ausencia.id_ocorrencia = ocorrencia.id_ocorrencia) LEFT JOIN rh_tipos.tipo_jornada_trabalho jornada ON (servidor.regime_trabalho = jornada.id_tipo_jornada_trabalho) INNER JOIN comum.pessoa pessoa ON (pessoa.id_pessoa = servidor.id_pessoa ) INNER JOIN comum.unidade unidade ON (unidade.id_unidade = sLocalizacao.id_localizacao) WHERE escala.mes = 2 AND escala.ano = 2011 AND escala.id_registro_exclusao IS NULL AND ( ( (sLocalizacao.ativado = true OR sLocalizacao.data_desativacao < 'Mon Feb 28 00:00:00 GMT-03:00 2011') AND (servidor.data_desligamento IS NULL OR servidor.data_desligamento > 'Mon Feb 28 00:00:00 GMT-03:00 2011') AND (servidor.admissao <= 'Mon Feb 28 00:00:00 GMT-03:00 2011' OR servidor.data_desligamento >'Mon Feb 28 00:00:00 GMT-03:00 2011' ) AND escala.id_servidor IS NOT NULL AND sLocalizacao.escala = true ) ) AND sLocalizacao.id_processo_avaliacao IS NULL ORDER BY unidade.id_unidade, pessoa.id_pessoa, escala.dia