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

Marcelo Geyer estanisgeyer em gmail.com
Ter Jun 30 18:42:05 -03 2015


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




Mais detalhes sobre a lista de discussão lista