[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