calcular adicional noturno em php

266 views
Skip to first unread message

Lasaro

unread,
Apr 11, 2014, 3:25:18 PM4/11/14
to php-b...@googlegroups.com, ph...@googlegroups.com
boa tarde!

Senhores,

Estou fazendo uma folha de pagamento em php. Preciso calcular as os adicionais noturnos. Alguém já fez calculou adicionais noturnos?


Lásaro Carvalho
Site: www.lasarocarvalho.com.br
Antes de imprimir, pense em sua responsabilidade e compromisso com o meio ambiente. 

Eduardo Alexandre

unread,
Apr 11, 2014, 3:26:36 PM4/11/14
to php-b...@googlegroups.com
Não está funcionando o cálculo?

Abraços,
___________________
Eduardo Alexandre


--
Você recebeu essa mensagem porque está inscrito no grupo quot;php-brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para php-brasil+...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para php-b...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/php-brasil.
Para mais opções, acesse https://groups.google.com/d/optout.

Davi Nunes de França

unread,
Apr 11, 2014, 3:40:13 PM4/11/14
to php-b...@googlegroups.com

Costumo fazer em Excel, em php é uma questão cálculo. Algum problema com o algoritmo?

Enviado via Android
  Davi Nunes

Lasaro

unread,
Apr 11, 2014, 3:49:06 PM4/11/14
to php-b...@googlegroups.com
Prezados,

Não sei como monto a fórmula, apesar de parecer simples (separar os horários das 22h às 6h).
Se um funcionário entra às 18h e sai as 2h da manhã, como calculo os adicionais noturnos?
Preciso construir uma sintaxe que resolva não só este como outros casos também.

Valeu pela atenção,

Lásaro Carvalho
Site: www.lasarocarvalho.com.br
Antes de imprimir, pense em sua responsabilidade e compromisso com o meio ambiente.

Davi Nunes de França

unread,
Apr 11, 2014, 4:01:44 PM4/11/14
to php-b...@googlegroups.com

Como você está fazendo atualmente?

Enviado via Android
  Davi Nunes

Lasaro

unread,
Apr 11, 2014, 4:13:10 PM4/11/14
to php-b...@googlegroups.com
Não estou fazendo, é a primeira vez que preciso fazer.

Davi Nunes de França

unread,
Apr 11, 2014, 4:26:16 PM4/11/14
to php-b...@googlegroups.com

Então você precisa criar uma planilha em php para alimentar horas, fazer cálculo por dia e classificar horas e depois calcular o percentual.

Enviado via Android
  Davi Nunes

Jefferson Andrade

unread,
Apr 11, 2014, 4:45:03 PM4/11/14
to php-b...@googlegroups.com
Tem o OpenERP também. Python + Postgres.



Em 11 de abril de 2014 17:43, Jefferson Andrade <jer...@gmail.com> escreveu:
Pra quê re-inventar a roda? http://folha-livre.sourceforge.net/

Jefferson Andrade

unread,
Apr 11, 2014, 4:43:22 PM4/11/14
to php-b...@googlegroups.com
Pra quê re-inventar a roda? http://folha-livre.sourceforge.net/

Lasaro

unread,
Apr 11, 2014, 4:52:42 PM4/11/14
to php-b...@googlegroups.com
Amigos,

Preciso apenas de uma fórmula para subtrair as horas que incidam adicional noturno.
Esta função tem q ser em php.
No cadastro do funcionário estou inserindo as datas de entrada, saída para almoço ou janta, retorno do almoço ou janta e por fim saída.

Valeu pela atenção,
Lásaro Carvalho
Site: www.lasarocarvalho.com.br
Antes de imprimir, pense em sua responsabilidade e compromisso com o meio ambiente.


Eduardo Alexandre

unread,
Apr 11, 2014, 7:27:33 PM4/11/14
to php-b...@googlegroups.com
Lasaro,

Se está desenvolvendo em uma empresa, obtenha a consultoria necessária com um profissional do RH que lhe explicará a metodologia do cálculo.
Se está desenvolvendo "por conta", procure no Google por cálculo de hora extra" que encontrará muita referência.

Abraços,
___________________
Eduardo Alexandre

Lasaro

unread,
Apr 12, 2014, 7:41:31 AM4/12/14
to php-b...@googlegroups.com
Eduardo e demais,

Ao pesquisar no google o termo cálculo de hora extra em php aparece o cálculo da hora extra propriamente dita. Não exibe muita coisa em php, por este motivo recorri a lista.
Estou dando um jeito aqui.
Coloquei as horas em um array e separei as horas no intervalo entre 22h e 05h, pensei existir uma função melhor indicada para isso.

Caso alguém utilize alguma função específica e puder colaborar ficarei muito grato.

Abs,

Lasaro

unread,
Apr 12, 2014, 8:27:20 AM4/12/14
to php-b...@googlegroups.com
para quem precisar, minha fórmula ficou assim:

<?php
 
// Função para calcular horário
function dif_horario($horario1, $horario2) {
    $horario1 = strtotime("1/1/1980 $horario1");
    $horario2 = strtotime("1/1/1980 $horario2");
        
 if ($horario2 < $horario1) {
    $horario2 = $horario2 + 86400;
 }
 
return ($horario2 - $horario1) / 3600;    
}
 
 
$horario1 = "04:00:00";
$horario2 = "09:00:00";
$horario3 = "00:00:00";
$horario4 = "02:00:00";
$iH1=(int)substr($horario1, 0,2);
$diferenca1=dif_horario($horario1, $horario2);
echo "Diferença entre horários: $diferenca1 horas<br/>";

for ($i=1;$i<=$diferenca1; $i++){
if(substr($horario1, 0,2)<6){if ($iH1<=5){$iE=$iE+1;}}else{if ($iH1>=22){$iE=$iE+1;}}
   
    echo "$i: $iH1<br>";
    $iH1=$iH1+1;
}
echo " - Hora adicional noturna iE: $iE<br><br>";

$iH3=(int)substr($horario3, 0,2);
$diferenca3=dif_horario($horario3, $horario4);
echo "Diferença entre horários: $diferenca3 horas<br/>";

for ($i=1;$i<=$diferenca3; $i++){
    if(substr($horario3, 0,2)<6){if ($iH3<=5){$iE3=$iE3+1;}}else{if ($iH3>=22){$iE3=$iE3+1;}}
    //if ($iH3 >= 22){$iE3=$iE3+1;}
    echo "$i: $iH3 $iE3<br>";
    $iH3=$iH3+1;
}
echo " - Hora adicional noturna iE3: $iE3<br>";

?>

Está funfando legal, só os minutos que ficaram comprometidos


Lásaro Carvalho
Site: www.lasarocarvalho.com.br
Antes de imprimir, pense em sua responsabilidade e compromisso com o meio ambiente.

--

Italo Negreiros

unread,
Apr 14, 2014, 11:38:03 PM4/14/14
to php-b...@googlegroups.com
show
Reply all
Reply to author
Forward
0 new messages