Saldo Inicial
{bancoMensal.saldoFormatado.inicial.positivo ? '+' : '-'} {bancoMensal.saldoFormatado.inicial.horas}h{' '} {bancoMensal.saldoFormatado.inicial.minutos}min
Saldo do Mês
{bancoMensal.saldoFormatado.mes.positivo ? '+' : '-'} {bancoMensal.saldoFormatado.mes.horas}h{' '} {bancoMensal.saldoFormatado.mes.minutos}min
Saldo Final
{bancoMensal.saldoFormatado.final.positivo ? '+' : '-'} {bancoMensal.saldoFormatado.final.horas}h{' '} {bancoMensal.saldoFormatado.final.minutos}min
Horas Extras
{Math.floor(bancoMensal.horasExtras / 60)}h{' '} {bancoMensal.horasExtras % 60}min
Déficit de Horas
{Math.floor(bancoMensal.horasDeficit / 60)}h{' '} {bancoMensal.horasDeficit % 60}min
Dias Trabalhados
{bancoMensal.diasTrabalhados} dias
Última Atualização
{new Date(bancoMensal.atualizadoEm).toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit' })}
| Data | Tipo | Motivo | Valor | Gestor | Status |
|---|---|---|---|---|---|
| {new Date(ajuste.dataAplicacao).toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' })} | {ajuste.tipo === 'abonar' ? 'Abonar' : ajuste.tipo === 'descontar' ? 'Descontar' : 'Compensar'} |
{ajuste.motivoTipo === 'atestado'
? 'Atestado Médico'
: ajuste.motivoTipo === 'licenca'
? 'Licença'
: ajuste.motivoTipo === 'ausencia'
? 'Ausência'
: 'Manual'}
{#if ajuste.motivoDescricao}
{ajuste.motivoDescricao}
{/if}
|
= 0 ? 'text-success' : 'text-error'} > {ajuste.valorMinutos >= 0 ? '+' : ''} {Math.floor(Math.abs(ajuste.valorMinutos) / 60)}h{' '} {Math.abs(ajuste.valorMinutos) % 60}min | {ajuste.gestor?.nome || 'Sistema'} |
{#if ajuste.aplicado}
|
{inconsistencia.descricao}
Detectada em:{' '} {new Date(inconsistencia.dataDetectada).toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' })}
Total de Ajustes
{Math.floor(Math.abs(bancoMensal.totalAjustes) / 60)}h{' '} {Math.abs(bancoMensal.totalAjustes) % 60}min
Total de Abonos
+{Math.floor(bancoMensal.totalAbonos / 60)}h{' '} {bancoMensal.totalAbonos % 60}min
Total de Descontos
-{Math.floor(bancoMensal.totalDescontos / 60)}h{' '} {bancoMensal.totalDescontos % 60}min
Inconsistências Resolvidas
{bancoMensal.inconsistenciasResolvidas}
Nenhum dado disponível para este mês
Não há registros de banco de horas para {formatarMes(mesSelecionado)}.
| Mês | Saldo Inicial | Saldo do Mês | Saldo Final | Dias |
|---|---|---|---|---|
| {formatarMes(item.mes)} | {item.saldoFormatado.inicial.positivo ? '+' : '-'} {item.saldoFormatado.inicial.horas}h{' '} {item.saldoFormatado.inicial.minutos}min | {item.saldoFormatado.mes.positivo ? '+' : '-'} {item.saldoFormatado.mes.horas}h{' '} {item.saldoFormatado.mes.minutos}min | {item.saldoFormatado.final.positivo ? '+' : '-'} {item.saldoFormatado.final.horas}h{' '} {item.saldoFormatado.final.minutos}min | {item.diasTrabalhados} |
Registro: {alteracao.registro.tipo} em{' '} {alteracao.registro.data}
Alteração:{' '} {alteracao.registro.horaAnterior} {' '} →{' '} {alteracao.registro.horaNova}
{#if alteracao.diferencaMinutos !== undefined}Diferença:{' '} = 0 ? 'text-success' : 'text-error'} > {alteracao.diferencaMinutos >= 0 ? '+' : ''} {Math.floor(Math.abs(alteracao.diferencaMinutos) / 60)}h{' '} {Math.abs(alteracao.diferencaMinutos) % 60}min
{/if}Tipo: {alteracao.tipoAjuste === 'compensar' ? 'Compensar' : alteracao.tipoAjuste === 'abonar' ? 'Abonar' : 'Descontar'}
{#if alteracao.ajusteMinutos !== undefined}Ajuste:{' '} = 0 ? 'text-success' : 'text-error'} > {alteracao.ajusteMinutos >= 0 ? '+' : ''} {Math.floor(Math.abs(alteracao.ajusteMinutos) / 60)}h{' '} {Math.abs(alteracao.ajusteMinutos) % 60}min
{/if}Motivo: {alteracao.motivoDescricao}
{/if} {#if alteracao.observacoes}Observações: {alteracao.observacoes}
{/if} {#if alteracao.gestor}Alterado por: {alteracao.gestor.nome}
{/if}Nenhuma alteração registrada
Não há histórico de alterações para {formatarMes(mesSelecionado)}.