На изменение параметра IRR tbxIRR_Perc добавить проверку:

если Пересчете без пересмотра recalcWithRevision = True и если в Предложении selectQuote в поле "КП по итогам КК" = Да

и текущее значение IRR tbxIRR_Perc минус "IRR МСФО (номинал), %" quote.evo_msfo_irr для из Предложения , которое указано в Предложении selectQuote в поле Одобренное КА quote.evo_accept_quoteid, больше 0.1,

то выводить сообщение "Нельзя увеличивать IRR после рассмотрения предложения на КК"
This commit is contained in:
vchikalkin 2024-05-08 12:03:55 +03:00
parent 47807b7bda
commit af5c9cb061
3 changed files with 22 additions and 2 deletions

View File

@ -111,6 +111,8 @@ query GetQuote($quoteId: Uuid!) {
evo_sale_without_nds
link
evo_committee_quote
evo_msfo_irr
evo_accept_quoteid
}
}

File diff suppressed because one or more lines are too long

View File

@ -8,6 +8,7 @@ import { z } from 'zod';
export function createValidationSchema({ apolloClient }: ValidationContext) {
return ValuesSchema.pick({
IRR_Perc: true,
addEquipmentPrice: true,
countSeats: true,
dealerPerson: true,
@ -47,6 +48,7 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
lastPaymentPerc,
leaseObjectCategory,
partialVAT,
IRR_Perc,
},
ctx
) => {
@ -222,6 +224,22 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
path: ['selectProduct'],
});
}
if (quote?.evo_committee_quote && quote.evo_accept_quoteid) {
const {
data: { quote: accept_quote },
} = await apolloClient.query({
query: CRMTypes.GetQuoteDocument,
variables: { quoteId: quote.evo_accept_quoteid },
});
if (accept_quote?.evo_msfo_irr && IRR_Perc - accept_quote?.evo_msfo_irr > 0.1)
ctx.addIssue({
code: z.ZodIssueCode.custom,
message: 'Нельзя увеличивать IRR после рассмотрения предложения на КК',
path: ['tbxIRR_Perc'],
});
}
}
}
);