reactions: правки проверки мин и макс стоимости
This commit is contained in:
parent
f725d48fb9
commit
6f804f15cc
@ -8,7 +8,6 @@ import { IReactionEffect } from 'core/types/Calculation/Store/effect';
|
||||
import { Process } from 'core/types/Calculation/Store/process';
|
||||
import { ValuesNames } from 'core/types/Calculation/Store/values';
|
||||
import { ElementStatus } from 'types/elements';
|
||||
import { convertPrice } from '../lib/tools';
|
||||
import { getPrice } from './priceReactions/calculate';
|
||||
|
||||
const reactionEffects: IReactionEffect[] = [
|
||||
@ -91,21 +90,23 @@ const reactionEffects: IReactionEffect[] = [
|
||||
expression: () => {
|
||||
const {
|
||||
supplierDiscountRub,
|
||||
leaseObjectPrice,
|
||||
supplierCurrency,
|
||||
leaseObjectPriceWthtVAT,
|
||||
recalcWithRevision,
|
||||
} = calculationStore.values;
|
||||
|
||||
//@ts-ignore
|
||||
const price = calculationStore.plPriceRub();
|
||||
return [
|
||||
supplierDiscountRub,
|
||||
leaseObjectPrice,
|
||||
supplierCurrency,
|
||||
price,
|
||||
leaseObjectPriceWthtVAT,
|
||||
recalcWithRevision,
|
||||
];
|
||||
},
|
||||
effect: ([
|
||||
supplierDiscountRub,
|
||||
leaseObjectPrice,
|
||||
supplierCurrencyId,
|
||||
price,
|
||||
leaseObjectPriceWthtVAT,
|
||||
recalcWithRevision,
|
||||
]) => {
|
||||
if (!recalcWithRevision) {
|
||||
@ -113,43 +114,50 @@ const reactionEffects: IReactionEffect[] = [
|
||||
return;
|
||||
}
|
||||
|
||||
const supplierCurrency = calculationStore
|
||||
.getOptions('selectSupplierCurrency')
|
||||
?.find(x => x.transactioncurrencyid === supplierCurrencyId);
|
||||
const evo_currencychange = calculationStore
|
||||
.getStaticData('evo_currencychange')
|
||||
?.find(x => x.evo_ref_transactioncurrency === supplierCurrencyId);
|
||||
const evo_currencychangeValue =
|
||||
(evo_currencychange && evo_currencychange.evo_currencychange) || 0;
|
||||
const price = convertPrice(
|
||||
supplierCurrency?.isocurrencycode,
|
||||
leaseObjectPrice,
|
||||
evo_currencychangeValue,
|
||||
);
|
||||
const product = calculationStore.getOption('selectProduct');
|
||||
|
||||
const quote = calculationStore.getOption('selectQuote');
|
||||
if (
|
||||
|
||||
const maxCondition1 =
|
||||
quote?.evo_max_price_change &&
|
||||
price - supplierDiscountRub > quote.evo_max_price_change
|
||||
) {
|
||||
!product?.evo_sale_without_nds &&
|
||||
price - supplierDiscountRub > quote.evo_max_price_change;
|
||||
|
||||
const maxCondition2 =
|
||||
quote?.evo_max_price_change &&
|
||||
product?.evo_sale_without_nds &&
|
||||
leaseObjectPriceWthtVAT >
|
||||
quote.evo_max_price_change -
|
||||
(quote.evo_nds_in_price_supplier_currency || 0);
|
||||
|
||||
const minCondition1 =
|
||||
quote?.evo_min_change_price &&
|
||||
!product?.evo_sale_without_nds &&
|
||||
price - supplierDiscountRub < quote.evo_min_change_price;
|
||||
|
||||
const minCondition2 =
|
||||
quote?.evo_min_change_price &&
|
||||
product?.evo_sale_without_nds &&
|
||||
leaseObjectPriceWthtVAT <
|
||||
quote.evo_min_change_price -
|
||||
(quote.evo_nds_in_price_supplier_currency || 0);
|
||||
|
||||
if (maxCondition1 || maxCondition2) {
|
||||
calculationStore.setValidation('tbxLeaseObjectPrice', false);
|
||||
openNotification({
|
||||
type: 'error',
|
||||
message: 'Ошибка',
|
||||
description:
|
||||
'Указанная стоимость предмета лизинга больше возмножного изменения стоимости предмета лизинга при пересчете без пересмотра. ' +
|
||||
'Указанная стоимость предмета лизинга больше возможного изменения стоимости предмета лизинга при пересчете без пересмотра. ' +
|
||||
'Уменьшите стоимость предмета лизинга',
|
||||
});
|
||||
} else if (
|
||||
quote?.evo_min_change_price &&
|
||||
price - supplierDiscountRub < quote.evo_min_change_price
|
||||
) {
|
||||
} else if (minCondition1 || minCondition2) {
|
||||
calculationStore.setValidation('tbxLeaseObjectPrice', false);
|
||||
openNotification({
|
||||
type: 'error',
|
||||
message: 'Ошибка',
|
||||
description:
|
||||
'Указанная стоимость предмета лизинга меньше возмножного изменения стоимости предмета лизинга при пересчете без пересмотра. ' +
|
||||
'Указанная стоимость предмета лизинга меньше возможного изменения стоимости предмета лизинга при пересчете без пересмотра. ' +
|
||||
'Увеличьте стоимость предмета лизинга',
|
||||
});
|
||||
} else {
|
||||
|
||||
@ -141,6 +141,7 @@ export interface IQuote extends BaseEntity {
|
||||
evo_last_payment_perc?: number;
|
||||
evo_min_change_price?: number;
|
||||
evo_max_price_change?: number;
|
||||
evo_nds_in_price_supplier_currency?: number;
|
||||
evo_max_mass?: number;
|
||||
evo_seats?: number;
|
||||
evo_year?: number;
|
||||
|
||||
Reference in New Issue
Block a user