DES:Pontus

(Diferença entre revisões)
Ir para: navegação, pesquisa
(Visualizar Batidas de Horário)
(Requistos Funcionais)
Linha 5: Linha 5:
 
= Requistos Funcionais =
 
= Requistos Funcionais =
  
=== Menu Pontus ===
+
=== [Requisito Funcional - 01] Menu Pontus ===
 
O sistema permite ao usuário acessar interfaces referentes aos pontos batidos, um funcionário comum tem acesso limitado, supervisores podem visualizar os pontos de setores diretamente abaixo deles.
 
O sistema permite ao usuário acessar interfaces referentes aos pontos batidos, um funcionário comum tem acesso limitado, supervisores podem visualizar os pontos de setores diretamente abaixo deles.
  
Linha 12: Linha 12:
 
Prioridade: Alta
 
Prioridade: Alta
  
=== Verificação dos Pontos Batidos ===
+
=== [Requisito Funcional - 02] Verificação dos Pontos Batidos ===
 
O sistema permite ao usuário verificar os pontos batidos em determinado mês e ano.
 
O sistema permite ao usuário verificar os pontos batidos em determinado mês e ano.
  
Linha 19: Linha 19:
 
Prioridade: Alta
 
Prioridade: Alta
  
=== Impressão de Espelho do mês ===
+
=== [Requisito Funcional - 03] Impressão de Espelho do mês ===
 
O sistema possibilita ao usuário a impressão do espelho do mês selecionado.
 
O sistema possibilita ao usuário a impressão do espelho do mês selecionado.
  
Linha 26: Linha 26:
 
Prioridade: Alta
 
Prioridade: Alta
  
=== Visualização de Escala ===
+
=== [Requisito Funcional - 04] Visualização de Escala ===
 
O sistema permite ao usuário a visualização da escala de trabalho mensal.
 
O sistema permite ao usuário a visualização da escala de trabalho mensal.
 
Dependência: RF-01
 
Dependência: RF-01
 
Prioridade: Alta
 
Prioridade: Alta
  
=== Visualização de Setores ===
+
=== [Requisito Funcional - 05] Visualização de Setores ===
 
O sistema permite ao usuário, com permissões, visualizar os setores que tem funcionários supervisionados por ele.
 
O sistema permite ao usuário, com permissões, visualizar os setores que tem funcionários supervisionados por ele.
  

Edição de 13h54min de 7 de dezembro de 2023

Lançamento da nova versão em Extjs e VRaptor: 16/11/2023

Desenvolvida por Gustavo Antonio Martini

Tabela de conteúdo

Requistos Funcionais

[Requisito Funcional - 01] Menu Pontus

O sistema permite ao usuário acessar interfaces referentes aos pontos batidos, um funcionário comum tem acesso limitado, supervisores podem visualizar os pontos de setores diretamente abaixo deles.

Dependência: Nenhuma

Prioridade: Alta

[Requisito Funcional - 02] Verificação dos Pontos Batidos

O sistema permite ao usuário verificar os pontos batidos em determinado mês e ano.

Dependência: RF-01

Prioridade: Alta

[Requisito Funcional - 03] Impressão de Espelho do mês

O sistema possibilita ao usuário a impressão do espelho do mês selecionado.

Dependência: RF-01, RF-02

Prioridade: Alta

[Requisito Funcional - 04] Visualização de Escala

O sistema permite ao usuário a visualização da escala de trabalho mensal. Dependência: RF-01 Prioridade: Alta

[Requisito Funcional - 05] Visualização de Setores

O sistema permite ao usuário, com permissões, visualizar os setores que tem funcionários supervisionados por ele.

Dependência: RF-01

Prioridade: Média

Casos de Uso

[Caso de Uso - 01] Visualizar Batidas de Horário

Objetivo no Contexto: O usuário poderá visualizar os seus pontos a partir de um ano e mês selecionados.

Escopo: Pontus.

Pré-condições: Conexão com a internet, Logado no sistema Pontus, ser funcionário da UNIOESTE.

Condição Final de Sucesso: O usuário consegue visualizar os horários de ponto.

Condição Final de Falha: N/A.

Ator Primário: usuário.


Cenário Principal de Sucesso

Passo 1: O usuário interage com a interface, selecionando a opção de <Ver minhas batidas>.

Passo 2: O sistema carrega quais anos e meses o usuário trabalhou.

Passo 3: O usuário seleciona o ano e mês de desejo para se obter as informações.

Passo 4: O sistema carrega do banco de dados as informações referentes ao mês selecionado.

Passo 5: O sistema exibe a listagem dos pontos batidos no mês/ano selecionado.


Extensões

< Sem casos de mudança de fluxo detectadas >


Informação Relacionada

Prioridade: Alta

Desempenho alvo: menos de um segundo.

Frequência: Entre quatro a oito acessos diários.

Observações: Nenhuma

[Caso de Uso - 02] Impressão do Espelho de horário

Funções SQL

Funções com Valor Tabela

bilheteMesFuncionario

