feat: implement automatic adjustment removal for deleted records in absence and atestado mutations, enhancing data integrity and recalculating work hours for specific periods

This commit is contained in:
2025-12-23 07:44:54 -03:00
parent 414ae85264
commit a731015c89
4 changed files with 191 additions and 16 deletions

View File

@@ -1254,6 +1254,7 @@ export const excluirAtestado = mutation({
const funcionarioId = atestado.funcionarioId;
const dataInicio = atestado.dataInicio; // Data início do atestado
const dataFim = atestado.dataFim; // Data fim do atestado
const atestadoId = args.id.toString(); // ID do atestado para remover ajustes
// Excluir o registro do banco de dados
await ctx.db.delete(args.id);
@@ -1267,6 +1268,19 @@ export const excluirAtestado = mutation({
args.id
);
// Remover ajustes automáticos relacionados ao atestado excluído
try {
await ctx.runMutation(internal.pontos.removerAjustesAutomaticosInternal, {
funcionarioId,
motivoTipo: 'atestado',
motivoId: atestadoId,
dataInicio,
dataFim
});
} catch (error) {
console.error('[excluirAtestado] Erro ao remover ajustes automáticos:', error);
}
// Recalcular banco de horas APENAS para o período específico do atestado excluído
// Isso garante que os dias do atestado sejam removidos corretamente dos registros de ponto
await recalcularBancoHorasPeriodo(ctx, funcionarioId, dataInicio, dataFim);