Registros
{#if funcionarioIdFiltro || dataInicio || dataFim}
{#if funcionarioIdFiltro && funcionarioSelecionadoNome}
{funcionarioSelecionadoNome}
{/if}
{#if dataInicio}
De: {formatarData(dataInicio)}
{/if}
{#if dataFim}
Até: {formatarData(dataFim)}
{/if}
{/if}
{#if registrosQuery?.status === 'Loading'}
Carregando registros...
{:else if registrosQuery?.error}
Erro ao carregar registros: {registrosQuery.error.message || 'Erro desconhecido'}
{:else if !registrosQuery?.data}
Aguardando dados da consulta...
{:else if registros.length === 0}
Nenhum registro encontrado para o período selecionado
Período: {formatarData(dataInicio)} até {formatarData(dataFim)}
{#if funcionarioIdFiltro && funcionarioSelecionadoNome}
Funcionário: {funcionarioSelecionadoNome}
{/if}
{:else if registrosAgrupados.length === 0}
Registros encontrados, mas não foi possível agrupá-los
Total de registros: {registros.length}
{:else}
{#each registrosAgrupados as grupo}
{grupo.funcionario?.nome || 'Funcionário não encontrado'}
{#if grupo.funcionario?.matricula}
Matrícula: {grupo.funcionario.matricula}
{/if}
{#key grupo.funcionarioId}
{@const bancoHorasQuery = useQuery(
api.pontos.obterBancoHorasFuncionario,
{ funcionarioId: grupo.funcionarioId }
)}
{@const bancoHoras = bancoHorasQuery?.data}
{@const saldoAcumulado = bancoHoras?.saldoAcumuladoMinutos ?? 0}
{@const saldoPositivo = saldoAcumulado >= 0}
{#if bancoHoras}
{#if saldoPositivo}
{:else}
{/if}
Banco de Horas
{formatarSaldoHoras(saldoAcumulado)}
{/if}
{/key}
| Data |
Tipo |
Horário |
Saldo Diário |
Status |
Ações |
{#each Object.values(grupo.registrosPorData) as grupoData}
{@const totalRegistros = grupoData.registros.length}
{@const dataParts = grupoData.data.split('-')}
{@const dataFormatada = `${dataParts[2]}/${dataParts[1]}/${dataParts[0]}`}
{#each grupoData.registros as registro, index}
| {dataFormatada} |
{config
? getTipoRegistroLabel(registro.tipo, {
nomeEntrada: config.nomeEntrada,
nomeSaidaAlmoco: config.nomeSaidaAlmoco,
nomeRetornoAlmoco: config.nomeRetornoAlmoco,
nomeSaida: config.nomeSaida,
})
: getTipoRegistroLabel(registro.tipo)}
|
{formatarHoraPonto(registro.hora, registro.minuto)} |
{#if index === 0}
{#if grupoData.saldoDiario}
{formatarSaldoDiario(grupoData.saldoDiario)}
{:else}
-
{/if}
|
{/if}
{registro.dentroDoPrazo ? 'Dentro do Prazo' : 'Fora do Prazo'}
|
|
{/each}
{/each}
{/each}
{/if}