BDPontusWEB.dbo.bilheteMesFuncionario(@pssfsccodigo int, @mes int, @ano int)

A função retorna uma tabela, que contém todos os dias com batidas do mês do agente, com cinco colunas, sendo, respectivamente, dia, batidas, qtsBatidas, temEscala, minutosDiarios. Para poder iterar sobre o mês a função utiliza um cursor que trabalha sobre o select de batidas com dias distintos do funcionário, assim para cada dia é chamada a função btdDiaAjuste para construir as colunas batidas e qtsBatidas da linha. Além disso para cada dia é chamada a função tmpHrrDiario para a coluna minutosDiarios e a função exsTrnDia para a coluna temEscala.

btdDiaAjuste

BDPontusWEB.dbo.btdDiaAjuste (@pssfsccodigo int, @dia date)

A função organiza as batidas do funcionário, no formato hh:mm|...|hh:mm, para o respectivo dia e soma a quantidade das mesmas, antes de começar a concatenar as batidas é feita uma verificação, que utiliza a função hrrEntSdaTrnNoturno, para o primeiro horário do dia, checando se aquela batida é pertencente à um horário do dia anterior, a aritmética é feita a partir do horário de saída do dia anterior +-60 minutos de diferença, caso verdadeiro o cursor avança antes de inserir o horário no retorno. Além disso, é verificado se a primeira batida do próximo dia, referente à data selecionada, não faz parte do horário, a aritmética utilizada é a mesma para exclusão da primeira batida.

cbcCrtPonto

BDPontusWEB.dbo.cbcCtrPonto (@pssfsccodigo int, @mes int, @ano int)


EscFncSetorPorSemana

BDPontusWEB.dbo.EscFncSetorPorSemana (@cdgStor varchar(100), @prmDiaMes date, @utmDiaMes date)

A função retorna todos os funcionários do setor numa tabela, o formato da tabela é o mesmo da função psqEscFuncionarioPorSemana que é utilizada para cada funcionário do setor.


hrrEntSaida

BDPontusWEB.dbo.hrrEntSaida (@pssfsccodigo int, @dia date)

A função retorna uma tabela, que contém todos os horários do dia para o funcionário, com as colunas entrada, saida, diaHorario, sendo entrada e saída os horários e a última coluna é referente ao dia que o horário se refere.


hrrEntSdaTrnNoturno

BDPontusWEB.dbo.hrrEntSdaTrnNoturno (@pssfsc_codigo int, @dia date)

A função retorna uma tabela, que contém somente os horários que atravessam a meia-noite, com as colunas entrada, saida, diaHorario, sendo entrada e saída os horários e a última coluna é referente ao dia que o horário se refere.


psqEscFuncionarioPorSemana

BDPontusWEB.dbo.psqEscFuncionarioPorSemana (@pssfsc_codigo int, @prmDiaMes date, @utmDiaMes date, @cdgUnidade int)

A função retorna o código de pessoa física, o nome da pessoa e o horário da escala da pessoa para todos os dias possíveis de um mês, assim o retorno cria uma tabela com quarenta colunas. Os dias possíveis do mês são mapeados pensando em um calendário em que todos os dias da semana tem cinco ocorrências, exceto domingo e segunda-feira que tem seis, como no calendário são preenchidos somente dias que ocorreram nos mês e as 'caixas vazias' do calendário retornam null.

Funções com Valor Escalar

exsTrnDia

BDPontusWEB.dbo.exsTrnDia (@pssfsc_codigo int, @dia date)

A função verifica nas tabelas de FncHRRTrbDiario e FncEscTrabalho se o funcionário tem horário de trabalho no dia enviado para a função. Retorna 'S' para dia com trabalho e 'N' para um dia em que não há escala.

hrrDiaFuncionario

BDPontusWEB.dbo.hrrDiaFuncionario(@pssfsc_codigo int, @dia date, @cdgUnidade int)

A função retorna a String com os horários de entrada e saída do funcionário, o código de unidade é um parâmetro pois está função é utilizada como apoio para a função psqEscFuncionarioPorsemana, em que já se cálcula o código de unidade, quando o funcionário tem mais que um turno no dia a String é concatenada e separada por quebras de linha (char 10) no SQL. Além disso, são demarcados os horários extras do agente universitário com o caractere E no final da linha, caso o funcionário não tenha nenhum horário no dia o retorno é um ponto ( . ).

tmpHrrDiario

BDPontusWEB.dbo.tmpHrrDiario(@pssfsc_codigo int, @dia date)

A função cálcula quantos minutos o funcionário deve executar no dia, retorna o valor inteiro dos minutos designados para trabalho na respectiva data.


vrfUnidade

BDPontusWEB.dbo.vrfUnidade(@pssfsc_codigo int)

A função retorna um inteiro que é referente a qual banco de dados o funcionário esta integrado. Necessária para as seleções em locais que a consulta pode gerar duplicidade de resultados quando existirem chaves primárias iguais entre bancos. Além disso, é considerado as cedências para outros setores da pessoa física, nesse caso a pessoa está, provavelmente, presente em mais de um banco.

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas