diff --git a/src/client/stores/CalculationStore/Effects/reaction.ts b/src/client/stores/CalculationStore/Effects/reaction.ts index a20b407..85c8984 100644 --- a/src/client/stores/CalculationStore/Effects/reaction.ts +++ b/src/client/stores/CalculationStore/Effects/reaction.ts @@ -656,22 +656,38 @@ const reactionEffects: IReactionEffect[] = [ x => x.evo_reward_conditionid === indAgentRewardConditionId, ); if (indAgentRewardCondition) { - if ( - !indAgentRewardCondition.evo_reduce_reward && - indAgentRewardCondition.evo_reward_summ - ) { - if (indAgentRewardSumm < indAgentRewardCondition.evo_reward_summ) { - calculationStore.showModal( - 'Вознаграждение агента ФЛ указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', - ); - } - } if (indAgentRewardCondition.evo_reward_summ) { - if (indAgentRewardSumm > indAgentRewardCondition.evo_reward_summ) { - calculationStore.showModal( - 'Вознаграждение агента ФЛ указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', - ); + if ( + parseFloat(indAgentRewardSumm) > + indAgentRewardCondition.evo_reward_summ + ) { + calculationStore.setValidation('tbxIndAgentRewardSumm', false); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение агента ФЛ указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } else if ( + !indAgentRewardCondition.evo_reduce_reward && + indAgentRewardCondition.evo_reward_summ + ) { + if ( + parseFloat(indAgentRewardSumm) < + indAgentRewardCondition.evo_reward_summ + ) { + calculationStore.setValidation('tbxIndAgentRewardSumm', false); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение агента ФЛ указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } } + calculationStore.setValidation('tbxIndAgentRewardSumm', true); } } } @@ -691,28 +707,47 @@ const reactionEffects: IReactionEffect[] = [ x => x.evo_reward_conditionid === calcDoubleAgentRewardConditionId, ); if (selectCalcDoubleAgentRewardCondition) { - if ( - !selectCalcDoubleAgentRewardCondition.evo_reduce_reward && - selectCalcDoubleAgentRewardCondition.evo_reward_summ - ) { - if ( - calcDoubleAgentRewardSumm < - selectCalcDoubleAgentRewardCondition.evo_reward_summ - ) { - calculationStore.showModal( - 'Вознаграждение двойного агента указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', - ); - } - } if (selectCalcDoubleAgentRewardCondition.evo_reward_summ) { if ( - calcDoubleAgentRewardSumm > + parseFloat(calcDoubleAgentRewardSumm) > selectCalcDoubleAgentRewardCondition.evo_reward_summ ) { - calculationStore.showModal( - 'Вознаграждение двойного агента указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', + calculationStore.setValidation( + 'tbxCalcDoubleAgentRewardSumm', + false, ); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение двойного агента указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } else if ( + !selectCalcDoubleAgentRewardCondition.evo_reduce_reward && + selectCalcDoubleAgentRewardCondition.evo_reward_summ + ) { + if ( + parseFloat(calcDoubleAgentRewardSumm) < + selectCalcDoubleAgentRewardCondition.evo_reward_summ + ) { + calculationStore.setValidation( + 'tbxCalcDoubleAgentRewardSumm', + false, + ); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение двойного агента указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } } + calculationStore.setValidation( + 'tbxCalcDoubleAgentRewardSumm', + true, + ); } } } @@ -732,28 +767,38 @@ const reactionEffects: IReactionEffect[] = [ x => x.evo_reward_conditionid === calcBrokerRewardConditionId, ); if (selectCalcBrokerRewardCondition) { - if ( - !selectCalcBrokerRewardCondition.evo_reduce_reward && - selectCalcBrokerRewardCondition.evo_reward_summ - ) { - if ( - calcBrokerRewardSum < - selectCalcBrokerRewardCondition.evo_reward_summ - ) { - calculationStore.showModal( - 'Вознаграждение брокера указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', - ); - } - } if (selectCalcBrokerRewardCondition.evo_reward_summ) { if ( - calcBrokerRewardSum > + parseFloat(calcBrokerRewardSum) > selectCalcBrokerRewardCondition.evo_reward_summ ) { - calculationStore.showModal( - 'Вознаграждение брокера указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', - ); + calculationStore.setValidation('tbxCalcBrokerRewardSum', false); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение брокера указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } else if ( + !selectCalcBrokerRewardCondition.evo_reduce_reward && + selectCalcBrokerRewardCondition.evo_reward_summ + ) { + if ( + parseFloat(calcBrokerRewardSum) < + selectCalcBrokerRewardCondition.evo_reward_summ + ) { + calculationStore.setValidation('tbxCalcBrokerRewardSum', false); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение брокера указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } } + calculationStore.setValidation('tbxCalcBrokerRewardSum', true); } } } @@ -773,28 +818,44 @@ const reactionEffects: IReactionEffect[] = [ x => x.evo_reward_conditionid === finDepartmentRewardCondtionid, ); if (selectFinDepartmentRewardCondtion) { - if ( - !selectFinDepartmentRewardCondtion.evo_reduce_reward && - selectFinDepartmentRewardCondtion.evo_reward_summ - ) { - if ( - finDepartmentRewardSumm < - selectFinDepartmentRewardCondtion.evo_reward_summ - ) { - calculationStore.showModal( - 'Вознаграждение финотдела указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', - ); - } - } if (selectFinDepartmentRewardCondtion.evo_reward_summ) { if ( - finDepartmentRewardSumm > + parseFloat(finDepartmentRewardSumm) > selectFinDepartmentRewardCondtion.evo_reward_summ ) { - calculationStore.showModal( - 'Вознаграждение финотдела указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', + calculationStore.setValidation( + 'tbxFinDepartmentRewardSumm', + false, ); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение финотдела указано больше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } else if ( + !selectFinDepartmentRewardCondtion.evo_reduce_reward && + selectFinDepartmentRewardCondtion.evo_reward_summ + ) { + if ( + parseFloat(finDepartmentRewardSumm) < + selectFinDepartmentRewardCondtion.evo_reward_summ + ) { + calculationStore.setValidation( + 'tbxFinDepartmentRewardSumm', + false, + ); + openNotification({ + type: 'error', + title: 'Ошибка', + description: + 'Вознаграждение финотдела указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.', + })(); + return; + } } + calculationStore.setValidation('tbxFinDepartmentRewardSumm', true); } } } diff --git a/src/core/fakeData/entityFakes.ts b/src/core/fakeData/entityFakes.ts index 03bdd7a..a01fb92 100644 --- a/src/core/fakeData/entityFakes.ts +++ b/src/core/fakeData/entityFakes.ts @@ -388,7 +388,7 @@ const entityFakeData: { statecode: 0, evo_agent_accountid: ACCOUNT_6_ID, evo_reward_conditionid: REWARD_CONDITION_1_ID, - evo_name: 'Не более 1.5%', + evo_name: '1.5%', evo_reward_summ: 1.5, evo_double_agent_accountid: ACCOUNT_7_ID, }, @@ -404,7 +404,7 @@ const entityFakeData: { statecode: 0, evo_agent_accountid: ACCOUNT_7_ID, evo_reward_conditionid: REWARD_CONDITION_3_ID, - evo_name: 'Не более 5%', + evo_name: '5%', evo_reward_summ: 5, }, { @@ -419,7 +419,7 @@ const entityFakeData: { statecode: 0, evo_agent_accountid: ACCOUNT_5_ID, evo_reward_conditionid: REWARD_CONDITION_5_ID, - evo_name: 'Не более 7%', + evo_name: '7%', evo_reward_summ: 7, }, {