revert: compute plPriceRub, discountRub on client
This commit is contained in:
parent
5c72c272b8
commit
dcfa596a74
@ -39,6 +39,8 @@ export function common({ store, trpcClient }: ProcessContext) {
|
||||
'opportunityUrl',
|
||||
'quoteUrl',
|
||||
'recalcWithRevision',
|
||||
'plPriceRub',
|
||||
'discountRub',
|
||||
])
|
||||
);
|
||||
|
||||
|
||||
@ -2,7 +2,6 @@ import type { GetQuoteInputData, GetQuoteProcessData } from '../load-kp/types';
|
||||
import initializeApollo from '@/apollo/client';
|
||||
import defaultValues from '@/config/default-values';
|
||||
import * as CRMTypes from '@/graphql/crm.types';
|
||||
import { createCurrencyUtility } from '@/utils/currency';
|
||||
import { gql } from '@apollo/client';
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
@ -40,44 +39,21 @@ export async function getKPData({
|
||||
},
|
||||
});
|
||||
|
||||
const { RUB } = createCurrencyUtility({ apolloClient });
|
||||
|
||||
const supplierCurrency = quote?.evo_transactioncurrencyid;
|
||||
|
||||
const leaseObjectPrice = quote?.evo_supplier_currency_price ?? defaultValues.leaseObjectPrice;
|
||||
const plPriceRub = supplierCurrency
|
||||
? await RUB({
|
||||
currencyid: supplierCurrency,
|
||||
value: leaseObjectPrice,
|
||||
})
|
||||
: defaultValues.plPriceRub;
|
||||
|
||||
const supplierDiscountRub =
|
||||
quote?.evo_discount_supplier_currency ?? defaultValues.supplierDiscountRub;
|
||||
const discountRub = supplierCurrency
|
||||
? await RUB({
|
||||
currencyid: supplierCurrency,
|
||||
value: supplierDiscountRub,
|
||||
})
|
||||
: defaultValues.discountRub;
|
||||
|
||||
return {
|
||||
values: {
|
||||
VATInLeaseObjectPrice:
|
||||
quote?.evo_nds_in_price_supplier_currency ?? defaultValues.VATInLeaseObjectPrice,
|
||||
addEquipmentPrice: quote?.evo_equip_price ?? defaultValues.addEquipmentPrice,
|
||||
comissionPerc: quote?.evo_comission_perc ?? defaultValues.comissionPerc,
|
||||
// supplierDiscountRub,
|
||||
discountRub,
|
||||
// supplierDiscountRub: quote?.evo_discount_supplier_currency ?? defaultValues.supplierDiscountRub,
|
||||
// comissionRub: quote?.evo_comission_rub ,
|
||||
firstPaymentPerc: quote?.evo_first_payment_perc ?? defaultValues.firstPaymentPerc,
|
||||
// lastPaymentRub: quote?.evo_last_payment_rub ,
|
||||
lastPaymentPerc: quote?.evo_last_payment_perc ?? defaultValues.lastPaymentPerc,
|
||||
lastPaymentRule: quote?.evo_last_payment_calc,
|
||||
leaseObjectPrice,
|
||||
plPriceRub,
|
||||
leaseObjectPrice: quote?.evo_supplier_currency_price ?? defaultValues.leaseObjectPrice,
|
||||
// leaseObjectPriceWthtVAT: quote?.evo_price_without_nds_supplier_currency ,
|
||||
supplierCurrency: quote?.evo_transactioncurrencyid,
|
||||
supplierCurrency: quote?.evo_transactioncurrencyid ?? defaultValues.supplierCurrency,
|
||||
supplierDiscountPerc: quote?.evo_discount_perc ?? defaultValues.supplierDiscountPerc,
|
||||
},
|
||||
};
|
||||
|
||||
@ -1,64 +1,55 @@
|
||||
import type { ProcessContext } from '@/process/types';
|
||||
import { createCurrencyUtility } from '@/utils/currency';
|
||||
import { reaction } from 'mobx';
|
||||
import { makeDisposable } from 'tools';
|
||||
|
||||
export default function reactions({ store, apolloClient }: ProcessContext) {
|
||||
const { $calculation, $process } = store;
|
||||
const { $calculation } = store;
|
||||
|
||||
const { RUB } = createCurrencyUtility({ apolloClient });
|
||||
|
||||
makeDisposable(
|
||||
() =>
|
||||
reaction(
|
||||
() => $calculation.$values.getValues(['supplierCurrency', 'leaseObjectPrice']),
|
||||
async ({ supplierCurrency: supplierCurrencyId, leaseObjectPrice }) => {
|
||||
if (!supplierCurrencyId) {
|
||||
$calculation.$values.resetValue('plPriceRub');
|
||||
reaction(
|
||||
() => $calculation.$values.getValues(['supplierCurrency', 'leaseObjectPrice']),
|
||||
async ({ supplierCurrency: supplierCurrencyId, leaseObjectPrice }) => {
|
||||
if (!supplierCurrencyId) {
|
||||
$calculation.$values.resetValue('plPriceRub');
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
$calculation.$values.setValue(
|
||||
'plPriceRub',
|
||||
await RUB({
|
||||
currencyid: supplierCurrencyId,
|
||||
value: leaseObjectPrice,
|
||||
})
|
||||
);
|
||||
},
|
||||
{
|
||||
delay: 100,
|
||||
fireImmediately: true,
|
||||
}
|
||||
),
|
||||
() => $process.has('LoadKP')
|
||||
$calculation.$values.setValue(
|
||||
'plPriceRub',
|
||||
await RUB({
|
||||
currencyid: supplierCurrencyId,
|
||||
value: leaseObjectPrice,
|
||||
})
|
||||
);
|
||||
},
|
||||
{
|
||||
delay: 100,
|
||||
fireImmediately: true,
|
||||
}
|
||||
);
|
||||
|
||||
makeDisposable(
|
||||
() =>
|
||||
reaction(
|
||||
() => $calculation.$values.getValues(['supplierCurrency', 'supplierDiscountRub']),
|
||||
async ({ supplierCurrency: supplierCurrencyId, supplierDiscountRub }) => {
|
||||
if (!supplierCurrencyId) {
|
||||
$calculation.$values.resetValue('discountRub');
|
||||
reaction(
|
||||
() => $calculation.$values.getValues(['supplierCurrency', 'supplierDiscountRub']),
|
||||
async ({ supplierCurrency: supplierCurrencyId, supplierDiscountRub }) => {
|
||||
if (!supplierCurrencyId) {
|
||||
$calculation.$values.resetValue('discountRub');
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
$calculation.$values.setValue(
|
||||
'discountRub',
|
||||
await RUB({
|
||||
currencyid: supplierCurrencyId,
|
||||
value: supplierDiscountRub,
|
||||
})
|
||||
);
|
||||
},
|
||||
{
|
||||
delay: 100,
|
||||
fireImmediately: true,
|
||||
}
|
||||
),
|
||||
() => $process.has('LoadKP')
|
||||
$calculation.$values.setValue(
|
||||
'discountRub',
|
||||
await RUB({
|
||||
currencyid: supplierCurrencyId,
|
||||
value: supplierDiscountRub,
|
||||
})
|
||||
);
|
||||
},
|
||||
{
|
||||
delay: 100,
|
||||
fireImmediately: true,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@ -81,8 +81,7 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
|
||||
dealerPerson?.evo_supplier_type !== 100_000_001 &&
|
||||
!evo_baseproduct?.evo_sale_without_nds &&
|
||||
Boolean(
|
||||
plPriceRub &&
|
||||
quote?.evo_max_price_change &&
|
||||
quote?.evo_max_price_change &&
|
||||
plPriceRub - discountRub + addEquipmentPrice - importProgramSum >
|
||||
quote.evo_max_price_change
|
||||
);
|
||||
@ -105,7 +104,6 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
|
||||
quote.evo_discount_supplier_currency &&
|
||||
quote.evo_equip_price &&
|
||||
quote.evo_program_import_subsidy_sum &&
|
||||
plPriceRub &&
|
||||
plPriceRub - discountRub + addEquipmentPrice - importProgramSum >
|
||||
quote?.evo_supplier_currency_price -
|
||||
quote.evo_discount_supplier_currency +
|
||||
@ -117,7 +115,6 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
|
||||
!evo_baseproduct?.evo_sale_without_nds &&
|
||||
Boolean(
|
||||
quote?.evo_min_change_price &&
|
||||
plPriceRub &&
|
||||
plPriceRub - discountRub + addEquipmentPrice - importProgramSum <
|
||||
quote.evo_min_change_price
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user