Calculadora HE: versões e alterações

V1.2.7 - 11 de julho de 2020
* Adicional novo modo de cálculo da compensação da súmula 85 do TST:
1. São computadas as horas excedentes ao limite diário (seja HORAS_EXCEDENTES_DIA), bem como o total de horas trabalhadas durante a semana (seja HORAS_TRAB_SEMANA).
2. Ao término da semana, é verificado se o número de horas de trabalho na semana excedeu o limite semanal (seja HORAS_EXCEDENTES_SEMANA).
3. Se HORAS_EXCEDENTES_SEMANA == 0, então as HORAS_EXCEDENTES_DIA serão pagas somente pelo adicional. E nada mais é devido.
4. Se HORAS_EXCEDENTES_SEMANA >= HORAS_EXCEDENTES_DIA, paga-se: hora + adicional das HORAS_EXCEDENTES_SEMANA. E nada mais é devido.
5. Por fim, se HORAS_EXCEDENTES_SEMANA < HORAS_EXCEDENTES_DIA, então: paga-se hora mais adicional de HORAS_EXCEDENTES_SEMANA e somente o adicional de: HORAS_EXCEDENTES_DIA menos HORAS_EXCEDENTES_SEMANA.
* O método antigo de cálculo de súmula 85 do TST continua disponível, mas passa a ser secundário.
* A cada término de período, será impresso novamente o cabeçario, para facilitar a visualização do dano na coluna.
* Melhorada a máscara de javascript das horas.

V1.2.6 - 30 de abril de 2019
* Implementada a opção de cálculo na forma da Súmula 85 do C. TST e art.59-B da CLT. Funcionamento: no caso de desrespeito ao limite diário, mas não do limite semanal, será pago apenas o adicional. Em relação as horas que ultrapassem o limite semanal, será paga a hora acrescida de adicional, ainda que eventualmente o limite diário tenha sido transgredido. Caso a mesma hora infrinja concomitantemente os dois critérios -- diário e semanal -- será paga a hora acrescida de adicional, de modo a evitar bis in idem.
* Agradecimento a Thiago P. (2VT de Paulínia), por ajudar na formulação teórica da consequência jurídica do desrespeito simultâneo dos limites diário e semanal.
* Após a vigência da lei 13.467/17 (11.11.2017), o intervalo intrajornada inferior à lei é pago apenas pelos minutos subtraídos.

V1.2.5 - 15 de agosto de 2017
* Alterado o estilo dos resultados.
* Exportação para o PJE-CALC a partir do arquivo .dat.
* Revisão 1 (18.03.2019): pequenas alterações.
* Revisão 1 (20.04.2019): criado exportador para o novo sistema de jornada do PJE-CALC. Mantido o sistema de exportação antigo.

V1.2.4 - 21 de junho de 2016
* Alterado o estilo dos resultados para que seja possível copiar resultados em Excel.
* Alterados diversos estilos e instalada verificação de horários. Se houver erro, altera para ERRO.
* Nova opção: A cada três domingos trabalhados, um DSR deve coincidir com o domingo.
* REV.1: incluída opção para ligar ou desligar a prorrogação de jornada noturna (25.04.2017).

V1.2.3 - 06 de junho de 2016
* Versões anteriores não estão mais disponíveis.
* Alterado o paradigma de procedimental para programação orientada a objetos (POO/OOP).
* Excluída coluna de horas semanais. Agora o cômputo dessas horas consta na coluna de horas diurnas ou noturnas.
* A linha de totalização semanal passa a ser opcional.
* Os dados da tela de resultados exibem mais informações ao passar o mouse por cima.
* Se a jornada se iniciou no período noturno e terminou no diurno, considerar prorrogação de NOITE > DIA
* Corrigido pequeno bug que não desligava a redução da hora noturna ao carregar um arquivo com essa opção.
* Corrigido pequeno bug que não zerava as horas extras semanais quando o fechamento ocorre no meio da semana.

V1.2.2 - 16 de junho de 2015
* Todos os dados de horários passam a ser enviados através de uma única variável, contornando a limitação de 1000 variáveis do php.
* Criada a exportação/importação de dados.
* Alterado cálculo de intervalo entrejornadas (art. 66 da CLT).
* Alterada a página inicial para permitir inserir os dados novos, ou visualizar dados exportados anteriormente.
* R1 (03.09.2015): agora uso de dados anteriores recupera as opções originais.
* R1 (03.09.2015): corrigido checkbox na redução de horas e intervalo entrejornadas (ligar/desligar).
* R1 (03.09.2015): a inserção de novos horários é o padrão.

V1.2.1 - 05 de maio de 2015
* Período sem qualquer desenvolvimento: dez/2014 até abr/2015.
* Reescritas algumas funções para otimização e redução do número de variáveis.
* Melhoria da visibilidade dos dados e adoção de cascaded style sheet (CSS).
* Inclusão de javascript para verificar se dados básicos foram preenchidos.
* A redução da hora noturna urbana pode ser desligada. Assim como pode ser colocada na rural, pecuária, etc.
* Possibilidade de alterar o período de fechamento da apuração.
* Correção de bug, quando preenchido apenas a primeira pegada. #BUG5

V1.2.0.1 - 29 de novembro de 2014
* Limitado o número de dias da calculadora, para evitar que haja interrupção do script pelo servidor(timeout).
* Adicionadas proteções extras às variáveis (he3.php), verificando se existem. Em contrário, cria-as.
* Alterada forma de exibição dos dados em tabelas, para atribuir ao td a propriedade de centralização.

V1.2 - 27 de outubro de 2014
* Alteradas máscaras de horas e datas (javascripts), para que torná-las mais amigáveis.
* jornada(); passa a funcionar a partir de pegadas, o que permitirá eventual expansão do sistema.
* Sistema de feriados finalmente foi implantado.
* Refeito diversos aspectos dos resultados de horas extras. Simplificado (espero!) e com menos variáveis.
* Criado cálculo de DSR a ser mostrado no resultado.
* Resultados agora são divididos entre: horas extras diurnas e noturnas, DSR/Feriados, excedentes a jornada semanal.
* Refeito sistema de impressão de dados, utilizando imprimirdados(); de forma centralizada.
* Refeito arrendondamento de números: duas casas decimais e vírgula como separador (facilita edição em planilha de Excel).
* Corrigido erro do intervalo entrejornadas (art. 66 da CLT): quando havia 25 horas de intervalo, dava erro. #BUG4

V1.1.3 - 05 de outubro de 2014
* Aspectos visuais: incluído botão imprimir (duh!). Alterada a disposição dos dados.
* Resultados: (1)jornada total, (2)h. diárias, (3)h. noturnas, (4)intervalo, (5)he dia, (6)he semanal, (7)int. entrej.
* Criado desprezo de diferenças mínimas (art. 58, §1º, da CLT), configurável.
* É possível configurar cálculo supressão intervalo intrajornada: período todo ou minutos suprimidos.
* Mais um #BUG de horas diárias e noturnas: 18h até 6h dava > 15h trabalhadas. #BUG3.2 (02.10.2014)
* OBS: versões 1.1.2 e 1.1.2.1 foram corrigidas e podem ser usadas. Versão 1.1.1 não está disponível e não foi corrigida.

V1.1.2.1 - 22 de setembro de 2014
* Corrigido erros de horas diárias e noturnas e intervalo intrajornada. #BUG3.1
* Refeito dianoite(); -- integralmente.
* Corrigido erro quando intervalo estava entre 23h e 24h e apontava -23h de intervalo. #BUG3.1
* Suporte a horas noturnas: urbano, rural, pecuaria, Itaipu e portuários.
* Opção adicionada: feriados e DSR trabalhados: hora extra ou pagamento em dobro.

V1.1.2 - 17 de setembro de 2014
* Criado limite diario e semanal de jornada, configurável.
* Criado controle de feriados trabalhados.
* Criado cômputo de intervalo entrejornada.
* Corrigido erro da jornada semanal. #BUG2
* Corrigido erro no cálculo de horas diárias e noturnas. #BUG3

V1.1.1 - 22 de agosto de 2014.
* Corrigido bug sobre o intervalo intrajornada, quando havia menos de 4 horas diárias apontava 15 minutos de intervalo suprimidos. #BUG1
* Criado controle de versões (formalmente).
* Versões anteriores não devem ser utilizadas, por conter erro de intervalo.

V1.1 - agosto de 2014.
* Calcula horas trabalhadas para um dado período, fornecido pelo usuário.
* A cada semana e mês mostra as contabilizações de horas trabalhadas.
* Acrescenta suporte a intrajornada abaixo de seis horas de jornada.

V1.0 - fevereiro de 2014.
* Capacidade de calcular jornada (horas trabalhadas) em uma semana.
* Mostra horas trabalhadas durante o dia e a noite, com redução.
* Calcula intervalo intrajornada usufruído e suprimido, para os dias que houver mais de 6 horas de trabalho.
* Mostra os dias da semana.

Henrique Gomes Mozena
hen.silva arroba hotmail ponto com.

A fazer (TODO)
* Implementar múltiplas pegadas. Duas pegadas (normal, pois há intervalo), três ou quatro pegadas.