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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user