From 11e60367abf9b881582dfe084ce998be08981926 Mon Sep 17 00:00:00 2001 From: Chika Date: Sat, 5 Nov 2022 13:30:13 +0300 Subject: [PATCH] =?UTF-8?q?process/agents:=20add=20rewardSumm=20validation?= =?UTF-8?q?=20:=20*=20=D0=95=D1=81=D0=BB=D0=B8=20RewardSumm=3D=200=20?= =?UTF-8?q?=D0=98=20=D0=B2=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B5=20Reward?= =?UTF-8?q?Condition=20=D0=B5=D1=81=D1=82=D1=8C=20=D0=B7=D0=B0=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D1=8C,=20=20=20=20*=20=20=D1=83=20=D0=BA=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BE=D0=B9=20evo=5Freward=5Fcondition.evo=5Fagenc?= =?UTF-8?q?y=5Fagreementid.=20=D0=9E=D0=B1=D1=8F=D0=B7=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=B2=D1=8B=D0=BF=D0=BB=D0=B0?= =?UTF-8?q?=D1=82=D0=B0=20=D0=90=D0=92=20(evo=5Frequired=5Freward)=20=3D?= =?UTF-8?q?=20True,=20=20=20=20*=20=20=D1=82=D0=BE=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=B5=20RewardSumm=20=D0=BE=D0=B1=D0=B2=D0=BE=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BA=D1=80=D0=B0=D1=81=D0=BD=D0=BE=D0=B9=20?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D0=BA=D0=BE=D0=B9=20=20=20=20*=20=D0=B8=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=D1=8C=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BA=D1=83=20"=D0=A1=D0=BE=D0=B3=D0=BB=D0=B0?= =?UTF-8?q?=D1=81=D0=BD=D0=BE=20=D0=90=D0=B3=D0=B5=D0=BD=D1=82=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D1=83=20=D0=B4=D0=BE=D0=B3=D0=BE=D0=B2=D0=BE=D1=80?= =?UTF-8?q?=D1=83=20=D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D1=82=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D1=8B=D0=BF=D0=BB=D0=B0=D1=82=D0=B0=20?= =?UTF-8?q?=D0=90=D0=92.=20=D0=97=D0=B0=D0=BB=D0=BE=D0=B6=D0=B8=D1=82?= =?UTF-8?q?=D0=B5=20=D0=90=D0=92=20=D0=B2=20=D1=80=D0=B0=D1=81=D1=87=D0=B5?= =?UTF-8?q?=D1=82"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- graphql/crm.types.ts | 2 +- process/supplier-agent/lib/create-reactions.ts | 17 ++++++++++++++++- process/supplier-agent/reactions/agents.ts | 10 ---------- process/supplier-agent/reactions/supplier.ts | 12 +++++++++++- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/graphql/crm.types.ts b/graphql/crm.types.ts index f16f6c7..6e5c1ec 100644 --- a/graphql/crm.types.ts +++ b/graphql/crm.types.ts @@ -272,7 +272,7 @@ export type GetRewardConditionQueryVariables = Exact<{ }>; -export type GetRewardConditionQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_reward_summ: number | null, evo_reduce_reward: boolean | null, evo_min_reward_summ: number | null } | null }; +export type GetRewardConditionQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_reward_summ: number | null, evo_reduce_reward: boolean | null, evo_min_reward_summ: number | null, evo_agency_agreementidData: { __typename?: 'evo_agency_agreement', evo_required_reward: boolean | null } | null } | null }; export type GetAgentAccountIdFromLeadQueryVariables = Exact<{ leadid: Scalars['Uuid']; diff --git a/process/supplier-agent/lib/create-reactions.ts b/process/supplier-agent/lib/create-reactions.ts index ad91e31..281676b 100644 --- a/process/supplier-agent/lib/create-reactions.ts +++ b/process/supplier-agent/lib/create-reactions.ts @@ -140,6 +140,9 @@ const QUERY_GET_REWARD_CONDITION = gql` evo_reward_summ evo_reduce_reward evo_min_reward_summ + evo_agency_agreementidData { + evo_required_reward + } } } `; @@ -158,7 +161,7 @@ export function validateAgentRewardSumm( const validationHelper = new ValidationHelper(); reaction( - () => $calculation.element(rewardSummField).getValue() as number, + () => $calculation.element(rewardSummField).getValue(), async (rewardSumm) => { const conditionId = $calculation.element(rewardConditionField).getValue(); if (!conditionId) { @@ -225,6 +228,18 @@ export function validateAgentRewardSumm( validationHelper.add(removeError); }); } + + $calculation + .element(rewardSummField) + .validate({ + invalid: + evo_reward_condition?.evo_agency_agreementidData?.evo_required_reward === true && + rewardSumm === 0, + message: 'Согласно агентскому договору обязательна выплата АВ. Заложите АВ в расчет', + }) + .err((removeError) => { + validationHelper.add(removeError); + }); } ); } diff --git a/process/supplier-agent/reactions/agents.ts b/process/supplier-agent/reactions/agents.ts index 9f01283..b000f47 100644 --- a/process/supplier-agent/reactions/agents.ts +++ b/process/supplier-agent/reactions/agents.ts @@ -480,16 +480,6 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { } export function validationReactions({ store, apolloClient }: ReactionsContext) { - createReactions.validateAgentRewardSumm(store, apolloClient, { - rewardConditionField: 'selectDealerRewardCondition', - rewardSummField: 'tbxDealerRewardSumm', - }); - - createReactions.validateAgentRewardSumm(store, apolloClient, { - rewardConditionField: 'selectDealerBrokerRewardCondition', - rewardSummField: 'tbxDealerBrokerRewardSumm', - }); - createReactions.validateAgentRewardSumm(store, apolloClient, { rewardConditionField: 'selectIndAgentRewardCondition', rewardSummField: 'tbxIndAgentRewardSumm', diff --git a/process/supplier-agent/reactions/supplier.ts b/process/supplier-agent/reactions/supplier.ts index d541688..435cadb 100644 --- a/process/supplier-agent/reactions/supplier.ts +++ b/process/supplier-agent/reactions/supplier.ts @@ -172,4 +172,14 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { ); } -export function validationReactions({ store, apolloClient }: ReactionsContext) {} +export function validationReactions({ store, apolloClient }: ReactionsContext) { + createReactions.validateAgentRewardSumm(store, apolloClient, { + rewardConditionField: 'selectDealerRewardCondition', + rewardSummField: 'tbxDealerRewardSumm', + }); + + createReactions.validateAgentRewardSumm(store, apolloClient, { + rewardConditionField: 'selectDealerBrokerRewardCondition', + rewardSummField: 'tbxDealerBrokerRewardSumm', + }); +}