diff --git a/src/client/stores/CalculationStore/Effects/reactions/priceReactions/index.ts b/src/client/stores/CalculationStore/Effects/reactions/priceReactions/index.ts index 10c0016..7993db6 100644 --- a/src/client/stores/CalculationStore/Effects/reactions/priceReactions/index.ts +++ b/src/client/stores/CalculationStore/Effects/reactions/priceReactions/index.ts @@ -1,14 +1,18 @@ import { openNotification } from 'client/Elements/Notification'; import { IReactionEffect } from 'core/types/Calculation/Store/effect'; +import { Process } from 'core/types/Calculation/Store/process'; import { calculatePerc, calculateRub } from './calculate'; export default [ - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { leaseObjectPrice, supplierDiscountRub } = calculationStore.values; return [leaseObjectPrice, supplierDiscountRub]; }, effect: ([leaseObjectPrice, supplierDiscountRub = 0]) => { + if (calculationProcess.process !== Process.Default) { + return; + } calculationStore.setValue( 'supplierDiscountPerc', leaseObjectPrice ? (supplierDiscountRub / leaseObjectPrice) * 100 : 0, @@ -19,7 +23,7 @@ export default [ }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { leaseObjectPrice, @@ -28,6 +32,9 @@ export default [ return [leaseObjectPrice, supplierDiscountPerc]; }, effect: ([leaseObjectPrice = 0, supplierDiscountPerc = 0]) => { + if (calculationProcess.process !== Process.Default) { + return; + } calculationStore.setValue( 'supplierDiscountRub', (supplierDiscountPerc * leaseObjectPrice) / 100, @@ -38,12 +45,15 @@ export default [ }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { firstPaymentRub } = calculationStore.values; return firstPaymentRub; }, effect: (firstPaymentRub = 0) => { + if (calculationProcess.process !== Process.Default) { + return; + } const { supplierCurrency, leaseObjectPrice } = calculationStore.values; if (leaseObjectPrice) { const perc = calculatePerc(calculationStore)( @@ -75,9 +85,6 @@ export default [ leaseObjectPrice = 0, firstPaymentPerc = 0, ]) => { - if (!firstPaymentPerc) { - return; - } const rub = calculateRub(calculationStore)( supplierCurrencyId, leaseObjectPrice, @@ -88,10 +95,11 @@ export default [ }, options: { fireImmediately: true, + equals: () => false, }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { supplierCurrency, @@ -101,6 +109,9 @@ export default [ return [supplierCurrency, leaseObjectPrice, comissionPerc]; }, effect: ([supplierCurrencyId, leaseObjectPrice = 0, comissionPerc = 0]) => { + if (calculationProcess.process !== Process.Default) { + return; + } const rub = calculateRub(calculationStore)( supplierCurrencyId, leaseObjectPrice, @@ -113,12 +124,15 @@ export default [ }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { comissionRub } = calculationStore.values; return comissionRub; }, effect: comissionRub => { + if (calculationProcess.process !== Process.Default) { + return; + } const { supplierCurrency, leaseObjectPrice } = calculationStore.values; if (leaseObjectPrice) { const perc = calculatePerc(calculationStore)( @@ -136,7 +150,7 @@ export default [ }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { supplierCurrency, @@ -157,7 +171,10 @@ export default [ lastPaymentPerc = 0, lastPaymentRule, ]) => { - if (lastPaymentRule !== 100000001) { + if ( + lastPaymentRule !== 100000001 || + calculationProcess.process !== Process.Default + ) { return; } @@ -172,7 +189,7 @@ export default [ fireImmediately: true, }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { supplierCurrency, @@ -193,7 +210,10 @@ export default [ lastPaymentRub = 0, lastPaymentRule, ]) => { - if (lastPaymentRule !== 100000000) { + if ( + lastPaymentRule !== 100000000 || + calculationProcess.process !== Process.Default + ) { return; } if (leaseObjectPrice) { @@ -212,7 +232,7 @@ export default [ }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { supplierDiscountRub } = calculationStore.values; return supplierDiscountRub; @@ -237,7 +257,7 @@ export default [ }, }), - calculationStore => ({ + (calculationStore, calculationProcess) => ({ expression: () => { const { firstPaymentRub } = calculationStore.values; return firstPaymentRub;