feat: implement date parsing utility across absence management components for improved date handling and consistency

This commit is contained in:
2025-12-05 11:57:15 -03:00
parent 4a1f48300f
commit 66f995cb08
16 changed files with 2053 additions and 87 deletions

View File

@@ -210,6 +210,23 @@ export const pontoTables = {
.index('by_funcionario', ['funcionarioId'])
.index('by_data', ['data']),
// Banco de Horas Mensal - Agregação mensal do banco de horas
bancoHorasMensal: defineTable({
funcionarioId: v.id('funcionarios'),
mes: v.string(), // YYYY-MM (ex: "2024-01")
saldoInicialMinutos: v.number(), // Saldo acumulado do mês anterior (pode ser negativo)
saldoFinalMinutos: v.number(), // Saldo acumulado ao final do mês
saldoMesMinutos: v.number(), // Saldo apenas do mês atual (sem acumular)
diasTrabalhados: v.number(), // Quantidade de dias com registros no mês
horasExtras: v.number(), // Total de minutos positivos do mês
horasDeficit: v.number(), // Total de minutos negativos do mês (valor absoluto)
calculadoEm: v.number(),
atualizadoEm: v.number()
})
.index('by_funcionario_mes', ['funcionarioId', 'mes'])
.index('by_funcionario', ['funcionarioId'])
.index('by_mes', ['mes']),
// Homologações de Ponto - Edições e ajustes realizados pelo gestor
homologacoesPonto: defineTable({
registroId: v.optional(v.id('registrosPonto')), // ID do registro editado (se for edição)