[firebase-br] OFF-Topic - Modelagem e Cálculo de Horas

Walter R. Ojeda Valiente sistemas2000profesional em gmail.com
Ter Jun 30 20:53:44 -03 2015


¿El cálculo de las horas lo hará en la aplicación?

Claro que es posible pero no es lo ideal.

¿Por qué?

Porque lo ideal es trabajar con capas y si se usa esta metodología entonces
todos los cálculos y todos los procesos que involucren a la Base de Datos
deben realizarse sí o sí dentro de la Base de Datos. Para eso existen las
columnas computadas, los triggers y los stored procedures.

Desde la aplicación solamente se consulta, en la aplicación ni se calcula
ni se procesa. Siempre que el cálculo o el proceso involucre a tablas de la
Base de Datos el cálculo o el proceso deberían hacerse dentro de la Base de
Datos.

Saludos.

Walter.




2015-06-30 17:42 GMT-04:00 Marcelo Geyer <estanisgeyer em gmail.com>:

> Boa tarde,
>
> Como você mencionou que não sabem quantos intervalos cada funcionário
> fará, a melhor abordagem é usar um campo de identificação do
> funcionário, um campo "datetime" para entrada e outro para saída. O
> cálculo de horas você fará na aplicação.
>
> Em 30 de junho de 2015 16:27, Ricardo Borges Zancanaro
> <rbzancanaro em gmail.com> escreveu:
> > Meu nome é Ricardo, durante a graduação acompanhava a lista diariamente,
> > porém tomei outros rumos e me afastei da área de TI, hoje trabalho
> >
> > em uma Prefeitura no interior de Santa Catarina e durante o aniversário
> da
> > cidade me surgiu uma necessidade que acabei resolvendo com
> >
> > planilhas do excel já que não tinha tempo hábil para desenvolver uma
> > solução, mas quero me preparar para a próxima. Como não me descadastrei
> >
> > da lista resolvi pedir ajuda.
> >
> > No aniversário do municipal é realizada uma Expofeira com 5 dias de
> > duração, começando na quarta-feira até domingo.
> > Desses 5 dias 3 podem ter expediente normal para os funcionários, pode
> > ocorrer um feriado entre quarta e sexta.
> > No feriado, sábado e domingo todas as horas trabalhadas são pagas.
> > Nos dias de expediente normal deve-se analizar o horário de cada
> > funcionário, se trabalhou fora do expediente pagam-se as horas.
> > São vários os horários de expediente, conforme exemplo:
> >
> > pk | entrada | saida | entrada2 | saida2
> > ----------------------------------------
> > 01 | 05:00   | 11:00 |          |
> > 02 | 08:00   | 12:00 |  14:00   | 17:00
> > 03 | 07:30   | 12:00 |  13:30   | 17:30
> >
> > pk | nomefunc | fkhorario
> > -------------------------
> > 11 | FuncA    | 01
> > 22 | FuncB    | 02
> > 33 | FuncC    | 03
> > 44 | FuncD    | 02
> >
> > Durante o evento os funcionários podem trabalhar sem pausa ou realizar
> mais
> > de uma pausa durante o período.
> >
> > pk | entrada | saida | entrada2 | saida2 | entrada3 | saida3 | fkfunc
> > ---------------------------------------------------------------------
> > 01 | 10:00   | 14:00 |          |        |          |        | 11
> > 02 | 07:00   | 12:30 | 13:00    | 20:00  | 20:30    | 24:00  | 22
> > 03 | 07:00   | 23:00 |          |        |          |        | 33
> > 04 | 08:00   | 12:00 | 14:00    | 17:00  |          |        | 44
> >
> > Que resulta o pagamento:
> >
> > pk | horaspagas | fkfunc
> > ------------------------
> > 01 | 3          | 11
> > 02 | 9          | 22
> > 03 | 7,5        | 33
> > 04 | 0          | 44
> >
> > Considerando somente os dias em que há expediente, a modelagem inicial
> > ficou assim:
> > Horarios(pk, entrada, saida, entrada2, saida2)
> > Pessoa(pk, nomefunc, fkhorario)
> > Batidas(pk, entrada, saida, totalhoraspagas, fkfunc)
> >
> > Como não sabemos quantos intervalos cada um fará pensei que o melhor
> seria
> > deixar uma entrada e saida nas batidas, podendo ter mais de uma
> >
> > para cada funcionário no dia, bem como no momento do registro verificar o
> > quanto dessas horas serão pagas.
> >
> > Minhas dúvidas são:
> > 1) A modelagem é a ideal? O que pode ser diferente?
> > 2) Qual a melhor abordagem para o cálculo de horas? Aqui sinceramente eu
> > empaquei.
> >
> > Agradeço desde já
> > Ricardo Zancanaro
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
>
>
> --
> Marcelo E. Geyer
> Standard Net Tecnologia e Informação
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista