~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Registrar Ponto Eletrônico ====== Esse caso de uso permite ao servidor realizar o registro de sua entrada e saída em seu local de trabalho. Os responsáveis por esse caso de uso são os servidores da instituição. ([[#principais_regras_de_negócio|RN05]], [[#principais_regras_de_negócio|RN16]]) ([[#principais_regras_de_negócio|RN22, RN23]]) ===== Descrição do Caso de Uso ===== O caso de uso inicia em //SIGRH → Portal do Servidor → Ponto Eletrônico//. Caso o servidor possua unidades de lotação, exercício ou localização diferentes, será encaminhado para uma tela de seleção da unidade que deseja registrar o ponto. ([[#principais_regras_de_negócio|RN21]]) (Inserir regra fuso horário) Caso o servidor possua ponto registrado com entrada no dia anterior e ainda em aberto, este será exibido para que o servidor realize o registro da saída: * Ponto em Aberto do Dia Anterior * **__Hora de Entrada__**: Tipo - DATA, Formato - DD/MM/AAAA - HH:MM ([[#principais regras de negócio|RN27]]) * **__Hora de Saída__**: Tipo - DATA, Formato - DD/MM/AAAA - HH:MM:SS ([[#principais_regras_de_negócio|RN15]]) Caso o servidor possua ponto registrado com entrada no mesmo dia e ainda em aberto, este será exibido para que o servidor realize o registro da saída: * Registro de Horário de Trabalho * **__Dia__:***: Tipo - DATA. * **__Hora de Entrada:__**: Tipo - DATA, formato: HH:MM. * **__Hora de Saída:__**: Tipo - DATA, formato: HH:MM:SS. ([[#principais_regras_de_negócio|RN02, RN15]]) * **Saída para Almoço**: Tipo - LÓGICO. ([[#principais_regras_de_negócio|RN06, RN17, RN18]]) * **Observação**: Tipo - TEXTO. Caso não existam pontos em aberto no mesmo dia, será apresentada a tela para o registro do ponto do dia em questão: ([[#principais_regras_de_negócio|RN08]]) * Registro de Horário de Trabalho * **__Dia__:***: Tipo - DATA. * **__Hora de Entrada:__**: Tipo - DATA, formato: HH:MM. * **Escala de Plantão Extra***: Tipo - LÓGICO. ([[#principais_regras_de_negócio|RN14]]) * **Observação**: Tipo - TEXTO. Para todas as situações, o sistema exibe o dado: * **__Saída Prevista__**: Tipo - DATA, formato: HH:MM. ([[#principais_regras_de_negócio|RN24]]) Ao selecionar Registrar Entrada o cadastro da hora da entrada é realizado ([[#principais_regras_de_negócio|RN01]]) e um painel com os registros de entradas/saídas do dia será exibido: ([[#principais_regras_de_negócio|RN03]]) ^ Dia ^ Entrada ^ Saída ^ Saída p/ Almoço ^ Horas Registradas ^ Observações ^ ^ | 12/12/2012 | 08:00 | 12:00| SIM | 04:00 | | //Imprimir Comprovante// | | 12/12/2012 | 14:00 | 18:00| NÃO | 04:00 | | //Imprimir Comprovante// | | 13/12/2012 | 08:00 | 12:00| SIM | 04:00 | | //Imprimir Comprovante// | | | | | | |Total de Horas do Dia:| 12:00 | O sistema exibe a [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:consultas:frequencia:espelho_de_ponto|folha de ponto]] do servidor referente somente à semana atual, sendo também possível expandir a visualização para o mês todo. ([[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=145058|145058]], ) O caso de uso é finalizado. ===== Principais Regras de Negócio ===== Verificar regras de negócio também em [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:homologacao_de_ponto_eletronico:visualizar_detalhes_do_ponto_do_servidor|Homologação da Folha de Ponto do Servidor]]. * **RN01** - O servidor só poderá efetuar um novo registro de entrada se não houver nenhum registro de entrada sem um registro de saída associado. * **RN02** - O servidor não poderá realizar o registro para horários futuros ou passados. * **RN03** - O painel de "Entradas/Saídas do Dia" só será visualizada se o servidor possuir no mínimo 1 (um) resgistro de entrada efetuado no dia corrente. * **RN04** - A tabela de "Horários da Semana " só será visualizada se o servidor possuir no mínimo 1 (um) registro de entrada efetuado na semana corrente. * **RN05** - Estão dispensados do registro de frequência servidores informado no parâmetro ''SERVIDORES_DISPENSADOS_FREQUENCIA''. * **RN06** - Os parâmetros ''HORA_MINUTO_INICIO_INTERVALO_ALMOCO'' e ''HORA_MINUTO_TERMINO_INTERVALO_ALMOCO'' definem o intervalo para o almoço em caso de saída para o almoço (marcado no registro de saída do ponto). O campo só é exibido se a hora atual estiver dentro desse limite. E só será permitido efetuar um novo registro caso o intervalo mínimo (''INTERVALO_MINIMO_ALMOCO'') seja atingido. * **RN07** - O parâmetro ''PERMITE_INFORMAR_HORA'' em caso de valor ''true'', permitirá que o servidor edite o horário de registro de entrada. Caso contrário, este não poderá informar outros horários, apenas a hora corrente. ([[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=145084|145084]], ) * **RN08** - Caso a unidade de exercício do servidor não tenha município cadastrado, não será permitido realizar registro de ponto. Os pontos destes servidores ficarão bloqueados até que a unidade seja ajustada. * **RN09** - Os servidores com jornada de trabalho de 4 horas ou 6 horas por dia não terão intervalo. O parâmetro ''SERVIDORES_SEM_INTERVALO'' indica os servidores nesta situação. * **RN10** - Caso a saída seja em um dia diferente da entrada: As horas serão quebradas na virada da meia-noite (o dia anterior se encerra às 23:59), e o dia seguinte inicia às 00:00. Isto será considerado para todos os servidores. * **RN11** - Se o parâmetro ''DESCONTO_AUTOMATICO_HORARIO_ALMOCO'' estiver ativado, o servidor cuja carga horária é de 40h não registrar seu intervalo para almoço e seu registro corrido for maior que o definido no parâmetro ''CARGA_HORARIA_MINIMA_INTERVALO_REFEICOES_OBRIGATORIO'', será descontado o intervalo máximo (informado no parâmetro ''INTERVALO_MAXIMO_ALMOCO'') na homologação da frequência mensal. O desconto também ocorrerá caso o servidor registre um horário de almoço menor que o ''INTERVALO_MINIMO_ALMOCO'' (**RN06**). ([[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=139529|139529]], ) * **RN12** - Quando um servidor precisa trabalhar, em caráter eventual, em um feriado ou final de semana, o parâmetro ''FATOR_CONTABILIZACAO_HORAS_DIA_NAO_UTIL'' informa o valor das horas extras contabilizadas. * **RN13** - Salvo o parâmetro ''TIPO_CONTROLE_FREQUENCIA'' que é informado no SIGAdmin, os demais são definidos na tabela ''frequencia.parametros_ponto''. * **RN14** - o campo **Escala de Plantão Extra** será exibido se no dia corrente exista(m) escala(s) de plantão extra (APH) para o servidor. Caso essa escala tenha horário preestabelecido em [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:escalas_de_trabalho:lancar_escalas|Lançar Escalas]], a opção **Escala de Plantão Extra** virá pré-marcada. * **RN15** - Caso o servidor realize qualquer registro incorreto ou esqueça de registrar o ponto ele deverá solicitar ao Controlador de Ponto que registre uma [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:frequencia:ausencias:cadastrar_ausencia|ocorrência]] para o dia. * **RN16** - Uma Instituição pode trabalhar com os dois tipos de controle de frequência, onde apenas algumas unidades terão o ponto eletrônico. Para isto, é necessário que o parâmetro ''TIPO_CONTROLE_FREQUENCIA'' seja igual a ''2''. * **RN17** - Estão dispensados de informar quando saem para almoçar os servidores informados no parâmetro ''SERVIDORES_SEM_INTERVALO''. * **RN18** - Caso a hora atual esteja dentro do horário de almoço (**RN06**) e o servidor não estiver dispensado do horário de almoço (**RN17**), o campo **Saída para Almoço?** será preenchido automaticamente com o valor ''Sim''. * **RN19** - O servidor precisa ser dispensado do registro biometrico (atraves da digital). A dispensa biometrica é feita através do caso de uso [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:frequencia:ponto_eletronico:registro_biometrico:servidores_dispensados|Servidores Dispensados]]. * **RN20** - Registros de ponto do dia anterior, são considerados "em aberto" apenas quando o intervalo entre a data de registro da entrada for até X Horas a partir do registro de entrada. Este valor é definido nos parâmetros do ponto eletrônico através do seguinte parâmetro "PERIODO_MAXIMO_PONTO_DIA_ANTERIOR". * **RN21** - Criado mecanismo para bloquear acesso ao registro de ponto em [[desenvolvimento:especificacoes:sigrh:frequencia:casos_de_uso:ponto_eletronico:parametros_de_operacao_configuracao:faixas_de_ip_por_unidade:cadastrar|cadastro de faixas de ip por unidade]] para evitar o registro de ponto fora de redes autorizadas. * **RN22** - O acesso a esse caso de uso é exibido se o parâmetro ''PONTO_BIOMETRICO_IMPLANTADO'' = ''NÃO'', ou se ''PONTO_BIOMETRICO_IMPLANTADO'' = ''SIM'' e ''DISPENSA_OBRIGATORIEDADE_BIOMETRIA'' = ''SIM''. ([[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=144568|144568]], ), ou se ''PONTO_BIOMETRICO_IMPLANTADO'' = ''SIM'' e ''DISPENSA_OBRIGATORIEDADE_BIOMETRIA'' = ''NÃO'' e o servidor logado está cadastrado em [[desenvolvimento:especificacoes:sigrh:frequencia:casos_de_uso:ponto_eletronico:registro_biometrico:servidores_dispensados|Servidores Dispensados da Biometria]]. * **RN23** - O caso de uso é exibido diretamente ao logar no SIGRH, caso não haja ponto em aberto. ([[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=144831|144831]], ) * **RN24** - O cálculo de saída prevista utiliza o valor do parâmetro ''INTERVALO_MAXIMO_ALMOCO'' para estimar o horário em que o servidor deverá encerrar o ponto no dia, além da sua carga horária diária. ([[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=145084|145084]], ) * **RN25** - Caso o parâmetro ''REDIRECIONAR_REGISTRO_PONTO_AO_LOGAR'', disponível em [[desenvolvimento:especificacoes:sigrh:frequencia:casos_de_uso:ponto_eletronico:parametros_de_operacao_configuracao:consultar_alterar|Parâmetros de Operação/Configuração]] do ponto eletrônico, esteja habilitado, o servidor que registra ponto será redirecionado diretamente à esta operação durante o login no sistema SIGRH. * **RN26** - Há uma tolerância de atraso para o registro do ponto que é definido pelo valor do parâmetro: ''MINUTOS_BONUS_TOLERANCIA_ATRASO''. O sistema contabiliza para cada registro de ponto um abono no valor definido, sendo possível no máximo até 4 abonos correspondentes aos possíveis atrasos nas entradas e saídas dos servidores que saírem para intervalo de almoço e 2 para os servidores que não saírem para almoço. * Os minutos de tolerância somente devem ser contabilizados ao registrar a saída. * A contabilização dos minutos para a saída seguinte só será feita caso o servidor já tenha registrado saída para almoço. * **RN27** - O horário exibido vai depender do município da unidade de registro de ponto, cadastrado em [[desenvolvimento:especificacoes:sigadmin:casos_de_uso:portal_da_administracao:gestao_de_unidades:cadastro_de_unidades:cadastrar|Cadastro de Unidades]] e do fuso horário, definido em [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:frequencia:ponto_eletronico:parametros_de_operacao_configuracao:configurar_fusos_horarios|Configurar Fusos Horários]]. ==== Resoluções/Legislações Associadas ==== [[http://www.planalto.gov.br/ccivil_03/decreto/d1590.htm|Decreto nº 1.590, de 1995]] ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela ^ | br.ufrn.sigrh.frequencia.dominio.FrequenciaHorario | administrativo.frequencia.frequencia_horario | ====== Plano de Teste ====== Sistema: SIGRH Módulo: Portal do Servidor Link(s): Portal do Servidor -> Ponto Eletrônico Usuário: fernandapessoa, felipebohn, lbvr Papel que usuário deve ter: Sevidores (observar condições em [[#principais_regras_de_negócio|RN05]] e [[#principais_regras_de_negócio|RN16]]). ===== Cenários de Teste ===== Registrar várias entradas e saídas de algum servidor e verificar se estas estão sendo armazenadas e exibidas corretamente. Registrar uma entrada e depois tentar registrar nova entrada e verificar se o sistema impede o registro da nova entrada porque há uma entrada anterior em aberto. Verificar se servidores docentes e/ou inativos e/ou que possuem CD não possuem o link para registro do ponto eletrônico. Realizar o registro de ponto verificando os valores dos parâmetros para o intervalo de almoço. Primeiro realize uma saída (obviamente para um entrada já registrada) marcando a opção "Saída Almoço", depois tente realizar um registro de entrada observando os limites mínimos e máximos para o almoço. ===== Dados para o Teste ===== O script de consulta SQL abaixo para validar a [[#principais_regras_de_negócio|RN04]]: SELECT p.nome, entrada_informada, saida_informada FROM frequencia.horario_ponto h JOIN rh.servidor s on(s.id_servidor=h.id_servidor) JOIN comum.pessoa p on(s.id_pessoa=p.id_pessoa) where extract(week from now()) = extract(week from entrada_informada) --and id_servidor = ? order by entrada_informada O script de consulta SQL abaixo para validar a [[#principais_regras_de_negócio|RN08]]: SELECT DISTINCT u.codigo_unidade, u.nome FROM comum.unidade u INNER JOIN rh.servidor s ON (s.id_unidade = u.id_unidade) WHERE u.id_municipio IS NULL ORDER BY u.nome; O script de consulta SQL abaixo para validar as [[#principais_regras_de_negócio|RN06]] e [[#principais_regras_de_negócio|RN09]]: SELECT * FROM frequencia.parametros_ponto ORDER BY descricao O script de consulta SQL abaixo para validar a [[#principais_regras_de_negócio|RN09]]: select s.id_servidor, s.siape from rh.servidor s inner join rh_tipos.tipo_jornada_trabalho jornada on s.regime_trabalho = jornada.id_tipo_jornada_trabalho where s.data_desligamento is null and jornada.quantidade_horas < 40;