feat: enhance point registration and management features

- Added functionality to capture and display images during point registration, improving user experience.
- Implemented error handling for image uploads and webcam access, ensuring smoother operation.
- Introduced a justification field for point registration, allowing users to provide context for their entries.
- Enhanced the backend to support new features, including image handling and justification storage.
- Updated UI components for better layout and responsiveness, improving overall usability.
This commit is contained in:
2025-11-18 15:28:26 -03:00
parent f0c6e4468f
commit b01d2d6786
10 changed files with 941 additions and 187 deletions

View File

@@ -1387,6 +1387,9 @@ export default defineSchema({
connectionType: v.optional(v.string()),
memoryInfo: v.optional(v.string()),
// Justificativa opcional para o registro
justificativa: v.optional(v.string()),
criadoEm: v.number(),
})
.index("by_funcionario_data", ["funcionarioId", "data"])
@@ -1416,5 +1419,19 @@ export default defineSchema({
atualizadoPor: v.id("usuarios"),
atualizadoEm: v.number(),
})
.index("by_ativo", ["usarServidorExterno"])
.index("by_ativo", ["usarServidorExterno"]),
// Banco de Horas - Saldo diário de horas trabalhadas
bancoHoras: defineTable({
funcionarioId: v.id("funcionarios"),
data: v.string(), // YYYY-MM-DD
cargaHorariaDiaria: v.number(), // Horas esperadas do dia (em minutos)
horasTrabalhadas: v.number(), // Horas realmente trabalhadas (em minutos)
saldoMinutos: v.number(), // Saldo do dia (positivo = horas extras, negativo = déficit)
registrosPontoIds: v.array(v.id("registrosPonto")), // IDs dos registros do dia
calculadoEm: v.number(),
})
.index("by_funcionario_data", ["funcionarioId", "data"])
.index("by_funcionario", ["funcionarioId"])
.index("by_data", ["data"]),
});