Correcao ferias #17
@@ -63,6 +63,28 @@
|
|||||||
processando = true;
|
processando = true;
|
||||||
erro = '';
|
erro = '';
|
||||||
|
|
||||||
|
// Validar se as datas e condições estão dentro do regime do funcionário
|
||||||
|
if (!solicitacao.funcionario?._id) {
|
||||||
|
erro = 'Funcionário não encontrado';
|
||||||
|
processando = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const validacao = await client.query(api.saldoFerias.validarSolicitacao, {
|
||||||
|
funcionarioId: solicitacao.funcionario._id,
|
||||||
|
anoReferencia: solicitacao.anoReferencia,
|
||||||
|
periodos: solicitacao.periodos.map((p) => ({
|
||||||
|
dataInicio: p.dataInicio,
|
||||||
|
dataFim: p.dataFim
|
||||||
|
}))
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!validacao.valido) {
|
||||||
|
erro = `Não é possível aprovar: ${validacao.erros.join('; ')}`;
|
||||||
|
processando = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
await client.mutation(api.ferias.aprovar, {
|
await client.mutation(api.ferias.aprovar, {
|
||||||
solicitacaoId: solicitacao._id,
|
solicitacaoId: solicitacao._id,
|
||||||
gestorId: gestorId
|
gestorId: gestorId
|
||||||
@@ -105,6 +127,37 @@
|
|||||||
processando = true;
|
processando = true;
|
||||||
erro = '';
|
erro = '';
|
||||||
|
|
||||||
|
// Validar se as datas ajustadas e condições estão dentro do regime do funcionário
|
||||||
|
if (!solicitacao.funcionario?._id) {
|
||||||
|
erro = 'Funcionário não encontrado';
|
||||||
|
processando = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validar todos os períodos ajustados
|
||||||
|
for (const periodo of periodos) {
|
||||||
|
if (!periodo.dataInicio || !periodo.dataFim) {
|
||||||
|
erro = 'Todos os períodos devem ter data de início e fim';
|
||||||
|
processando = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const validacao = await client.query(api.saldoFerias.validarSolicitacao, {
|
||||||
|
funcionarioId: solicitacao.funcionario._id,
|
||||||
|
anoReferencia: solicitacao.anoReferencia,
|
||||||
|
periodos: periodos.map((p) => ({
|
||||||
|
dataInicio: p.dataInicio,
|
||||||
|
dataFim: p.dataFim
|
||||||
|
}))
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!validacao.valido) {
|
||||||
|
erro = `Não é possível aprovar com ajuste: ${validacao.erros.join('; ')}`;
|
||||||
|
processando = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
await client.mutation(api.ferias.ajustarEAprovar, {
|
await client.mutation(api.ferias.ajustarEAprovar, {
|
||||||
solicitacaoId: solicitacao._id,
|
solicitacaoId: solicitacao._id,
|
||||||
gestorId: gestorId,
|
gestorId: gestorId,
|
||||||
|
|||||||
Reference in New Issue
Block a user