Merge branch 'development'
This commit is contained in:
commit
17718c60b0
@ -178,42 +178,42 @@ const elementsProps: Partial<Record<AllElementsNames, ElementProps>> = {
|
|||||||
},
|
},
|
||||||
tbxDealerRewardSumm: {
|
tbxDealerRewardSumm: {
|
||||||
min: '0.00',
|
min: '0.00',
|
||||||
max: '20.00',
|
max: '999999.00',
|
||||||
step: '0.10',
|
step: '0.10',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: formatNumber,
|
formatter: formatNumber,
|
||||||
},
|
},
|
||||||
tbxDealerBrokerRewardSumm: {
|
tbxDealerBrokerRewardSumm: {
|
||||||
min: '0.00',
|
min: '0.00',
|
||||||
max: '20.00',
|
max: '999999.00',
|
||||||
step: '0.10',
|
step: '0.10',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: formatNumber,
|
formatter: formatNumber,
|
||||||
},
|
},
|
||||||
tbxIndAgentRewardSumm: {
|
tbxIndAgentRewardSumm: {
|
||||||
min: '0.00',
|
min: '0.00',
|
||||||
max: '20.00',
|
max: '999999.00',
|
||||||
step: '0.10',
|
step: '0.10',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: formatNumber,
|
formatter: formatNumber,
|
||||||
},
|
},
|
||||||
tbxCalcDoubleAgentRewardSumm: {
|
tbxCalcDoubleAgentRewardSumm: {
|
||||||
min: '0.00',
|
min: '0.00',
|
||||||
max: '20.00',
|
max: '999999.00',
|
||||||
step: '0.10',
|
step: '0.10',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: formatNumber,
|
formatter: formatNumber,
|
||||||
},
|
},
|
||||||
tbxCalcBrokerRewardSum: {
|
tbxCalcBrokerRewardSum: {
|
||||||
min: '0.00',
|
min: '0.00',
|
||||||
max: '20.00',
|
max: '999999.00',
|
||||||
step: '0.10',
|
step: '0.10',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: formatNumber,
|
formatter: formatNumber,
|
||||||
},
|
},
|
||||||
tbxFinDepartmentRewardSumm: {
|
tbxFinDepartmentRewardSumm: {
|
||||||
min: '0.00',
|
min: '0.00',
|
||||||
max: '20.00',
|
max: '999999.00',
|
||||||
step: '0.10',
|
step: '0.10',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: formatNumber,
|
formatter: formatNumber,
|
||||||
|
|||||||
114
src/client/process/agents/fill-elements.ts
Normal file
114
src/client/process/agents/fill-elements.ts
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
import CrmService from 'core/services/CrmService';
|
||||||
|
import { IAccount, ILead } from 'core/services/CrmService/types/entities';
|
||||||
|
import { ICalculationStore } from 'core/types/Calculation/Store';
|
||||||
|
import { gql } from 'graphql.macro';
|
||||||
|
|
||||||
|
export function fillIndAgent(this: ICalculationStore, lead?: ILead) {
|
||||||
|
if (lead?.evo_agent_accountid) {
|
||||||
|
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
||||||
|
query: gql`
|
||||||
|
query selectIndAgent($evo_agent_accountid: Uuid!) {
|
||||||
|
accountOptions: account(accountid: $evo_agent_accountid) {
|
||||||
|
accountid
|
||||||
|
name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
variables: {
|
||||||
|
evo_agent_accountid: lead.evo_agent_accountid,
|
||||||
|
},
|
||||||
|
}).then(({ accountOptions }) => {
|
||||||
|
if (accountOptions && accountOptions.length > 0) {
|
||||||
|
this.setOptions('selectIndAgent', accountOptions);
|
||||||
|
this.setValue('indAgent', accountOptions[0].accountid);
|
||||||
|
} else {
|
||||||
|
this.setValue('indAgent', null);
|
||||||
|
this.setOptions('selectIndAgent', []);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.setValue('indAgent', null);
|
||||||
|
this.setOptions('selectIndAgent', []);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function fillCalcDoubleAgent(this: ICalculationStore, lead?: ILead) {
|
||||||
|
if (lead?.evo_double_agent_accountid) {
|
||||||
|
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
||||||
|
query: gql`
|
||||||
|
query selectCalcDoubleAgent($evo_double_agent_accountid: Uuid!) {
|
||||||
|
accountOptions: account(accountid: $evo_double_agent_accountid) {
|
||||||
|
accountid
|
||||||
|
name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
variables: {
|
||||||
|
evo_double_agent_accountid: lead.evo_double_agent_accountid,
|
||||||
|
},
|
||||||
|
}).then(({ accountOptions }) => {
|
||||||
|
if (accountOptions && accountOptions.length > 0) {
|
||||||
|
this.setOptions('selectCalcDoubleAgent', accountOptions);
|
||||||
|
this.setValue('calcDoubleAgent', accountOptions[0].accountid);
|
||||||
|
} else {
|
||||||
|
this.setValue('calcDoubleAgent', null);
|
||||||
|
this.setOptions('selectCalcDoubleAgent', []);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.setValue('calcDoubleAgent', null);
|
||||||
|
this.setOptions('selectCalcDoubleAgent', []);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function fillCalcBroker(this: ICalculationStore, lead?: ILead) {
|
||||||
|
if (lead?.evo_broker_accountid) {
|
||||||
|
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
||||||
|
query: gql`
|
||||||
|
query selectCalcBroker($evo_broker_accountid: Uuid!) {
|
||||||
|
accountOptions: account(accountid: $evo_broker_accountid) {
|
||||||
|
accountid
|
||||||
|
name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
variables: {
|
||||||
|
evo_broker_accountid: lead.evo_broker_accountid,
|
||||||
|
},
|
||||||
|
}).then(({ accountOptions }) => {
|
||||||
|
if (accountOptions && accountOptions.length > 0) {
|
||||||
|
this.setOptions('selectCalcBroker', accountOptions);
|
||||||
|
this.setValue('calcBroker', accountOptions[0].accountid);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.setValue('calcBroker', null);
|
||||||
|
this.setOptions('selectCalcBroker', []);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function fillFinDepartment(this: ICalculationStore, lead?: ILead) {
|
||||||
|
if (lead?.evo_fin_department_accountid) {
|
||||||
|
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
||||||
|
query: gql`
|
||||||
|
query selectCalcFinDepartment($evo_fin_department_accountid: Uuid!) {
|
||||||
|
accountOptions: account(accountid: $evo_fin_department_accountid) {
|
||||||
|
accountid
|
||||||
|
name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
variables: {
|
||||||
|
evo_fin_department_accountid: lead.evo_fin_department_accountid,
|
||||||
|
},
|
||||||
|
}).then(({ accountOptions }) => {
|
||||||
|
if (accountOptions && accountOptions.length > 0) {
|
||||||
|
this.setOptions('selectCalcFinDepartment', accountOptions);
|
||||||
|
this.setValue('calcFinDepartment', accountOptions[0].accountid);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.setValue('calcFinDepartment', null);
|
||||||
|
this.setOptions('selectCalcFinDepartment', []);
|
||||||
|
}
|
||||||
|
}
|
||||||
672
src/client/process/agents/reactions.ts
Normal file
672
src/client/process/agents/reactions.ts
Normal file
@ -0,0 +1,672 @@
|
|||||||
|
import { openNotification } from 'client/Elements/Notification';
|
||||||
|
import { ICalculationStore } from 'core/types/Calculation/Store';
|
||||||
|
import { reaction } from 'mobx';
|
||||||
|
import { ElementStatus } from 'types/elements';
|
||||||
|
import {
|
||||||
|
fillCalcBroker,
|
||||||
|
fillCalcDoubleAgent,
|
||||||
|
fillFinDepartment,
|
||||||
|
fillIndAgent,
|
||||||
|
} from './fill-elements';
|
||||||
|
|
||||||
|
export default function agentsReactions($calculation: ICalculationStore) {
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Добавить реакцию на изменение списка в поле selectDealerRewardCondition :
|
||||||
|
Если в списке selectDealerRewardCondition есть запись,
|
||||||
|
у которой evo_reward_condition.evo_agency_agreementid. Выплата без других агентов (evo_reward_without_other_agent) = True,
|
||||||
|
то сбрасывают значение и закрываются для выбора поля:
|
||||||
|
|
||||||
|
selectDealerBroker
|
||||||
|
selectIndAgent
|
||||||
|
selectCalcDoubleAgent
|
||||||
|
selectCalcBroker
|
||||||
|
selectFinDepartment
|
||||||
|
*/
|
||||||
|
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getOptions(
|
||||||
|
'selectDealerRewardCondition',
|
||||||
|
undefined,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
dealerRewardConditionOptions => {
|
||||||
|
// TODO: отдельный запрос evo_agency_agreement по id
|
||||||
|
if (
|
||||||
|
dealerRewardConditionOptions?.some(
|
||||||
|
x =>
|
||||||
|
x.evo_agency_agreementidData?.evo_reward_without_other_agent ===
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$calculation.setValue('dealerBroker', null);
|
||||||
|
$calculation.setValue('indAgent', null);
|
||||||
|
$calculation.setValue('calcDoubleAgent', null);
|
||||||
|
$calculation.setValue('calcBroker', null);
|
||||||
|
$calculation.setValue('calcFinDepartment', null);
|
||||||
|
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectIndAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcDoubleAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus(
|
||||||
|
'selectCalcFinDepartment',
|
||||||
|
ElementStatus.Disabled,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Default);
|
||||||
|
|
||||||
|
const lead = $calculation.getOption('selectLead');
|
||||||
|
fillIndAgent.call($calculation, lead);
|
||||||
|
fillCalcDoubleAgent.call($calculation, lead);
|
||||||
|
fillCalcBroker.call($calculation, lead);
|
||||||
|
fillFinDepartment.call($calculation, lead);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Добавить реакцию на изменение списка в поле selectDealerBrokerRewardCondition :
|
||||||
|
|
||||||
|
Если в списке selectDealerBrokerRewardCondition есть запись, у которой evo_reward_condition.evo_agency_agreementid. Выплата без других агентов (evo_reward_without_other_agent) = True, то сбрасывают значение и закрываются для выбора поля:
|
||||||
|
|
||||||
|
selectDealerPerson (не обнуляем)
|
||||||
|
selectIndAgent
|
||||||
|
selectCalcDoubleAgent
|
||||||
|
selectCalcBroker
|
||||||
|
selectFinDepartment
|
||||||
|
иначе
|
||||||
|
|
||||||
|
selectDealerPerson открываем для редактирования
|
||||||
|
selectIndAgent заполняется значением из Интереса
|
||||||
|
selectCalcDoubleAgent заполняется значением из Интереса
|
||||||
|
selectCalcBrokerRewardCondition заполняется значением из Интереса
|
||||||
|
selectFinDepartmentRewardCondtion заполняется значением из Интереса
|
||||||
|
*/
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getOptions(
|
||||||
|
'selectDealerBrokerRewardCondition',
|
||||||
|
undefined,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
dealerBrokerRewardConditionOptions => {
|
||||||
|
// TODO: отдельный запрос evo_agency_agreement по id
|
||||||
|
if (
|
||||||
|
dealerBrokerRewardConditionOptions?.some(
|
||||||
|
x =>
|
||||||
|
x.evo_agency_agreementidData?.evo_reward_without_other_agent ===
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$calculation.setValue('indAgent', null);
|
||||||
|
$calculation.setValue('calcDoubleAgent', null);
|
||||||
|
$calculation.setValue('calcBroker', null);
|
||||||
|
$calculation.setValue('calcFinDepartment', null);
|
||||||
|
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectIndAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcDoubleAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus(
|
||||||
|
'selectCalcFinDepartment',
|
||||||
|
ElementStatus.Disabled,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Default);
|
||||||
|
|
||||||
|
//TODO: сделать отдельный запрос на lead (и возможно на опции)
|
||||||
|
const lead = $calculation.getOption('selectLead');
|
||||||
|
fillIndAgent.call($calculation, lead);
|
||||||
|
fillCalcDoubleAgent.call($calculation, lead);
|
||||||
|
fillCalcBroker.call($calculation, lead);
|
||||||
|
fillFinDepartment.call($calculation, lead);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Добавить реакцию на изменение списка в поле selectIndAgentRewardCondition :
|
||||||
|
|
||||||
|
Если в списке selectIndAgentRewardCondition есть запись, у которой evo_reward_condition.evo_agency_agreementid. Выплата без других агентов (evo_reward_without_other_agent) = True, то сбрасывают значение и закрываются для выбора поля:
|
||||||
|
|
||||||
|
selectDealerPerson (не обнуляем)
|
||||||
|
selectDealerBroker
|
||||||
|
selectCalcDoubleAgent
|
||||||
|
selectCalcBroker
|
||||||
|
selectFinDepartment
|
||||||
|
иначе
|
||||||
|
|
||||||
|
selectDealerPerson открываем для редактирования
|
||||||
|
selectDealerBroker открываем для редактирования
|
||||||
|
selectCalcDoubleAgent заполняется значением из Интереса
|
||||||
|
selectCalcBroker заполняется значением из Интереса
|
||||||
|
selectCalcFinDepartment заполняется значением из Интереса
|
||||||
|
*/
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getOptions(
|
||||||
|
'selectIndAgentRewardCondition',
|
||||||
|
undefined,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
indAgentRewardConditionOptions => {
|
||||||
|
// TODO: отдельный запрос evo_agency_agreement по id
|
||||||
|
if (
|
||||||
|
indAgentRewardConditionOptions?.some(
|
||||||
|
x =>
|
||||||
|
x.evo_agency_agreementidData?.evo_reward_without_other_agent ===
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$calculation.setValue('dealerBroker', null);
|
||||||
|
$calculation.setValue('calcDoubleAgent', null);
|
||||||
|
$calculation.setValue('calcBroker', null);
|
||||||
|
$calculation.setValue('calcFinDepartment', null);
|
||||||
|
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcDoubleAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus(
|
||||||
|
'selectCalcFinDepartment',
|
||||||
|
ElementStatus.Disabled,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Default);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Default);
|
||||||
|
|
||||||
|
//TODO: сделать отдельный запрос на lead (и возможно на опции)
|
||||||
|
const lead = $calculation.getOption('selectLead');
|
||||||
|
fillCalcDoubleAgent.call($calculation, lead);
|
||||||
|
fillCalcBroker.call($calculation, lead);
|
||||||
|
fillFinDepartment.call($calculation, lead);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Добавить реакцию на изменение списка в поле selectCalcDoubleAgentRewardCondition :
|
||||||
|
|
||||||
|
Если в списке selectCalcDoubleAgentRewardCondition есть запись, у которой evo_reward_condition.evo_agency_agreementid. Выплата без других агентов (evo_reward_without_other_agent) = True, то сбрасывают значение и закрываются для выбора поля:
|
||||||
|
|
||||||
|
selectDealerPerson (не обнуляем)
|
||||||
|
selectDealerBroker
|
||||||
|
selectIndAgent
|
||||||
|
selectCalcBroker
|
||||||
|
selectCalcFinDepartment
|
||||||
|
иначе
|
||||||
|
|
||||||
|
selectDealerPerson открываем для редактирования
|
||||||
|
selectDealerBroker открываем для редактирования
|
||||||
|
selectIndAgent заполняется значением из Интереса
|
||||||
|
selectCalcBroker заполняется значением из Интереса
|
||||||
|
selectCalcFinDepartment заполняется значением из Интереса
|
||||||
|
*/
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getOptions(
|
||||||
|
'selectCalcDoubleAgentRewardCondition',
|
||||||
|
undefined,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
calcDoubleAgentRewardConditionOptions => {
|
||||||
|
// TODO: отдельный запрос evo_agency_agreement по id
|
||||||
|
if (
|
||||||
|
calcDoubleAgentRewardConditionOptions?.some(
|
||||||
|
x =>
|
||||||
|
x.evo_agency_agreementidData?.evo_reward_without_other_agent ===
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$calculation.setValue('dealerBroker', null);
|
||||||
|
$calculation.setValue('indAgent', null);
|
||||||
|
$calculation.setValue('calcBroker', null);
|
||||||
|
$calculation.setValue('calcFinDepartment', null);
|
||||||
|
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectIndAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus(
|
||||||
|
'selectCalcFinDepartment',
|
||||||
|
ElementStatus.Disabled,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Default);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Default);
|
||||||
|
|
||||||
|
//TODO: сделать отдельный запрос на lead (и возможно на опции)
|
||||||
|
const lead = $calculation.getOption('selectLead');
|
||||||
|
fillIndAgent.call($calculation, lead);
|
||||||
|
fillCalcBroker.call($calculation, lead);
|
||||||
|
fillFinDepartment.call($calculation, lead);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Добавить реакцию на изменение списка в поле selectCalcBrokerRewardCondition:
|
||||||
|
|
||||||
|
Если в списке selectCalcBrokerRewardCondition есть запись, у которой evo_reward_condition.evo_agency_agreementid. Выплата без других агентов (evo_reward_without_other_agent) = True, то сбрасывают значение и закрываются для выбора поля:
|
||||||
|
|
||||||
|
selectDealerPerson (не обнуляем)
|
||||||
|
selectDealerBroker
|
||||||
|
selectIndAgent
|
||||||
|
selectCalcDoubleAgent
|
||||||
|
selectCalcFinDepartment
|
||||||
|
иначе
|
||||||
|
|
||||||
|
selectDealerPerson открываем для редактирования
|
||||||
|
selectDealerBroker открываем для редактирования
|
||||||
|
selectIndAgent заполняется значением из Интереса
|
||||||
|
selectCalcDoubleAgent заполняется значением из Интереса
|
||||||
|
selectCalcFinDepartment заполняется значением из Интереса
|
||||||
|
*/
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getOptions(
|
||||||
|
'selectCalcBrokerRewardCondition',
|
||||||
|
undefined,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
calcBrokerRewardConditionOptions => {
|
||||||
|
// TODO: отдельный запрос evo_agency_agreement по id
|
||||||
|
if (
|
||||||
|
calcBrokerRewardConditionOptions?.some(
|
||||||
|
x =>
|
||||||
|
x.evo_agency_agreementidData?.evo_reward_without_other_agent ===
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$calculation.setValue('dealerBroker', null);
|
||||||
|
$calculation.setValue('indAgent', null);
|
||||||
|
$calculation.setValue('calcDoubleAgent', null);
|
||||||
|
$calculation.setValue('calcFinDepartment', null);
|
||||||
|
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectIndAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcDoubleAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus(
|
||||||
|
'selectCalcFinDepartment',
|
||||||
|
ElementStatus.Disabled,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Default);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Default);
|
||||||
|
|
||||||
|
//TODO: сделать отдельный запрос на lead (и возможно на опции)
|
||||||
|
const lead = $calculation.getOption('selectLead');
|
||||||
|
fillIndAgent.call($calculation, lead);
|
||||||
|
fillCalcDoubleAgent.call($calculation, lead);
|
||||||
|
fillFinDepartment.call($calculation, lead);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Добавить реакцию на изменение списка в поле selectFinDepartmentRewardCondtion:
|
||||||
|
|
||||||
|
Если в списке selectFinDepartmentRewardCondtion есть запись, у которой evo_reward_condition.evo_agency_agreementid. Выплата без других агентов (evo_reward_without_other_agent) = True, то сбрасывают значение и закрываются для выбора поля:
|
||||||
|
|
||||||
|
selectDealerPerson (не обнуляем)
|
||||||
|
selectDealerBroker
|
||||||
|
selectIndAgent
|
||||||
|
selectCalcDoubleAgent
|
||||||
|
selectCalcBroker
|
||||||
|
иначе
|
||||||
|
|
||||||
|
selectDealerPerson открываем для редактирования
|
||||||
|
selectDealerBroker открываем для редактирования
|
||||||
|
selectIndAgent заполняется значением из Интереса
|
||||||
|
selectCalcDoubleAgent заполняется значением из Интереса
|
||||||
|
selectCalcBroker заполняется значением из Интереса
|
||||||
|
*/
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getOptions(
|
||||||
|
'selectFinDepartmentRewardCondtion',
|
||||||
|
undefined,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
finDepartmentRewardCondtionOptions => {
|
||||||
|
// TODO: отдельный запрос evo_agency_agreement по id
|
||||||
|
if (
|
||||||
|
finDepartmentRewardCondtionOptions?.some(
|
||||||
|
x =>
|
||||||
|
x.evo_agency_agreementidData?.evo_reward_without_other_agent ===
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$calculation.setValue('dealerBroker', null);
|
||||||
|
$calculation.setValue('indAgent', null);
|
||||||
|
$calculation.setValue('calcDoubleAgent', null);
|
||||||
|
$calculation.setValue('calcBroker', null);
|
||||||
|
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectIndAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcDoubleAgent', ElementStatus.Disabled);
|
||||||
|
$calculation.setStatus('selectCalcBroker', ElementStatus.Disabled);
|
||||||
|
} else {
|
||||||
|
$calculation.setStatus('selectDealerPerson', ElementStatus.Default);
|
||||||
|
$calculation.setStatus('selectDealerBroker', ElementStatus.Default);
|
||||||
|
|
||||||
|
//TODO: сделать отдельный запрос на lead (и возможно на опции)
|
||||||
|
const lead = $calculation.getOption('selectLead');
|
||||||
|
fillIndAgent.call($calculation, lead);
|
||||||
|
fillCalcDoubleAgent.call($calculation, lead);
|
||||||
|
fillCalcBroker.call($calculation, lead);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getValue('dealerRewardSumm');
|
||||||
|
},
|
||||||
|
dealerRewardSumm => {
|
||||||
|
const dealerRewardCondition = $calculation.getOption(
|
||||||
|
'selectDealerRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
dealerRewardCondition?.evo_reward_summ &&
|
||||||
|
dealerRewardSumm > dealerRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxDealerRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение ЮЛ поставщика указано больше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
!dealerRewardCondition?.evo_reduce_reward &&
|
||||||
|
dealerRewardCondition?.evo_reward_summ &&
|
||||||
|
dealerRewardSumm < dealerRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxDealerRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение ЮЛ поставщика указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
dealerRewardCondition?.evo_min_reward_summ &&
|
||||||
|
dealerRewardSumm < dealerRewardCondition?.evo_min_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxDealerRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение ЮЛ поставщика указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$calculation.setValidation('tbxDealerRewardSumm', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getValue('dealerBrokerRewardSumm');
|
||||||
|
},
|
||||||
|
dealerBrokerRewardSumm => {
|
||||||
|
const dealerBrokerRewardCondition = $calculation.getOption(
|
||||||
|
'selectDealerBrokerRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
dealerBrokerRewardCondition?.evo_reward_summ &&
|
||||||
|
dealerBrokerRewardSumm > dealerBrokerRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxDealerBrokerRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение брокера поставщика указано больше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
!dealerBrokerRewardCondition?.evo_reduce_reward &&
|
||||||
|
dealerBrokerRewardCondition?.evo_reward_summ &&
|
||||||
|
dealerBrokerRewardSumm < dealerBrokerRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxDealerBrokerRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение брокера поставщика указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
dealerBrokerRewardCondition?.evo_min_reward_summ &&
|
||||||
|
dealerBrokerRewardSumm < dealerBrokerRewardCondition.evo_min_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxDealerBrokerRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение Брокера поставщика указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$calculation.setValidation('tbxDealerBrokerRewardSumm', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getValue('indAgentRewardSumm');
|
||||||
|
},
|
||||||
|
indAgentRewardSumm => {
|
||||||
|
const indAgentRewardCondition = $calculation.getOption(
|
||||||
|
'selectIndAgentRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
indAgentRewardCondition?.evo_reward_summ &&
|
||||||
|
indAgentRewardSumm > indAgentRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxIndAgentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение агента ФЛ указано больше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
!indAgentRewardCondition?.evo_reduce_reward &&
|
||||||
|
indAgentRewardCondition?.evo_reward_summ &&
|
||||||
|
indAgentRewardSumm < indAgentRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxIndAgentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение агента ФЛ указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
indAgentRewardCondition?.evo_min_reward_summ &&
|
||||||
|
indAgentRewardSumm > indAgentRewardCondition.evo_min_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxIndAgentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение агента ФЛ указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$calculation.setValidation('tbxIndAgentRewardSumm', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getValue('calcDoubleAgentRewardSumm');
|
||||||
|
},
|
||||||
|
calcDoubleAgentRewardSumm => {
|
||||||
|
const selectCalcDoubleAgentRewardCondition = $calculation.getOption(
|
||||||
|
'selectCalcDoubleAgentRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
selectCalcDoubleAgentRewardCondition?.evo_reward_summ &&
|
||||||
|
calcDoubleAgentRewardSumm >
|
||||||
|
selectCalcDoubleAgentRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxCalcDoubleAgentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение двойного агента указано больше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
!selectCalcDoubleAgentRewardCondition?.evo_reduce_reward &&
|
||||||
|
selectCalcDoubleAgentRewardCondition?.evo_reward_summ &&
|
||||||
|
calcDoubleAgentRewardSumm <
|
||||||
|
selectCalcDoubleAgentRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxCalcDoubleAgentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение двойного агента указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
selectCalcDoubleAgentRewardCondition?.evo_min_reward_summ &&
|
||||||
|
calcDoubleAgentRewardSumm >
|
||||||
|
selectCalcDoubleAgentRewardCondition.evo_min_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxCalcDoubleAgentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение двойного агента указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$calculation.setValidation('tbxCalcDoubleAgentRewardSumm', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getValue('calcBrokerRewardSum');
|
||||||
|
},
|
||||||
|
calcBrokerRewardSum => {
|
||||||
|
const selectCalcBrokerRewardCondition = $calculation.getOption(
|
||||||
|
'selectCalcBrokerRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
selectCalcBrokerRewardCondition?.evo_reward_summ &&
|
||||||
|
calcBrokerRewardSum > selectCalcBrokerRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxCalcBrokerRewardSum', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение брокера указано больше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
!selectCalcBrokerRewardCondition?.evo_reduce_reward &&
|
||||||
|
selectCalcBrokerRewardCondition?.evo_reward_summ &&
|
||||||
|
calcBrokerRewardSum < selectCalcBrokerRewardCondition.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxCalcBrokerRewardSum', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение брокера указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
selectCalcBrokerRewardCondition?.evo_min_reward_summ &&
|
||||||
|
calcBrokerRewardSum <
|
||||||
|
selectCalcBrokerRewardCondition?.evo_min_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxCalcBrokerRewardSum', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение брокера указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$calculation.setValidation('tbxCalcBrokerRewardSum', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
reaction(
|
||||||
|
() => {
|
||||||
|
return $calculation.getValue('finDepartmentRewardSumm');
|
||||||
|
},
|
||||||
|
finDepartmentRewardSumm => {
|
||||||
|
const selectFinDepartmentRewardCondtion = $calculation.getOption(
|
||||||
|
'selectFinDepartmentRewardCondtion',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (
|
||||||
|
selectFinDepartmentRewardCondtion?.evo_reward_summ &&
|
||||||
|
finDepartmentRewardSumm >
|
||||||
|
selectFinDepartmentRewardCondtion?.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxFinDepartmentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение финотдела указано больше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
selectFinDepartmentRewardCondtion?.evo_reward_summ &&
|
||||||
|
!selectFinDepartmentRewardCondtion.evo_reduce_reward &&
|
||||||
|
finDepartmentRewardSumm <
|
||||||
|
selectFinDepartmentRewardCondtion.evo_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxFinDepartmentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение финотдела указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
selectFinDepartmentRewardCondtion?.evo_min_reward_summ &&
|
||||||
|
finDepartmentRewardSumm <
|
||||||
|
selectFinDepartmentRewardCondtion?.evo_min_reward_summ
|
||||||
|
) {
|
||||||
|
$calculation.setValidation('tbxFinDepartmentRewardSumm', false);
|
||||||
|
openNotification({
|
||||||
|
type: 'error',
|
||||||
|
message: 'Ошибка',
|
||||||
|
description:
|
||||||
|
'Вознаграждение финотдела указано меньше условия по агентскому договору!',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$calculation.setValidation('tbxFinDepartmentRewardSumm', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -306,27 +306,186 @@ export default function (this: ICalculationStore): PreparedData {
|
|||||||
(preparedValues.firstPayment || 0) *
|
(preparedValues.firstPayment || 0) *
|
||||||
((preparedValues.plPrice || 0) - (preparedValues.importProgramSum || 0));
|
((preparedValues.plPrice || 0) - (preparedValues.importProgramSum || 0));
|
||||||
|
|
||||||
preparedValues.agentsSum =
|
/**
|
||||||
(values.indAgentRewardSumm / 100) *
|
* @description
|
||||||
preparedValues.acceptSum *
|
* если в selectIndAgentRewardCondition значение evo_reward_condition.Расчет вознаграждения от (evo_calc_reward_rules) = 100 000 001 (от суммы),
|
||||||
valuesConstants.ESN;
|
то AgentsSum = Размер АВ агента ФЛ (tbxIndAgentRewardSumm) * ЕСН [ESN]
|
||||||
|
иначе
|
||||||
|
если в selectIndAgentRewardCondition указана запись, у которой evo_reward_condition.evo_agency_agreementid. Стоимость ПЛ (evo_leasingobject_price) = 100 000 001 (с НДС),
|
||||||
|
то AgentsSum = (Размер АВ агента ФЛ (tbxIndAgentRewardSumm) /100 * (PreparedValues.PlPriceWithVAT - Discount*(1+VAT)) * ЕСН [ESN],
|
||||||
|
иначе AgentsSum = (значение поля Размер АВ агента ФЛ (tbxIndAgentRewardSumm) /100 * Стоимость ПЛ с учетом скидки [AcceptSum] ) * ЕСН [ESN]
|
||||||
|
*/
|
||||||
|
const selectIndAgentRewardConditionOption = this.getOption(
|
||||||
|
'selectIndAgentRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
selectIndAgentRewardConditionOption?.evo_calc_reward_rules === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.agentsSum = values.indAgentRewardSumm * valuesConstants.ESN;
|
||||||
|
} else if (
|
||||||
|
selectIndAgentRewardConditionOption?.evo_agency_agreementidData
|
||||||
|
?.evo_leasingobject_price === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.agentsSum =
|
||||||
|
(values.indAgentRewardSumm / 100) *
|
||||||
|
((preparedValues.plPriceWithVAT || 0) -
|
||||||
|
(preparedValues.discount || 0) * (1 + valuesConstants.VAT)) *
|
||||||
|
valuesConstants.ESN;
|
||||||
|
} else {
|
||||||
|
preparedValues.agentsSum =
|
||||||
|
(values.indAgentRewardSumm / 100) *
|
||||||
|
preparedValues.acceptSum *
|
||||||
|
valuesConstants.ESN;
|
||||||
|
}
|
||||||
|
|
||||||
preparedValues.doubleAgentsSum =
|
/**
|
||||||
(values.calcDoubleAgentRewardSumm / 100) *
|
* @description
|
||||||
preparedValues.acceptSum *
|
* если в selectCalcDoubleAgentRewardCondition значение evo_reward_condition.Расчет вознаграждения от (evo_calc_reward_rules) = 100 000 001 (от суммы),
|
||||||
valuesConstants.ESN;
|
то DoubleAgentsSum= Размер АВ двойного агента (tbxCalcDoubleAgentRewardSumm) * ЕСН [ESN]
|
||||||
|
иначе
|
||||||
|
если в selectCalcDoubleAgentRewardCondition указана запись, у которой evo_reward_condition.evo_agency_agreementid. Стоимость ПЛ (evo_leasingobject_price) = 100 000 001 (с НДС),
|
||||||
|
то DoubleAgentsSum= (Размер АВ двойного агента (tbxCalcDoubleAgentRewardSumm) /100 * (PreparedValues.PlPriceWithVAT - Discount*(1+VAT)) * ЕСН [ESN],
|
||||||
|
иначе DoubleAgentsSum= (значение поля Размер АВ двойного агента (tbxCalcDoubleAgentRewardSumm) /100 * Стоимость ПЛ с учетом скидки [AcceptSum] ) * ЕСН [ESN]
|
||||||
|
*/
|
||||||
|
const selectCalcDoubleAgentRewardCondition = this.getOption(
|
||||||
|
'selectCalcDoubleAgentRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
selectCalcDoubleAgentRewardCondition?.evo_calc_reward_rules === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.doubleAgentsSum =
|
||||||
|
values.calcDoubleAgentRewardSumm * valuesConstants.ESN;
|
||||||
|
} else if (
|
||||||
|
selectCalcDoubleAgentRewardCondition?.evo_agency_agreementidData
|
||||||
|
?.evo_leasingobject_price === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.doubleAgentsSum =
|
||||||
|
(values.calcDoubleAgentRewardSumm / 100) *
|
||||||
|
((preparedValues.plPriceWithVAT || 0) -
|
||||||
|
(preparedValues.discount || 0) * (1 + valuesConstants.VAT)) *
|
||||||
|
valuesConstants.ESN;
|
||||||
|
} else {
|
||||||
|
preparedValues.doubleAgentsSum =
|
||||||
|
(values.calcDoubleAgentRewardSumm / 100) *
|
||||||
|
preparedValues.acceptSum *
|
||||||
|
valuesConstants.ESN;
|
||||||
|
}
|
||||||
|
|
||||||
preparedValues.deliverySum =
|
/**
|
||||||
(values.dealerRewardSumm / 100) * preparedValues.acceptSum;
|
* @description
|
||||||
|
* если в selectDealerRewardCondition значение evo_reward_condition.Расчет вознаграждения от (evo_calc_reward_rules) = 100 000 001 (от суммы),
|
||||||
|
то DeliverySum= Размер АВ ЮЛ поставщика (tbxDealerRewardSumm) / (1+VAT)
|
||||||
|
иначе
|
||||||
|
если в selectDealerRewardCondition указана запись, у которой evo_reward_condition.evo_agency_agreementid. Стоимость ПЛ (evo_leasingobject_price) = 100 000 001 (с НДС),
|
||||||
|
то DeliverySum= Размер АВ ЮЛ поставщика (tbxDealerRewardSumm) /100 * (PreparedValues.PlPriceWithVAT - Discount*(1+VAT)),
|
||||||
|
иначе DeliverySum=значение поля Размер АВ ЮЛ поставщика (tbxDealerRewardSumm) /100 * Стоимость ПЛ с учетом скидки [AcceptSum]
|
||||||
|
*/
|
||||||
|
const selectDealerRewardCondition = this.getOption(
|
||||||
|
'selectDealerRewardCondition',
|
||||||
|
);
|
||||||
|
if (selectDealerRewardCondition?.evo_calc_reward_rules === 100_000_001) {
|
||||||
|
preparedValues.deliverySum =
|
||||||
|
values.dealerRewardSumm / (1 + valuesConstants.VAT);
|
||||||
|
} else if (
|
||||||
|
selectDealerRewardCondition?.evo_agency_agreementidData
|
||||||
|
?.evo_leasingobject_price === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.deliverySum =
|
||||||
|
(values.dealerRewardSumm / 100) *
|
||||||
|
((preparedValues.plPriceWithVAT || 0) -
|
||||||
|
(preparedValues.discount || 0) * (1 + valuesConstants.VAT));
|
||||||
|
} else {
|
||||||
|
preparedValues.deliverySum =
|
||||||
|
(values.dealerRewardSumm / 100) * preparedValues.acceptSum;
|
||||||
|
}
|
||||||
|
|
||||||
preparedValues.brokerSum =
|
/**
|
||||||
(values.calcBrokerRewardSum / 100) * preparedValues.acceptSum;
|
* @description
|
||||||
|
* если в selectCalcBrokerRewardCondition значение evo_reward_condition.Расчет вознаграждения от (evo_calc_reward_rules) = 100 000 001 (от суммы),
|
||||||
|
то BrokerSum= Размер АВ брокера (tbxCalcBrokerRewardSum) / (1+VAT)
|
||||||
|
иначе
|
||||||
|
если в selectCalcBrokerRewardCondition указана запись, у которой evo_reward_condition.evo_agency_agreementid. Стоимость ПЛ (evo_leasingobject_price) = 100 000 001 (с НДС),
|
||||||
|
то BrokerSum= Размер АВ брокера (tbxCalcBrokerRewardSum) /100 * (PreparedValues.PlPriceWithVAT - Discount*(1+VAT)) ,
|
||||||
|
иначе BrokerSum= значение поля Размер АВ брокера (tbxCalcBrokerRewardSum)/100 * Стоимость ПЛ с учетом скидки [AcceptSum]
|
||||||
|
*/
|
||||||
|
const selectCalcBrokerRewardCondition = this.getOption(
|
||||||
|
'selectCalcBrokerRewardCondition',
|
||||||
|
);
|
||||||
|
if (selectCalcBrokerRewardCondition?.evo_calc_reward_rules === 100_000_001) {
|
||||||
|
preparedValues.brokerSum =
|
||||||
|
values.calcBrokerRewardSum / (1 + valuesConstants.VAT);
|
||||||
|
} else if (
|
||||||
|
selectCalcBrokerRewardCondition?.evo_agency_agreementidData
|
||||||
|
?.evo_leasingobject_price === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.brokerSum =
|
||||||
|
(values.calcBrokerRewardSum / 100) *
|
||||||
|
((preparedValues.plPriceWithVAT || 0) -
|
||||||
|
(preparedValues.discount || 0) * (1 + valuesConstants.VAT));
|
||||||
|
} else {
|
||||||
|
preparedValues.brokerSum =
|
||||||
|
(values.calcBrokerRewardSum / 100) * preparedValues.acceptSum;
|
||||||
|
}
|
||||||
|
|
||||||
preparedValues.brokerOfDeliverySum =
|
/**
|
||||||
(values.dealerBrokerRewardSumm / 100) * preparedValues.acceptSum;
|
* @description
|
||||||
|
* если в selectDealerBrokerRewardCondition значение evo_reward_condition.Расчет вознаграждения от (evo_calc_reward_rules) = 100 000 001 (от суммы),
|
||||||
|
то BrokerOfDeliverySum= Размер АВ брокера поставщика (tbxDealerBrokerRewardSumm) / (1+VAT)
|
||||||
|
иначе
|
||||||
|
если в selectDealerBrokerRewardCondition указана запись, у которой evo_reward_condition.evo_agency_agreementid. Стоимость ПЛ (evo_leasingobject_price) = 100 000 001 (с НДС),
|
||||||
|
то BrokerOfDeliverySum= Размер АВ брокера поставщика (tbxDealerBrokerRewardSumm) /100 * (PreparedValues.PlPriceWithVAT - Discount*(1+VAT)),
|
||||||
|
иначе BrokerOfDeliverySum= значение поля Размер АВ брокера поставщика (tbxDealerBrokerRewardSumm)/100 * Стоимость ПЛ с учетом скидки [AcceptSum]
|
||||||
|
*/
|
||||||
|
const selectDealerBrokerRewardCondition = this.getOption(
|
||||||
|
'selectDealerBrokerRewardCondition',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
selectDealerBrokerRewardCondition?.evo_calc_reward_rules === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.brokerOfDeliverySum =
|
||||||
|
values.dealerBrokerRewardSumm / (1 + valuesConstants.VAT);
|
||||||
|
} else if (
|
||||||
|
selectDealerBrokerRewardCondition?.evo_agency_agreementidData
|
||||||
|
?.evo_leasingobject_price === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.brokerOfDeliverySum =
|
||||||
|
(values.dealerBrokerRewardSumm / 100) *
|
||||||
|
((preparedValues.plPriceWithVAT || 0) -
|
||||||
|
(preparedValues.discount || 0) * (1 + valuesConstants.VAT));
|
||||||
|
} else {
|
||||||
|
preparedValues.brokerOfDeliverySum =
|
||||||
|
(values.dealerBrokerRewardSumm / 100) * preparedValues.acceptSum;
|
||||||
|
}
|
||||||
|
|
||||||
preparedValues.financialDeptOfDeliverySum =
|
/**
|
||||||
(values.finDepartmentRewardSumm / 100) * preparedValues.acceptSum;
|
* @description
|
||||||
|
* если в selectFinDepartmentRewardCondtion значение evo_reward_condition.Расчет вознаграждения от (evo_calc_reward_rules) = 100 000 001 (от суммы),
|
||||||
|
то FinancialDeptOfDeliverySum= Размер АВ финотдела (tbxFinDepartmentRewardSumm) / (1+VAT)
|
||||||
|
иначе
|
||||||
|
если в selectFinDepartmentRewardCondtion указана запись, у которой evo_reward_condition.evo_agency_agreementid. Стоимость ПЛ (evo_leasingobject_price) = 100 000 001 (с НДС),
|
||||||
|
то FinancialDeptOfDeliverySum= Размер АВ финотдела (tbxFinDepartmentRewardSumm) /100 * (PreparedValues.PlPriceWithVAT - Discount*(1+VAT)),
|
||||||
|
иначе FinancialDeptOfDeliverySum= значение поля Размер АВ финотдела (tbxFinDepartmentRewardSumm)/100 * Стоимость ПЛ с учетом скидки [PreparedValue.AcceptSum]
|
||||||
|
*/
|
||||||
|
const selectFinDepartmentRewardCondtion = this.getOption(
|
||||||
|
'selectFinDepartmentRewardCondtion',
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
selectFinDepartmentRewardCondtion?.evo_calc_reward_rules === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.financialDeptOfDeliverySum =
|
||||||
|
values.finDepartmentRewardSumm / (1 + valuesConstants.VAT);
|
||||||
|
} else if (
|
||||||
|
selectFinDepartmentRewardCondtion?.evo_agency_agreementidData
|
||||||
|
?.evo_leasingobject_price === 100_000_001
|
||||||
|
) {
|
||||||
|
preparedValues.financialDeptOfDeliverySum =
|
||||||
|
(values.finDepartmentRewardSumm / 100) *
|
||||||
|
((preparedValues.plPriceWithVAT || 0) -
|
||||||
|
(preparedValues.discount || 0) * (1 + valuesConstants.VAT));
|
||||||
|
} else {
|
||||||
|
preparedValues.financialDeptOfDeliverySum =
|
||||||
|
(values.finDepartmentRewardSumm / 100) * preparedValues.acceptSum;
|
||||||
|
}
|
||||||
|
|
||||||
if (values.importerRewardRub > 0) {
|
if (values.importerRewardRub > 0) {
|
||||||
preparedValues.importerSum = values.importerRewardRub;
|
preparedValues.importerSum = values.importerRewardRub;
|
||||||
|
|||||||
@ -132,6 +132,179 @@ const customConditions: Partial<Record<ElementsNames, ValidationCondition>> = {
|
|||||||
'Срок лизинга не соответствует таблице платежей. Необходимо изменить срок лизинга',
|
'Срок лизинга не соответствует таблице платежей. Необходимо изменить срок лизинга',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//TODO: перенести в process/agents/validation
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Валидация:
|
||||||
|
* Если tbxDealerRewardSumm= 0 И в списке selectDealerRewardCondition есть запись,
|
||||||
|
* у которой evo_reward_condition.evo_agency_agreementid. Обязательная выплата АВ (evo_required_reward) = True,
|
||||||
|
* то поле tbxDealerRewardSumm обводить красной рамкой
|
||||||
|
* и выводить ошибку "Согласно Агентскому договору с данным ЮЛ поставщика обязательна выплата АВ. Заложите АВ в расчет"
|
||||||
|
*/
|
||||||
|
tbxDealerRewardSumm: calculationStore => {
|
||||||
|
const dealerRewardConditionOptions = calculationStore.getOptions(
|
||||||
|
'selectDealerRewardCondition',
|
||||||
|
);
|
||||||
|
const dealerRewardSumm = calculationStore.getValue('dealerRewardSumm');
|
||||||
|
|
||||||
|
const isValid = !(
|
||||||
|
dealerRewardSumm === 0 &&
|
||||||
|
dealerRewardConditionOptions?.some(
|
||||||
|
x => x.evo_agency_agreementidData?.evo_required_reward,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
isValid,
|
||||||
|
message:
|
||||||
|
'Согласно Агентскому договору с данным ЮЛ поставщика обязательна выплата АВ. Заложите АВ в расчет',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Валидация
|
||||||
|
* Если tbxDealerBrokerRewardSumm= 0 И в списке selectDealerBrokerRewardCondition есть запись,
|
||||||
|
* у которой evo_reward_condition.evo_agency_agreementid. Обязательная выплата АВ (evo_required_reward) = True,
|
||||||
|
* то поле tbxDealerBrokerRewardSumm обводить красной рамкой
|
||||||
|
* и выводить ошибку "Согласно Агентскому договору с данным Брокером поставщика обязательна выплата АВ. Заложите АВ в расчет"
|
||||||
|
*/
|
||||||
|
tbxDealerBrokerRewardSumm: calculationStore => {
|
||||||
|
const dealerBrokerRewardConditionOptions = calculationStore.getOptions(
|
||||||
|
'selectDealerBrokerRewardCondition',
|
||||||
|
);
|
||||||
|
const dealerBrokerRewardSumm = calculationStore.getValue(
|
||||||
|
'dealerBrokerRewardSumm',
|
||||||
|
);
|
||||||
|
|
||||||
|
const isValid = !(
|
||||||
|
dealerBrokerRewardSumm === 0 &&
|
||||||
|
dealerBrokerRewardConditionOptions?.some(
|
||||||
|
x => x.evo_agency_agreementidData?.evo_required_reward,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
isValid,
|
||||||
|
message:
|
||||||
|
'Согласно Агентскому договору с данным Брокером поставщика обязательна выплата АВ. Заложите АВ в расчет',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Если tbxIndAgentRewardSumm= 0 И в списке selectIndAgentRewardCondition есть запись,
|
||||||
|
* у которой evo_reward_condition.evo_agency_agreementid. Обязательная выплата АВ (evo_required_reward) = True,
|
||||||
|
* то поле tbxIndAgentRewardSumm обводить красной рамкой
|
||||||
|
* и выводить ошибку "Согласно Агентскому договору с данным Агентом ФЛ обязательна выплата АВ. Заложите АВ в расчет"
|
||||||
|
*/
|
||||||
|
tbxIndAgentRewardSumm: calculationStore => {
|
||||||
|
const indAgentRewardConditionOptions = calculationStore.getOptions(
|
||||||
|
'selectIndAgentRewardCondition',
|
||||||
|
);
|
||||||
|
const indAgentRewardSumm = calculationStore.getValue('indAgentRewardSumm');
|
||||||
|
|
||||||
|
const isValid = !(
|
||||||
|
indAgentRewardSumm === 0 &&
|
||||||
|
indAgentRewardConditionOptions?.some(
|
||||||
|
x => x.evo_agency_agreementidData?.evo_required_reward,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
isValid,
|
||||||
|
message:
|
||||||
|
'Согласно Агентскому договору с данным Агентом ФЛ обязательна выплата АВ. Заложите АВ в расчет',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Если tbxCalcDoubleAgentRewardSumm = 0 И в списке selectCalcDoubleAgentRewardCondition есть запись,
|
||||||
|
* у которой evo_reward_condition.evo_agency_agreementid. Обязательная выплата АВ (evo_required_reward) = True,
|
||||||
|
* то поле tbxCalcDoubleAgentRewardSumm обводить красной рамкой
|
||||||
|
* и выводить ошибку "Согласно Агентскому договору с данным Двойным агентом обязательна выплата АВ. Заложите АВ в расчет"
|
||||||
|
*/
|
||||||
|
tbxCalcDoubleAgentRewardSumm: calculationStore => {
|
||||||
|
const calcDoubleAgentRewardConditionOptions = calculationStore.getOptions(
|
||||||
|
'selectCalcDoubleAgentRewardCondition',
|
||||||
|
);
|
||||||
|
const calcDoubleAgentRewardSumm = calculationStore.getValue(
|
||||||
|
'calcDoubleAgentRewardSumm',
|
||||||
|
);
|
||||||
|
|
||||||
|
const isValid = !(
|
||||||
|
calcDoubleAgentRewardSumm === 0 &&
|
||||||
|
calcDoubleAgentRewardConditionOptions?.some(
|
||||||
|
x => x.evo_agency_agreementidData?.evo_required_reward,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
isValid,
|
||||||
|
message:
|
||||||
|
'Согласно Агентскому договору с данным Двойным агентом обязательна выплата АВ. Заложите АВ в расчет',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Если tbxCalcBrokerRewardSum = 0 И в списке selectCalcBrokerRewardCondition есть запись,
|
||||||
|
* у которой evo_reward_condition.evo_agency_agreementid. Обязательная выплата АВ (evo_required_reward) = True,
|
||||||
|
* то поле tbxCalcBrokerRewardSum обводить красной рамкой
|
||||||
|
* и выводить ошибку "Согласно Агентскому договору с данным Брокером обязательна выплата АВ. Заложите АВ в расчет"
|
||||||
|
*/
|
||||||
|
tbxCalcBrokerRewardSum: calculationStore => {
|
||||||
|
const calcBrokerRewardConditionOptions = calculationStore.getOptions(
|
||||||
|
'selectCalcBrokerRewardCondition',
|
||||||
|
);
|
||||||
|
const calcBrokerRewardSum = calculationStore.getValue(
|
||||||
|
'calcBrokerRewardSum',
|
||||||
|
);
|
||||||
|
|
||||||
|
const isValid = !(
|
||||||
|
calcBrokerRewardSum === 0 &&
|
||||||
|
calcBrokerRewardConditionOptions?.some(
|
||||||
|
x => x.evo_agency_agreementidData?.evo_required_reward,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
isValid,
|
||||||
|
message:
|
||||||
|
'Согласно Агентскому договору с данным Брокером обязательна выплата АВ. Заложите АВ в расчет',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* Если tbxFinDepartmentRewardSumm = 0 И в списке selectFinDepartmentRewardCondtion есть запись,
|
||||||
|
* у которой evo_reward_condition.evo_agency_agreementid. Обязательная выплата АВ (evo_required_reward) = True,
|
||||||
|
* то поле tbxFinDepartmentRewardSumm обводить красной рамкой
|
||||||
|
* и выводить ошибку "Согласно Агентскому договору с данным Финотделом обязательна выплата АВ. Заложите АВ в расчет"
|
||||||
|
*/
|
||||||
|
tbxFinDepartmentRewardSumm: calculationStore => {
|
||||||
|
const finDepartmentRewardCondtionOptions = calculationStore.getOptions(
|
||||||
|
'selectFinDepartmentRewardCondtion',
|
||||||
|
);
|
||||||
|
const finDepartmentRewardSumm = calculationStore.getValue(
|
||||||
|
'finDepartmentRewardSumm',
|
||||||
|
);
|
||||||
|
|
||||||
|
const isValid = !(
|
||||||
|
finDepartmentRewardSumm === 0 &&
|
||||||
|
finDepartmentRewardCondtionOptions?.some(
|
||||||
|
x => x.evo_agency_agreementidData?.evo_required_reward,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
isValid,
|
||||||
|
message:
|
||||||
|
'Согласно Агентскому договору с данным Финотделом обязательна выплата АВ. Заложите АВ в расчет',
|
||||||
|
};
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const elementsValidations: Partial<
|
const elementsValidations: Partial<
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import {
|
|||||||
CRMEntity,
|
CRMEntity,
|
||||||
IAccount,
|
IAccount,
|
||||||
IEvoGraph,
|
IEvoGraph,
|
||||||
|
IEvoRewardCondition,
|
||||||
IEvoTown,
|
IEvoTown,
|
||||||
IQuote,
|
IQuote,
|
||||||
} from 'core/services/CrmService/types/entities';
|
} from 'core/services/CrmService/types/entities';
|
||||||
@ -72,6 +73,39 @@ function getObjectRegistration(recalcWithRevision: boolean, quote: IQuote) {
|
|||||||
: quote.evo_object_registration;
|
: quote.evo_object_registration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getRewardSumm(
|
||||||
|
reward_conditionid: string,
|
||||||
|
quote: IQuote,
|
||||||
|
quoteRewardSummName: string,
|
||||||
|
quoteRewardTotalName: string,
|
||||||
|
) {
|
||||||
|
if (reward_conditionid) {
|
||||||
|
const { evo_reward_condition } = await CrmService.getCRMEntities<
|
||||||
|
'evo_reward_condition',
|
||||||
|
IEvoRewardCondition
|
||||||
|
>({
|
||||||
|
query: gql`
|
||||||
|
query ($id: Uuid!) {
|
||||||
|
evo_reward_condition(evo_reward_conditionid: $id) {
|
||||||
|
evo_calc_reward_rules
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
variables: {
|
||||||
|
id: reward_conditionid,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (evo_reward_condition?.evo_calc_reward_rules === 100_000_001) {
|
||||||
|
return quote[quoteRewardSummName];
|
||||||
|
} else {
|
||||||
|
return quote[quoteRewardTotalName];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return quote[quoteRewardTotalName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const loadKpReaction: IReactionEffect = calculationStore => ({
|
const loadKpReaction: IReactionEffect = calculationStore => ({
|
||||||
expression: () => {
|
expression: () => {
|
||||||
const { quote } = calculationStore.values;
|
const { quote } = calculationStore.values;
|
||||||
@ -164,8 +198,6 @@ const loadKpReaction: IReactionEffect = calculationStore => ({
|
|||||||
|
|
||||||
// agents
|
// agents
|
||||||
//TODO: refactor
|
//TODO: refactor
|
||||||
const { indAgent, calcBroker, calcFinDepartment } =
|
|
||||||
calculationStore.values;
|
|
||||||
|
|
||||||
let {
|
let {
|
||||||
indAgentRewardCondition,
|
indAgentRewardCondition,
|
||||||
@ -175,22 +207,72 @@ const loadKpReaction: IReactionEffect = calculationStore => ({
|
|||||||
finDepartmentRewardCondtion,
|
finDepartmentRewardCondtion,
|
||||||
finDepartmentRewardSumm,
|
finDepartmentRewardSumm,
|
||||||
} = calculationStore.values;
|
} = calculationStore.values;
|
||||||
|
|
||||||
|
const indAgent = calculationStore.getValue('indAgent');
|
||||||
if (indAgent === quote.evo_agent_accountid) {
|
if (indAgent === quote.evo_agent_accountid) {
|
||||||
indAgentRewardCondition = quote.evo_agent_reward_conditionid;
|
indAgentRewardCondition = quote.evo_agent_reward_conditionid;
|
||||||
indAgentRewardSumm = quote.evo_agent_reward_total;
|
|
||||||
|
indAgentRewardSumm = await getRewardSumm(
|
||||||
|
//@ts-ignore
|
||||||
|
quote.evo_agent_reward_conditionid,
|
||||||
|
quote,
|
||||||
|
'evo_agent_reward_summ',
|
||||||
|
'evo_agent_reward_total',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const calcBroker = calculationStore.getValue('calcBroker');
|
||||||
if (calcBroker === quote.evo_broker_accountid) {
|
if (calcBroker === quote.evo_broker_accountid) {
|
||||||
calcBrokerRewardCondition = quote.evo_broker_reward_conditionid;
|
calcBrokerRewardCondition = quote.evo_broker_reward_conditionid;
|
||||||
calcBrokerRewardSum = quote.evo_broker_reward_total;
|
|
||||||
|
calcBrokerRewardSum = await getRewardSumm(
|
||||||
|
//@ts-ignore
|
||||||
|
quote.evo_broker_reward_conditionid,
|
||||||
|
quote,
|
||||||
|
'evo_broker_reward_summ',
|
||||||
|
'evo_broker_reward_total',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const calcFinDepartment =
|
||||||
|
calculationStore.getValue('calcFinDepartment');
|
||||||
if (calcFinDepartment === quote.evo_fin_department_accountid) {
|
if (calcFinDepartment === quote.evo_fin_department_accountid) {
|
||||||
finDepartmentRewardCondtion =
|
finDepartmentRewardCondtion =
|
||||||
quote.evo_fin_department_reward_conditionid;
|
quote.evo_fin_department_reward_conditionid;
|
||||||
finDepartmentRewardSumm = quote.evo_fin_department_reward_total;
|
|
||||||
|
finDepartmentRewardSumm = await getRewardSumm(
|
||||||
|
//@ts-ignore
|
||||||
|
quote.evo_fin_department_reward_conditionid,
|
||||||
|
quote,
|
||||||
|
'evo_fin_department_reward_summ',
|
||||||
|
'evo_fin_department_reward_total',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const dealerRewardSumm = await getRewardSumm(
|
||||||
|
//@ts-ignore
|
||||||
|
quote.evo_dealer_reward_conditionid,
|
||||||
|
quote,
|
||||||
|
'evo_dealer_reward_summ',
|
||||||
|
'evo_dealer_reward_total',
|
||||||
|
);
|
||||||
|
|
||||||
|
const dealerBrokerRewardSumm = await getRewardSumm(
|
||||||
|
//@ts-ignore
|
||||||
|
quote.evo_dealer_broker_reward_conditionid,
|
||||||
|
quote,
|
||||||
|
'evo_dealer_broker_reward_summ',
|
||||||
|
'evo_dealer_broker_reward_total',
|
||||||
|
);
|
||||||
|
|
||||||
|
const calcDoubleRewardSumm = await getRewardSumm(
|
||||||
|
//@ts-ignore
|
||||||
|
quote.evo_double_agent_reward_conditionid,
|
||||||
|
quote,
|
||||||
|
'evo_double_agent_reward_summ',
|
||||||
|
'evo_double_agent_reward_total',
|
||||||
|
);
|
||||||
|
|
||||||
const agentsValues = {
|
const agentsValues = {
|
||||||
indAgentRewardCondition,
|
indAgentRewardCondition,
|
||||||
indAgentRewardSumm,
|
indAgentRewardSumm,
|
||||||
@ -198,6 +280,9 @@ const loadKpReaction: IReactionEffect = calculationStore => ({
|
|||||||
calcBrokerRewardSum,
|
calcBrokerRewardSum,
|
||||||
finDepartmentRewardCondtion,
|
finDepartmentRewardCondtion,
|
||||||
finDepartmentRewardSumm,
|
finDepartmentRewardSumm,
|
||||||
|
dealerRewardSumm,
|
||||||
|
dealerBrokerRewardSumm,
|
||||||
|
calcDoubleRewardSumm,
|
||||||
};
|
};
|
||||||
// agents
|
// agents
|
||||||
|
|
||||||
|
|||||||
@ -46,16 +46,16 @@ const mapKPtoValues: Partial<Record<keyof IQuote | string, ValuesNames>> = {
|
|||||||
evo_supplier_accountid: 'dealer',
|
evo_supplier_accountid: 'dealer',
|
||||||
// evo_dealer_person_accountid: 'dealerPerson',
|
// evo_dealer_person_accountid: 'dealerPerson',
|
||||||
evo_dealer_reward_conditionid: 'dealerRewardCondition',
|
evo_dealer_reward_conditionid: 'dealerRewardCondition',
|
||||||
evo_dealer_reward_total: 'dealerRewardSumm',
|
// evo_dealer_reward_total: 'dealerRewardSumm',
|
||||||
evo_dealer_broker_accountid: 'dealerBroker',
|
evo_dealer_broker_accountid: 'dealerBroker',
|
||||||
evo_dealer_broker_reward_conditionid: 'dealerBrokerRewardCondition',
|
evo_dealer_broker_reward_conditionid: 'dealerBrokerRewardCondition',
|
||||||
evo_dealer_broker_reward_total: 'dealerBrokerRewardSumm',
|
// evo_dealer_broker_reward_total: 'dealerBrokerRewardSumm',
|
||||||
// evo_agent_accountid: indAgent,
|
// evo_agent_accountid: indAgent,
|
||||||
// evo_agent_reward_conditionid: 'indAgentRewardCondition',
|
// evo_agent_reward_conditionid: 'indAgentRewardCondition',
|
||||||
// evo_agent_reward_total: indAgentRewardSumm,
|
// evo_agent_reward_total: indAgentRewardSumm,
|
||||||
evo_double_agent_accountid: 'calcDoubleAgent',
|
evo_double_agent_accountid: 'calcDoubleAgent',
|
||||||
evo_double_agent_reward_conditionid: 'calcDoubleAgentRewardCondition',
|
evo_double_agent_reward_conditionid: 'calcDoubleAgentRewardCondition',
|
||||||
evo_double_agent_reward_total: 'calcDoubleAgentRewardSumm',
|
// evo_double_agent_reward_total: 'calcDoubleAgentRewardSumm',
|
||||||
// evo_broker_accountid: 'calcBroker',
|
// evo_broker_accountid: 'calcBroker',
|
||||||
// evo_broker_reward_conditionid: 'calcBrokerRewardCondition',
|
// evo_broker_reward_conditionid: 'calcBrokerRewardCondition',
|
||||||
// evo_broker_reward_total: 'calcBrokerRewardSum',
|
// evo_broker_reward_total: 'calcBrokerRewardSum',
|
||||||
|
|||||||
@ -220,201 +220,6 @@ const reactionEffects: IReactionEffect[] = [
|
|||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|
||||||
calculationStore => ({
|
|
||||||
expression: () => {
|
|
||||||
const { indAgentRewardSumm } = calculationStore.values;
|
|
||||||
return indAgentRewardSumm;
|
|
||||||
},
|
|
||||||
effect: indAgentRewardSumm => {
|
|
||||||
const indAgentRewardCondition = calculationStore.getOption(
|
|
||||||
'selectIndAgentRewardCondition',
|
|
||||||
);
|
|
||||||
if (indAgentRewardCondition) {
|
|
||||||
if (indAgentRewardCondition.evo_reward_summ) {
|
|
||||||
if (
|
|
||||||
parseFloat(indAgentRewardSumm) >
|
|
||||||
indAgentRewardCondition.evo_reward_summ
|
|
||||||
) {
|
|
||||||
calculationStore.setValidation('tbxIndAgentRewardSumm', false);
|
|
||||||
openNotification({
|
|
||||||
type: 'error',
|
|
||||||
message: 'Ошибка',
|
|
||||||
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',
|
|
||||||
message: 'Ошибка',
|
|
||||||
description:
|
|
||||||
'Вознаграждение агента ФЛ указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
calculationStore.setValidation('tbxIndAgentRewardSumm', true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
calculationStore => ({
|
|
||||||
expression: () => {
|
|
||||||
const { calcDoubleAgentRewardSumm } = calculationStore.values;
|
|
||||||
return calcDoubleAgentRewardSumm;
|
|
||||||
},
|
|
||||||
effect: calcDoubleAgentRewardSumm => {
|
|
||||||
const selectCalcDoubleAgentRewardCondition = calculationStore.getOption(
|
|
||||||
'selectCalcDoubleAgentRewardCondition',
|
|
||||||
);
|
|
||||||
if (selectCalcDoubleAgentRewardCondition) {
|
|
||||||
if (selectCalcDoubleAgentRewardCondition.evo_reward_summ) {
|
|
||||||
if (
|
|
||||||
parseFloat(calcDoubleAgentRewardSumm) >
|
|
||||||
selectCalcDoubleAgentRewardCondition.evo_reward_summ
|
|
||||||
) {
|
|
||||||
calculationStore.setValidation(
|
|
||||||
'tbxCalcDoubleAgentRewardSumm',
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
openNotification({
|
|
||||||
type: 'error',
|
|
||||||
message: 'Ошибка',
|
|
||||||
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',
|
|
||||||
message: 'Ошибка',
|
|
||||||
description:
|
|
||||||
'Вознаграждение двойного агента указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
calculationStore.setValidation('tbxCalcDoubleAgentRewardSumm', true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
calculationStore => ({
|
|
||||||
expression: () => {
|
|
||||||
const { calcBrokerRewardSum } = calculationStore.values;
|
|
||||||
return calcBrokerRewardSum;
|
|
||||||
},
|
|
||||||
effect: calcBrokerRewardSum => {
|
|
||||||
const selectCalcBrokerRewardCondition = calculationStore.getOption(
|
|
||||||
'selectCalcBrokerRewardCondition',
|
|
||||||
);
|
|
||||||
if (selectCalcBrokerRewardCondition) {
|
|
||||||
if (selectCalcBrokerRewardCondition.evo_reward_summ) {
|
|
||||||
if (
|
|
||||||
parseFloat(calcBrokerRewardSum) >
|
|
||||||
selectCalcBrokerRewardCondition.evo_reward_summ
|
|
||||||
) {
|
|
||||||
calculationStore.setValidation('tbxCalcBrokerRewardSum', false);
|
|
||||||
openNotification({
|
|
||||||
type: 'error',
|
|
||||||
message: 'Ошибка',
|
|
||||||
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',
|
|
||||||
message: 'Ошибка',
|
|
||||||
description:
|
|
||||||
'Вознаграждение брокера указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
calculationStore.setValidation('tbxCalcBrokerRewardSum', true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
calculationStore => ({
|
|
||||||
expression: () => {
|
|
||||||
const { finDepartmentRewardSumm } = calculationStore.values;
|
|
||||||
return finDepartmentRewardSumm;
|
|
||||||
},
|
|
||||||
effect: finDepartmentRewardSumm => {
|
|
||||||
const selectFinDepartmentRewardCondtion = calculationStore.getOption(
|
|
||||||
'selectFinDepartmentRewardCondtion',
|
|
||||||
);
|
|
||||||
if (
|
|
||||||
selectFinDepartmentRewardCondtion &&
|
|
||||||
selectFinDepartmentRewardCondtion.evo_reward_summ
|
|
||||||
) {
|
|
||||||
if (
|
|
||||||
parseFloat(finDepartmentRewardSumm) >
|
|
||||||
selectFinDepartmentRewardCondtion.evo_reward_summ
|
|
||||||
) {
|
|
||||||
calculationStore.setValidation('tbxFinDepartmentRewardSumm', false);
|
|
||||||
openNotification({
|
|
||||||
type: 'error',
|
|
||||||
message: 'Ошибка',
|
|
||||||
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',
|
|
||||||
message: 'Ошибка',
|
|
||||||
description:
|
|
||||||
'Вознаграждение финотдела указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
calculationStore.setValidation('tbxFinDepartmentRewardSumm', true);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
calculationStore => ({
|
calculationStore => ({
|
||||||
expression: () => {
|
expression: () => {
|
||||||
const { leaseObjectUsed } = calculationStore.values;
|
const { leaseObjectUsed } = calculationStore.values;
|
||||||
@ -807,54 +612,6 @@ const reactionEffects: IReactionEffect[] = [
|
|||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|
||||||
calculationStore => ({
|
|
||||||
expression: () => {
|
|
||||||
const { dealerBrokerRewardSumm } = calculationStore.values;
|
|
||||||
return dealerBrokerRewardSumm;
|
|
||||||
},
|
|
||||||
effect: dealerBrokerRewardSumm => {
|
|
||||||
const dealerBrokerRewardCondition = calculationStore.getOption(
|
|
||||||
'selectDealerBrokerRewardCondition',
|
|
||||||
);
|
|
||||||
if (dealerBrokerRewardCondition) {
|
|
||||||
if (dealerBrokerRewardCondition.evo_reward_summ) {
|
|
||||||
if (
|
|
||||||
parseFloat(dealerBrokerRewardSumm) >
|
|
||||||
dealerBrokerRewardCondition.evo_reward_summ
|
|
||||||
) {
|
|
||||||
calculationStore.setValidation('tbxDealerBrokerRewardSumm', false);
|
|
||||||
openNotification({
|
|
||||||
type: 'error',
|
|
||||||
message: 'Ошибка',
|
|
||||||
description:
|
|
||||||
'Вознаграждение брокера поставщика указано больше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (
|
|
||||||
!dealerBrokerRewardCondition.evo_reduce_reward &&
|
|
||||||
dealerBrokerRewardCondition.evo_reward_summ
|
|
||||||
) {
|
|
||||||
if (
|
|
||||||
parseFloat(dealerBrokerRewardSumm) <
|
|
||||||
dealerBrokerRewardCondition.evo_reward_summ
|
|
||||||
) {
|
|
||||||
calculationStore.setValidation('tbxDealerBrokerRewardSumm', false);
|
|
||||||
openNotification({
|
|
||||||
type: 'error',
|
|
||||||
message: 'Ошибка',
|
|
||||||
description:
|
|
||||||
'Вознаграждение брокера поставщика указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
calculationStore.setValidation('tbxDealerBrokerRewardSumm', true);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
calculationStore => ({
|
calculationStore => ({
|
||||||
expression: () => {
|
expression: () => {
|
||||||
const { configuration } = calculationStore.values;
|
const { configuration } = calculationStore.values;
|
||||||
|
|||||||
@ -1,4 +1,10 @@
|
|||||||
import { gql } from '@apollo/client';
|
import { gql } from '@apollo/client';
|
||||||
|
import {
|
||||||
|
fillCalcBroker,
|
||||||
|
fillCalcDoubleAgent,
|
||||||
|
fillFinDepartment,
|
||||||
|
fillIndAgent,
|
||||||
|
} from 'client/process/agents/fill-elements';
|
||||||
import CrmService from 'core/services/CrmService';
|
import CrmService from 'core/services/CrmService';
|
||||||
import { quotesByLeadQuery } from 'core/services/CrmService/graphql/query/quote';
|
import { quotesByLeadQuery } from 'core/services/CrmService/graphql/query/quote';
|
||||||
import {
|
import {
|
||||||
@ -28,14 +34,6 @@ export default [
|
|||||||
calculationStore.setFilter('selectOpportunity', undefined);
|
calculationStore.setFilter('selectOpportunity', undefined);
|
||||||
calculationStore.setValue('quote', null);
|
calculationStore.setValue('quote', null);
|
||||||
calculationStore.setOptions('selectQuote', []);
|
calculationStore.setOptions('selectQuote', []);
|
||||||
calculationStore.setOptions('selectIndAgent', []);
|
|
||||||
calculationStore.setValue('indAgent', null);
|
|
||||||
calculationStore.setOptions('selectCalcDoubleAgent', []);
|
|
||||||
calculationStore.setValue('calcDoubleAgent', null);
|
|
||||||
calculationStore.setOptions('selectCalcBroker', []);
|
|
||||||
calculationStore.setValue('calcBroker', null);
|
|
||||||
calculationStore.setOptions('selectCalcFinDepartment', []);
|
|
||||||
calculationStore.setValue('calcFinDepartment', null);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,126 +67,10 @@ export default [
|
|||||||
calculationStore.setValue('quote', null);
|
calculationStore.setValue('quote', null);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lead?.evo_agent_accountid) {
|
fillIndAgent.call(calculationStore, lead);
|
||||||
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
fillCalcDoubleAgent.call(calculationStore, lead);
|
||||||
query: gql`
|
fillCalcBroker.call(calculationStore, lead);
|
||||||
query selectIndAgent($evo_agent_accountid: Uuid!) {
|
fillFinDepartment.call(calculationStore, lead);
|
||||||
accountOptions: account(accountid: $evo_agent_accountid) {
|
|
||||||
accountid
|
|
||||||
name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`,
|
|
||||||
variables: {
|
|
||||||
evo_agent_accountid: lead.evo_agent_accountid,
|
|
||||||
},
|
|
||||||
}).then(({ accountOptions }) => {
|
|
||||||
if (accountOptions && accountOptions.length > 0) {
|
|
||||||
calculationStore.setOptions('selectIndAgent', accountOptions);
|
|
||||||
calculationStore.setValue('indAgent', accountOptions[0].accountid);
|
|
||||||
} else {
|
|
||||||
calculationStore.setValue('indAgent', null);
|
|
||||||
calculationStore.setOptions('selectIndAgent', []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
calculationStore.setValue('indAgent', null);
|
|
||||||
calculationStore.setOptions('selectIndAgent', []);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lead?.evo_double_agent_accountid) {
|
|
||||||
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
|
||||||
query: gql`
|
|
||||||
query selectCalcDoubleAgent($evo_double_agent_accountid: Uuid!) {
|
|
||||||
accountOptions: account(accountid: $evo_double_agent_accountid) {
|
|
||||||
accountid
|
|
||||||
name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`,
|
|
||||||
variables: {
|
|
||||||
evo_double_agent_accountid: lead.evo_double_agent_accountid,
|
|
||||||
},
|
|
||||||
}).then(({ accountOptions }) => {
|
|
||||||
if (accountOptions && accountOptions.length > 0) {
|
|
||||||
calculationStore.setOptions(
|
|
||||||
'selectCalcDoubleAgent',
|
|
||||||
accountOptions,
|
|
||||||
);
|
|
||||||
calculationStore.setValue(
|
|
||||||
'calcDoubleAgent',
|
|
||||||
accountOptions[0].accountid,
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
calculationStore.setValue('calcDoubleAgent', null);
|
|
||||||
calculationStore.setOptions('selectCalcDoubleAgent', []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
calculationStore.setValue('calcDoubleAgent', null);
|
|
||||||
calculationStore.setOptions('selectCalcDoubleAgent', []);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lead?.evo_broker_accountid) {
|
|
||||||
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
|
||||||
query: gql`
|
|
||||||
query selectCalcBroker($evo_broker_accountid: Uuid!) {
|
|
||||||
accountOptions: account(accountid: $evo_broker_accountid) {
|
|
||||||
accountid
|
|
||||||
name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`,
|
|
||||||
variables: {
|
|
||||||
evo_broker_accountid: lead.evo_broker_accountid,
|
|
||||||
},
|
|
||||||
}).then(({ accountOptions }) => {
|
|
||||||
if (accountOptions && accountOptions.length > 0) {
|
|
||||||
calculationStore.setOptions('selectCalcBroker', accountOptions);
|
|
||||||
calculationStore.setValue(
|
|
||||||
'calcBroker',
|
|
||||||
accountOptions[0].accountid,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
calculationStore.setValue('calcBroker', null);
|
|
||||||
calculationStore.setOptions('selectCalcBroker', []);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lead?.evo_fin_department_accountid) {
|
|
||||||
CrmService.getCRMOptions<'accountOptions', IAccount>({
|
|
||||||
query: gql`
|
|
||||||
query selectCalcFinDepartment(
|
|
||||||
$evo_fin_department_accountid: Uuid!
|
|
||||||
) {
|
|
||||||
accountOptions: account(
|
|
||||||
accountid: $evo_fin_department_accountid
|
|
||||||
) {
|
|
||||||
accountid
|
|
||||||
name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`,
|
|
||||||
variables: {
|
|
||||||
evo_fin_department_accountid: lead.evo_fin_department_accountid,
|
|
||||||
},
|
|
||||||
}).then(({ accountOptions }) => {
|
|
||||||
if (accountOptions && accountOptions.length > 0) {
|
|
||||||
calculationStore.setOptions(
|
|
||||||
'selectCalcFinDepartment',
|
|
||||||
accountOptions,
|
|
||||||
);
|
|
||||||
calculationStore.setValue(
|
|
||||||
'calcFinDepartment',
|
|
||||||
accountOptions[0].accountid,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
calculationStore.setValue('calcFinDepartment', null);
|
|
||||||
calculationStore.setOptions('selectCalcFinDepartment', []);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@ -303,6 +185,13 @@ export default [
|
|||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
evo_agency_agreementid
|
evo_agency_agreementid
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
@ -369,6 +258,13 @@ export default [
|
|||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
evo_agency_agreementid
|
evo_agency_agreementid
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
@ -437,6 +333,13 @@ export default [
|
|||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
evo_agency_agreementid
|
evo_agency_agreementid
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
@ -503,6 +406,13 @@ export default [
|
|||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
evo_agency_agreementid
|
evo_agency_agreementid
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
@ -681,6 +591,13 @@ export default [
|
|||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
evo_agency_agreementid
|
evo_agency_agreementid
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
@ -704,6 +621,7 @@ export default [
|
|||||||
'selectDealerBrokerRewardCondition',
|
'selectDealerBrokerRewardCondition',
|
||||||
ElementStatus.Disabled,
|
ElementStatus.Disabled,
|
||||||
);
|
);
|
||||||
|
calculationStore.setOptions('selectDealerBrokerRewardCondition', []);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
options: {
|
options: {
|
||||||
@ -746,6 +664,13 @@ export default [
|
|||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
evo_agency_agreementid
|
evo_agency_agreementid
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
@ -770,6 +695,7 @@ export default [
|
|||||||
'selectDealerRewardCondition',
|
'selectDealerRewardCondition',
|
||||||
ElementStatus.Disabled,
|
ElementStatus.Disabled,
|
||||||
);
|
);
|
||||||
|
calculationStore.setOptions('selectDealerRewardCondition', []);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
options: {
|
options: {
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import leasebackReactions from 'client/process/agents/leaseback';
|
import leasebackReactions from 'client/process/agents/leaseback';
|
||||||
|
import agentsReactions from 'client/process/agents/reactions';
|
||||||
import injectBonusesReaction from 'client/process/bonuses/reactions';
|
import injectBonusesReaction from 'client/process/bonuses/reactions';
|
||||||
import { injectConfiguratorReactions } from 'client/process/configurator/reactions';
|
import { injectConfiguratorReactions } from 'client/process/configurator/reactions';
|
||||||
import { injectFinGapReactions } from 'client/process/fingap/reactions';
|
import { injectFinGapReactions } from 'client/process/fingap/reactions';
|
||||||
@ -44,6 +45,7 @@ injectUsedWhthVATReactions(CalculationStore);
|
|||||||
injectConfiguratorReactions(CalculationStore);
|
injectConfiguratorReactions(CalculationStore);
|
||||||
injectSubsidyReactions(CalculationStore);
|
injectSubsidyReactions(CalculationStore);
|
||||||
injectBonusesReaction(CalculationStore);
|
injectBonusesReaction(CalculationStore);
|
||||||
|
agentsReactions(CalculationStore);
|
||||||
leasebackReactions(CalculationStore);
|
leasebackReactions(CalculationStore);
|
||||||
|
|
||||||
whenEffects.map(whenEffectBuilder => {
|
whenEffects.map(whenEffectBuilder => {
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
export const MAX_FRANCHISE = 75000;
|
export const MAX_FRANCHISE = 75000;
|
||||||
export const MAX_INSURANCE = 2500000;
|
export const MAX_INSURANCE = 3000000;
|
||||||
export const MIN_INSURANCE = 3000;
|
export const MIN_INSURANCE = 3000;
|
||||||
|
|||||||
@ -43,16 +43,22 @@ fragment quoteFields on quote {
|
|||||||
evo_double_agent_accountid
|
evo_double_agent_accountid
|
||||||
evo_dealer_reward_conditionid
|
evo_dealer_reward_conditionid
|
||||||
evo_dealer_reward_total
|
evo_dealer_reward_total
|
||||||
|
evo_dealer_reward_summ
|
||||||
evo_dealer_broker_reward_conditionid
|
evo_dealer_broker_reward_conditionid
|
||||||
evo_dealer_broker_reward_total
|
evo_dealer_broker_reward_total
|
||||||
|
evo_dealer_broker_reward_summ
|
||||||
evo_agent_reward_conditionid
|
evo_agent_reward_conditionid
|
||||||
evo_agent_reward_total
|
evo_agent_reward_total
|
||||||
|
evo_agent_reward_summ
|
||||||
evo_double_agent_reward_conditionid
|
evo_double_agent_reward_conditionid
|
||||||
evo_double_agent_reward_total
|
evo_double_agent_reward_total
|
||||||
|
evo_double_agent_reward_summ
|
||||||
evo_broker_reward_conditionid
|
evo_broker_reward_conditionid
|
||||||
evo_broker_reward_total
|
evo_broker_reward_total
|
||||||
|
evo_broker_reward_summ
|
||||||
evo_fin_department_reward_conditionid
|
evo_fin_department_reward_conditionid
|
||||||
evo_fin_department_reward_total
|
evo_fin_department_reward_total
|
||||||
|
evo_fin_department_reward_summ
|
||||||
evo_broker_accountid
|
evo_broker_accountid
|
||||||
evo_fin_department_accountid
|
evo_fin_department_accountid
|
||||||
|
|
||||||
|
|||||||
@ -59,6 +59,13 @@ query GetMainOptionsForKP(
|
|||||||
evo_name
|
evo_name
|
||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
selectDealerBrokerRewardCondition: evo_reward_conditions(
|
selectDealerBrokerRewardCondition: evo_reward_conditions(
|
||||||
evo_agent_accountid: $dealer_broker_accountid
|
evo_agent_accountid: $dealer_broker_accountid
|
||||||
@ -71,6 +78,13 @@ query GetMainOptionsForKP(
|
|||||||
evo_name
|
evo_name
|
||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
# selectIndAgentRewardCondition: evo_reward_conditions(
|
# selectIndAgentRewardCondition: evo_reward_conditions(
|
||||||
# evo_agent_accountid: $ind_agent_accountid
|
# evo_agent_accountid: $ind_agent_accountid
|
||||||
@ -96,6 +110,13 @@ query GetMainOptionsForKP(
|
|||||||
evo_name
|
evo_name
|
||||||
evo_reward_summ
|
evo_reward_summ
|
||||||
evo_reduce_reward
|
evo_reduce_reward
|
||||||
|
evo_agency_agreementidData {
|
||||||
|
evo_reward_without_other_agent
|
||||||
|
evo_required_reward
|
||||||
|
evo_leasingobject_price
|
||||||
|
}
|
||||||
|
evo_min_reward_summ
|
||||||
|
evo_calc_reward_rules
|
||||||
}
|
}
|
||||||
# calcBrokerRewardCondition: evo_reward_conditions(
|
# calcBrokerRewardCondition: evo_reward_conditions(
|
||||||
# evo_agent_accountid: $broker_accountid
|
# evo_agent_accountid: $broker_accountid
|
||||||
|
|||||||
@ -74,7 +74,7 @@ type Query {
|
|||||||
evo_client_types(statecode: Int): [evo_client_type]
|
evo_client_types(statecode: Int): [evo_client_type]
|
||||||
evo_coefficients(evo_client_riskid: Uuid, evo_client_typeid: Uuid, evo_corfficient_type: Int, evo_datefrom_param: DateParamInput, evo_dateto_param: DateParamInput, evo_job_titleid: Uuid, evo_max_period_param: DecimalParamInput, evo_min_period_param: DecimalParamInput, statecode: Int): [evo_coefficient]
|
evo_coefficients(evo_client_riskid: Uuid, evo_client_typeid: Uuid, evo_corfficient_type: Int, evo_datefrom_param: DateParamInput, evo_dateto_param: DateParamInput, evo_job_titleid: Uuid, evo_max_period_param: DecimalParamInput, evo_min_period_param: DecimalParamInput, statecode: Int): [evo_coefficient]
|
||||||
evo_contract(evo_contractid: Uuid!): evo_contract
|
evo_contract(evo_contractid: Uuid!): evo_contract
|
||||||
evo_contracts(evo_accountid: Uuid, evo_name: String, statecode: Int): [evo_contract]
|
evo_contracts(evo_accountid: Uuid, evo_name: String, orderby: OrderByInput, statecode: Int): [evo_contract]
|
||||||
evo_countries(evo_code_numeric: String): [evo_countryGraphQL]
|
evo_countries(evo_code_numeric: String): [evo_countryGraphQL]
|
||||||
evo_country(evo_countryid: Uuid!): evo_countryGraphQL
|
evo_country(evo_countryid: Uuid!): evo_countryGraphQL
|
||||||
evo_currencychanges(evo_coursedate_param: DateParamInput, evo_ref_transactioncurrency: Uuid, statecode: Int): [evo_currencychange]
|
evo_currencychanges(evo_coursedate_param: DateParamInput, evo_ref_transactioncurrency: Uuid, statecode: Int): [evo_currencychange]
|
||||||
@ -108,6 +108,7 @@ type Query {
|
|||||||
|
|
||||||
"""Регион. statecode по умолчанию 0"""
|
"""Регион. statecode по умолчанию 0"""
|
||||||
evo_regions(evo_businessunit_evolution: Boolean, evo_creditregistry_id: Int, statecode: Int): [evo_region]
|
evo_regions(evo_businessunit_evolution: Boolean, evo_creditregistry_id: Int, statecode: Int): [evo_region]
|
||||||
|
evo_request_client(evo_request_clientid: Uuid!): evo_request_client
|
||||||
evo_request_payment(evo_request_paymentid: Uuid!): evo_request_payment
|
evo_request_payment(evo_request_paymentid: Uuid!): evo_request_payment
|
||||||
evo_request_payments(evo_id: String, evo_name: String, statecode: Int): [evo_request_payment]
|
evo_request_payments(evo_id: String, evo_name: String, statecode: Int): [evo_request_payment]
|
||||||
evo_reward_condition(evo_reward_conditionid: Uuid!): evo_reward_condition
|
evo_reward_condition(evo_reward_conditionid: Uuid!): evo_reward_condition
|
||||||
@ -168,15 +169,24 @@ type Mutation {
|
|||||||
by(systemuserid: Uuid): MutationBy
|
by(systemuserid: Uuid): MutationBy
|
||||||
}
|
}
|
||||||
|
|
||||||
type evo_subject_incident {
|
type evo_request_client {
|
||||||
createdon: DateTime
|
createdon: DateTime
|
||||||
evo_group: Int
|
evo_accountid: Uuid
|
||||||
evo_groupname: String
|
evo_accountidData: account
|
||||||
evo_name: String
|
evo_caseorigincode: Int
|
||||||
evo_subjectid: Uuid
|
evo_caseorigincodename: String
|
||||||
evo_subject_incidentid: Uuid
|
evo_client_request_text: String
|
||||||
evo_type_incident: Int
|
evo_comment: String
|
||||||
evo_type_incidentname: String
|
evo_documents: [evo_document]
|
||||||
|
evo_number: String
|
||||||
|
evo_owner_systemuserid: Uuid
|
||||||
|
evo_owner_systemuseridData: systemuser
|
||||||
|
evo_phonecallid: Uuid
|
||||||
|
evo_request_clientid: Uuid
|
||||||
|
evo_statuscodeid: Uuid
|
||||||
|
evo_statuscodeidData: evo_statuscode
|
||||||
|
evo_storage: String
|
||||||
|
incidents: [incidentGraphQL]
|
||||||
link: String
|
link: String
|
||||||
modifiedon: DateTime
|
modifiedon: DateTime
|
||||||
toObjectString: String
|
toObjectString: String
|
||||||
@ -224,12 +234,30 @@ input GuidParamInput {
|
|||||||
"""The built-in `Decimal` scalar type."""
|
"""The built-in `Decimal` scalar type."""
|
||||||
scalar Decimal
|
scalar Decimal
|
||||||
|
|
||||||
|
type evo_subject_incident {
|
||||||
|
createdon: DateTime
|
||||||
|
evo_group: Int
|
||||||
|
evo_groupname: String
|
||||||
|
evo_name: String
|
||||||
|
evo_subjectid: Uuid
|
||||||
|
evo_subject_incidentid: Uuid
|
||||||
|
evo_type_incident: Int
|
||||||
|
evo_type_incidentname: String
|
||||||
|
link: String
|
||||||
|
modifiedon: DateTime
|
||||||
|
toObjectString: String
|
||||||
|
}
|
||||||
|
|
||||||
type incidentGraphQL {
|
type incidentGraphQL {
|
||||||
|
caseorigincode: Int
|
||||||
createdon: DateTime
|
createdon: DateTime
|
||||||
customerid: Uuid
|
customerid: Uuid
|
||||||
customerid_account: Uuid
|
customerid_account: Uuid
|
||||||
customerid_contact: Uuid
|
customerid_contact: Uuid
|
||||||
description: String
|
description: String
|
||||||
|
evo_accountid_new: Uuid
|
||||||
|
evo_cession_opportunityid: Uuid
|
||||||
|
evo_contracts: [evo_contract]
|
||||||
evo_fast_advice: Boolean
|
evo_fast_advice: Boolean
|
||||||
evo_plan_execut_date: DateTime
|
evo_plan_execut_date: DateTime
|
||||||
evo_statuscodeid: Uuid
|
evo_statuscodeid: Uuid
|
||||||
@ -244,7 +272,10 @@ type incidentGraphQL {
|
|||||||
modifiedon: DateTime
|
modifiedon: DateTime
|
||||||
ownerid: Uuid
|
ownerid: Uuid
|
||||||
owneridData: systemuser
|
owneridData: systemuser
|
||||||
|
ownerid_systemuser: Uuid
|
||||||
|
ownerid_team: Uuid
|
||||||
subjectid: Uuid
|
subjectid: Uuid
|
||||||
|
subjectidData: subjectGraphQL
|
||||||
ticketnumber: String
|
ticketnumber: String
|
||||||
title: String
|
title: String
|
||||||
toObjectString: String
|
toObjectString: String
|
||||||
@ -404,9 +435,11 @@ type account {
|
|||||||
evo_orglegalformid: Uuid
|
evo_orglegalformid: Uuid
|
||||||
evo_orglegalformidData: evo_orglegalform
|
evo_orglegalformidData: evo_orglegalform
|
||||||
evo_osago_with_kasko: Boolean
|
evo_osago_with_kasko: Boolean
|
||||||
|
evo_request_clients: [evo_request_client]
|
||||||
evo_return_leasing_dealer: Boolean
|
evo_return_leasing_dealer: Boolean
|
||||||
evo_smb_category: Int
|
evo_smb_category: Int
|
||||||
evo_smb_issue_date: DateTime
|
evo_smb_issue_date: DateTime
|
||||||
|
evo_special_accounting: Int
|
||||||
evo_state_actuality_date: DateTime
|
evo_state_actuality_date: DateTime
|
||||||
evo_state_liquidation_date: DateTime
|
evo_state_liquidation_date: DateTime
|
||||||
evo_state_registration_date: DateTime
|
evo_state_registration_date: DateTime
|
||||||
@ -417,6 +450,7 @@ type account {
|
|||||||
evo_tax_system: Int
|
evo_tax_system: Int
|
||||||
evo_type_ins_policy: [Int!]
|
evo_type_ins_policy: [Int!]
|
||||||
evo_unscrupulous_supplier: Boolean
|
evo_unscrupulous_supplier: Boolean
|
||||||
|
incidents: [incidentGraphQL]
|
||||||
link: String
|
link: String
|
||||||
modifiedon: DateTime
|
modifiedon: DateTime
|
||||||
name: String
|
name: String
|
||||||
@ -508,6 +542,7 @@ type evo_addproduct_type {
|
|||||||
evo_datefrom: DateTime
|
evo_datefrom: DateTime
|
||||||
evo_dateto: DateTime
|
evo_dateto: DateTime
|
||||||
evo_description: String
|
evo_description: String
|
||||||
|
evo_equipment_1_name: String
|
||||||
evo_equip_cost: Decimal
|
evo_equip_cost: Decimal
|
||||||
evo_gibdd_region: Boolean
|
evo_gibdd_region: Boolean
|
||||||
evo_graph_price: Decimal
|
evo_graph_price: Decimal
|
||||||
@ -591,6 +626,7 @@ type evo_insurance_period {
|
|||||||
evo_age_drivers: Int
|
evo_age_drivers: Int
|
||||||
evo_base_reward_factor: Decimal
|
evo_base_reward_factor: Decimal
|
||||||
evo_base_reward_rub: Decimal
|
evo_base_reward_rub: Decimal
|
||||||
|
evo_calc_dateend: DateTime
|
||||||
evo_change_insurer_accountid: Uuid
|
evo_change_insurer_accountid: Uuid
|
||||||
evo_close: Boolean
|
evo_close: Boolean
|
||||||
evo_comment: String
|
evo_comment: String
|
||||||
@ -666,17 +702,30 @@ type evo_addproduct {
|
|||||||
evo_addproductnumberidData: evo_addproductnumber
|
evo_addproductnumberidData: evo_addproductnumber
|
||||||
evo_addproduct_typeid: Uuid
|
evo_addproduct_typeid: Uuid
|
||||||
evo_addproduct_typeidData: evo_addproduct_type
|
evo_addproduct_typeidData: evo_addproduct_type
|
||||||
|
evo_contractid: Uuid
|
||||||
|
evo_cs_actualdate: DateTime
|
||||||
|
evo_date_instal: DateTime
|
||||||
|
evo_date_instal_cancel: DateTime
|
||||||
evo_deactivation_date: DateTime
|
evo_deactivation_date: DateTime
|
||||||
evo_fuel_card_currency_limit_check: Boolean
|
evo_fuel_card_currency_limit_check: Boolean
|
||||||
evo_fuel_card_limit_check: Boolean
|
evo_fuel_card_limit_check: Boolean
|
||||||
evo_fuel_card_limit_used: Decimal
|
evo_fuel_card_limit_used: Decimal
|
||||||
|
evo_id_request_instal: String
|
||||||
|
evo_issue_date_plan: DateTime
|
||||||
|
evo_issue_owner_salon: String
|
||||||
|
evo_issue_tel_salon: String
|
||||||
evo_leasingobjectid: Uuid
|
evo_leasingobjectid: Uuid
|
||||||
evo_name: String
|
evo_name: String
|
||||||
evo_provider_accountid: Uuid
|
evo_provider_accountid: Uuid
|
||||||
evo_provider_accountidData: account
|
evo_provider_accountidData: account
|
||||||
|
evo_provider_contact_info: String
|
||||||
|
evo_provider_phone_number: String
|
||||||
evo_request_instal_message: String
|
evo_request_instal_message: String
|
||||||
|
evo_request_instal_path: String
|
||||||
evo_service_contactid: Uuid
|
evo_service_contactid: Uuid
|
||||||
|
evo_setting_date: DateTime
|
||||||
evo_telematics_number: String
|
evo_telematics_number: String
|
||||||
|
evo_telematics_pin: String
|
||||||
evo_validity_from: DateTime
|
evo_validity_from: DateTime
|
||||||
modifiedon: DateTime
|
modifiedon: DateTime
|
||||||
toObjectString: String
|
toObjectString: String
|
||||||
@ -862,6 +911,7 @@ type lead {
|
|||||||
evo_new_client: String
|
evo_new_client: String
|
||||||
evo_opportunityid: Uuid
|
evo_opportunityid: Uuid
|
||||||
evo_opportunityidData: opportunity
|
evo_opportunityidData: opportunity
|
||||||
|
evo_scheduled_callid: Uuid
|
||||||
evo_statuscodeid: Uuid
|
evo_statuscodeid: Uuid
|
||||||
evo_supplier_accountid: Uuid
|
evo_supplier_accountid: Uuid
|
||||||
evo_utm_campaign: String
|
evo_utm_campaign: String
|
||||||
@ -870,6 +920,7 @@ type lead {
|
|||||||
evo_utm_source: String
|
evo_utm_source: String
|
||||||
evo_utm_term: String
|
evo_utm_term: String
|
||||||
fullname: String
|
fullname: String
|
||||||
|
jobtitle: String
|
||||||
leadid: Uuid
|
leadid: Uuid
|
||||||
leadsourcecode: Int
|
leadsourcecode: Int
|
||||||
link: String
|
link: String
|
||||||
@ -896,6 +947,7 @@ type opportunity {
|
|||||||
evo_all_credit_evoprofi: Decimal
|
evo_all_credit_evoprofi: Decimal
|
||||||
evo_all_credit_evosmart: Decimal
|
evo_all_credit_evosmart: Decimal
|
||||||
evo_approvallogs: [evo_approvallog]
|
evo_approvallogs: [evo_approvallog]
|
||||||
|
evo_assignor_accountid: Uuid
|
||||||
evo_businessunitid: Uuid
|
evo_businessunitid: Uuid
|
||||||
evo_businessunitidData: businessunit
|
evo_businessunitidData: businessunit
|
||||||
evo_check_type: [Int!]
|
evo_check_type: [Int!]
|
||||||
@ -1416,10 +1468,13 @@ type evo_scheduled_call {
|
|||||||
createdon: DateTime
|
createdon: DateTime
|
||||||
evo_accountid: Uuid
|
evo_accountid: Uuid
|
||||||
evo_channel: String
|
evo_channel: String
|
||||||
|
evo_comment: String
|
||||||
evo_company_name: String
|
evo_company_name: String
|
||||||
|
evo_contact_jobtitle: String
|
||||||
evo_contact_lastname: String
|
evo_contact_lastname: String
|
||||||
evo_contact_name: String
|
evo_contact_name: String
|
||||||
evo_inn: String
|
evo_inn: String
|
||||||
|
evo_leadid: Uuid
|
||||||
evo_name: String
|
evo_name: String
|
||||||
evo_note: String
|
evo_note: String
|
||||||
evo_scheduled_callid: Uuid
|
evo_scheduled_callid: Uuid
|
||||||
@ -1576,6 +1631,7 @@ type evo_contract {
|
|||||||
evo_contract_status_1cname: String
|
evo_contract_status_1cname: String
|
||||||
evo_contract_status_change_date_in_crm: DateTime
|
evo_contract_status_change_date_in_crm: DateTime
|
||||||
evo_contract_status_date_1c: DateTime
|
evo_contract_status_date_1c: DateTime
|
||||||
|
evo_cre_uuid: String
|
||||||
evo_dateend: DateTime
|
evo_dateend: DateTime
|
||||||
evo_date_of_pledge_claim: DateTime
|
evo_date_of_pledge_claim: DateTime
|
||||||
evo_date_of_pledge_leasobject: DateTime
|
evo_date_of_pledge_leasobject: DateTime
|
||||||
@ -1608,6 +1664,7 @@ type evo_contract {
|
|||||||
evo_discount_supplier_currency: Decimal
|
evo_discount_supplier_currency: Decimal
|
||||||
evo_docdate: DateTime
|
evo_docdate: DateTime
|
||||||
evo_docdate_dkp: DateTime
|
evo_docdate_dkp: DateTime
|
||||||
|
evo_documents: [evo_document]
|
||||||
evo_dogovortype: Int
|
evo_dogovortype: Int
|
||||||
evo_dog_credit: Decimal
|
evo_dog_credit: Decimal
|
||||||
evo_double_agent_accountid: Uuid
|
evo_double_agent_accountid: Uuid
|
||||||
@ -1642,6 +1699,7 @@ type evo_contract {
|
|||||||
evo_first_payment_rub: Decimal
|
evo_first_payment_rub: Decimal
|
||||||
evo_first_payment_rub_without_subsidy: Decimal
|
evo_first_payment_rub_without_subsidy: Decimal
|
||||||
evo_forwarder_contactid: Uuid
|
evo_forwarder_contactid: Uuid
|
||||||
|
evo_for_export_cre: Boolean
|
||||||
evo_fuel_card_addproductid: Uuid
|
evo_fuel_card_addproductid: Uuid
|
||||||
evo_fuel_card_addproduct_typeid: Uuid
|
evo_fuel_card_addproduct_typeid: Uuid
|
||||||
evo_graphs(statecode: Int): [evo_graph]
|
evo_graphs(statecode: Int): [evo_graph]
|
||||||
@ -1659,6 +1717,9 @@ type evo_contract {
|
|||||||
evo_issue_date_buh: DateTime
|
evo_issue_date_buh: DateTime
|
||||||
evo_issue_place_addressid: Uuid
|
evo_issue_place_addressid: Uuid
|
||||||
evo_issue_without_pay: Boolean
|
evo_issue_without_pay: Boolean
|
||||||
|
evo_issue_without_pay_comm: String
|
||||||
|
evo_last_formation_cre_date: DateTime
|
||||||
|
evo_last_formation_cre_status: Int
|
||||||
evo_last_payment_redemption: Boolean
|
evo_last_payment_redemption: Boolean
|
||||||
evo_leasingobjectid: Uuid
|
evo_leasingobjectid: Uuid
|
||||||
evo_leasingobjectidData: evo_leasingobject
|
evo_leasingobjectidData: evo_leasingobject
|
||||||
@ -1994,6 +2055,7 @@ type evo_address {
|
|||||||
evo_federal_district: String
|
evo_federal_district: String
|
||||||
evo_fias: Boolean
|
evo_fias: Boolean
|
||||||
evo_fias_code: String
|
evo_fias_code: String
|
||||||
|
evo_fias_id: String
|
||||||
evo_fias_level: Int
|
evo_fias_level: Int
|
||||||
evo_flat: String
|
evo_flat: String
|
||||||
evo_flat_type: String
|
evo_flat_type: String
|
||||||
@ -2004,6 +2066,8 @@ type evo_address {
|
|||||||
evo_house_fias_id: String
|
evo_house_fias_id: String
|
||||||
evo_house_type: String
|
evo_house_type: String
|
||||||
evo_house_type_full: String
|
evo_house_type_full: String
|
||||||
|
evo_okato: String
|
||||||
|
evo_oktmo: String
|
||||||
evo_postal_box: String
|
evo_postal_box: String
|
||||||
evo_postal_code: String
|
evo_postal_code: String
|
||||||
evo_region: String
|
evo_region: String
|
||||||
@ -2031,9 +2095,12 @@ type systemuser {
|
|||||||
businessunitid: Uuid
|
businessunitid: Uuid
|
||||||
businessunitidData: businessunit
|
businessunitidData: businessunit
|
||||||
createdon: DateTime
|
createdon: DateTime
|
||||||
|
defaultmailbox: Uuid
|
||||||
domainname: String
|
domainname: String
|
||||||
|
evo_available_assignment_director: Boolean
|
||||||
evo_baseproducts(statecode: Int): [evo_baseproduct]
|
evo_baseproducts(statecode: Int): [evo_baseproduct]
|
||||||
evo_callrecords_access: Boolean
|
evo_callrecords_access: Boolean
|
||||||
|
evo_can_export_cre: Boolean
|
||||||
evo_can_import_sheduled_calls: Boolean
|
evo_can_import_sheduled_calls: Boolean
|
||||||
evo_datebirth: DateTime
|
evo_datebirth: DateTime
|
||||||
evo_employee_id: String
|
evo_employee_id: String
|
||||||
@ -2122,6 +2189,7 @@ type evo_agency_agreement {
|
|||||||
evo_agent_accountid: Uuid
|
evo_agent_accountid: Uuid
|
||||||
evo_agent_accountidData: account
|
evo_agent_accountidData: account
|
||||||
evo_agent_type: Int
|
evo_agent_type: Int
|
||||||
|
evo_agreement_date: DateTime
|
||||||
evo_bank_detailsid: Uuid
|
evo_bank_detailsid: Uuid
|
||||||
evo_boss_comment: String
|
evo_boss_comment: String
|
||||||
evo_boss_decision: Int
|
evo_boss_decision: Int
|
||||||
@ -2139,12 +2207,14 @@ type evo_agency_agreement {
|
|||||||
evo_name: String
|
evo_name: String
|
||||||
evo_new_version: Boolean
|
evo_new_version: Boolean
|
||||||
evo_number: Int
|
evo_number: Int
|
||||||
|
evo_pay_period: Int
|
||||||
evo_region_director_comment: String
|
evo_region_director_comment: String
|
||||||
evo_region_director_decision: Int
|
evo_region_director_decision: Int
|
||||||
evo_required_reward: Boolean
|
evo_required_reward: Boolean
|
||||||
evo_reward_without_other_agent: Boolean
|
evo_reward_without_other_agent: Boolean
|
||||||
evo_select_lp: Boolean
|
evo_select_lp: Boolean
|
||||||
evo_select_vin: Boolean
|
evo_select_vin: Boolean
|
||||||
|
evo_service_period: Int
|
||||||
evo_signer_systemuserid: Uuid
|
evo_signer_systemuserid: Uuid
|
||||||
evo_statuscodeid: Uuid
|
evo_statuscodeid: Uuid
|
||||||
evo_storage: String
|
evo_storage: String
|
||||||
@ -2178,6 +2248,7 @@ type evo_addcontract {
|
|||||||
evo_add_bonus_summ: Decimal
|
evo_add_bonus_summ: Decimal
|
||||||
evo_add_director_bonus: Decimal
|
evo_add_director_bonus: Decimal
|
||||||
evo_add_region_director_bonus: Decimal
|
evo_add_region_director_bonus: Decimal
|
||||||
|
evo_agent_reward: Decimal
|
||||||
evo_agent_reward_summ: Decimal
|
evo_agent_reward_summ: Decimal
|
||||||
evo_age_drivers: Int
|
evo_age_drivers: Int
|
||||||
evo_age_drivers_new: Int
|
evo_age_drivers_new: Int
|
||||||
@ -2192,6 +2263,7 @@ type evo_addcontract {
|
|||||||
evo_base_bonus: Decimal
|
evo_base_bonus: Decimal
|
||||||
evo_base_calc_pay: Decimal
|
evo_base_calc_pay: Decimal
|
||||||
evo_base_new: String
|
evo_base_new: String
|
||||||
|
evo_broker_reward: Decimal
|
||||||
evo_broker_reward_summ: Decimal
|
evo_broker_reward_summ: Decimal
|
||||||
evo_businessunitid: Uuid
|
evo_businessunitid: Uuid
|
||||||
evo_calculation_method: Int
|
evo_calculation_method: Int
|
||||||
@ -2221,6 +2293,7 @@ type evo_addcontract {
|
|||||||
evo_date_addcontract: DateTime
|
evo_date_addcontract: DateTime
|
||||||
evo_date_calculation_done: DateTime
|
evo_date_calculation_done: DateTime
|
||||||
evo_date_offset_change: Boolean
|
evo_date_offset_change: Boolean
|
||||||
|
evo_date_offset_type: Int
|
||||||
evo_deadline_date: DateTime
|
evo_deadline_date: DateTime
|
||||||
evo_dealer_broker_accountid: Uuid
|
evo_dealer_broker_accountid: Uuid
|
||||||
evo_dealer_broker_accountid_new: Uuid
|
evo_dealer_broker_accountid_new: Uuid
|
||||||
@ -2240,6 +2313,7 @@ type evo_addcontract {
|
|||||||
evo_dealer_person_reward_summ_new: Decimal
|
evo_dealer_person_reward_summ_new: Decimal
|
||||||
evo_deviation_investments_withoutnds: Decimal
|
evo_deviation_investments_withoutnds: Decimal
|
||||||
evo_deviation_irr: Decimal
|
evo_deviation_irr: Decimal
|
||||||
|
evo_deviation_irr_change: Boolean
|
||||||
evo_dgo_price: Decimal
|
evo_dgo_price: Decimal
|
||||||
evo_dgo_price_new: Decimal
|
evo_dgo_price_new: Decimal
|
||||||
evo_director_bonus: Decimal
|
evo_director_bonus: Decimal
|
||||||
@ -2249,6 +2323,7 @@ type evo_addcontract {
|
|||||||
evo_discount_supplier_currency_new: Decimal
|
evo_discount_supplier_currency_new: Decimal
|
||||||
evo_dog_credit: Decimal
|
evo_dog_credit: Decimal
|
||||||
evo_dog_credit_new: Decimal
|
evo_dog_credit_new: Decimal
|
||||||
|
evo_double_agent_reward: Decimal
|
||||||
evo_double_agent_reward_summ: Decimal
|
evo_double_agent_reward_summ: Decimal
|
||||||
evo_driving_axle: String
|
evo_driving_axle: String
|
||||||
evo_driving_axle_new: String
|
evo_driving_axle_new: String
|
||||||
@ -2276,8 +2351,10 @@ type evo_addcontract {
|
|||||||
evo_equip_price_new: Decimal
|
evo_equip_price_new: Decimal
|
||||||
evo_exp_drivers: Int
|
evo_exp_drivers: Int
|
||||||
evo_exp_drivers_new: Int
|
evo_exp_drivers_new: Int
|
||||||
|
evo_fin_department_reward: Decimal
|
||||||
evo_fin_department_reward_conditionid: Uuid
|
evo_fin_department_reward_conditionid: Uuid
|
||||||
evo_fin_department_reward_conditionid_new: Uuid
|
evo_fin_department_reward_conditionid_new: Uuid
|
||||||
|
evo_fin_department_reward_new: Decimal
|
||||||
evo_fin_department_reward_summ: Decimal
|
evo_fin_department_reward_summ: Decimal
|
||||||
evo_fin_department_reward_summ_new: Decimal
|
evo_fin_department_reward_summ_new: Decimal
|
||||||
evo_fix_last_payment: Boolean
|
evo_fix_last_payment: Boolean
|
||||||
@ -2288,6 +2365,7 @@ type evo_addcontract {
|
|||||||
evo_graph_irr: Decimal
|
evo_graph_irr: Decimal
|
||||||
evo_importer_reward_rub: Decimal
|
evo_importer_reward_rub: Decimal
|
||||||
evo_insurance_change: Boolean
|
evo_insurance_change: Boolean
|
||||||
|
evo_insurance_checking: Boolean
|
||||||
evo_insurance_period: Int
|
evo_insurance_period: Int
|
||||||
evo_insurance_period_new: Int
|
evo_insurance_period_new: Int
|
||||||
evo_insurance_price_result: Decimal
|
evo_insurance_price_result: Decimal
|
||||||
@ -2536,6 +2614,7 @@ type evo_typedocpackage {
|
|||||||
evo_name: String
|
evo_name: String
|
||||||
evo_opportunity: Boolean
|
evo_opportunity: Boolean
|
||||||
evo_programsolution: [Int!]
|
evo_programsolution: [Int!]
|
||||||
|
evo_request_client: Boolean
|
||||||
evo_request_payment: Boolean
|
evo_request_payment: Boolean
|
||||||
evo_typedocpackageid: Uuid
|
evo_typedocpackageid: Uuid
|
||||||
modifiedon: DateTime
|
modifiedon: DateTime
|
||||||
@ -2551,45 +2630,6 @@ type MutationBy {
|
|||||||
updateEntity(data: EntityDataInput): Boolean!
|
updateEntity(data: EntityDataInput): Boolean!
|
||||||
}
|
}
|
||||||
|
|
||||||
"""The `DateTime` scalar represents an ISO-8601 compliant date time type."""
|
|
||||||
scalar DateTime
|
|
||||||
|
|
||||||
enum SortingType {
|
|
||||||
DESC
|
|
||||||
ASC
|
|
||||||
}
|
|
||||||
|
|
||||||
input FilterInput {
|
|
||||||
fieldname: String
|
|
||||||
guidvalues: [Uuid]
|
|
||||||
intvalues: [Int!]
|
|
||||||
operation: FilterOperation!
|
|
||||||
stringvalues: [String]
|
|
||||||
}
|
|
||||||
|
|
||||||
enum LogicOperation {
|
|
||||||
AND
|
|
||||||
OR
|
|
||||||
}
|
|
||||||
|
|
||||||
type picklist {
|
|
||||||
name: String
|
|
||||||
values: [picklist_value]
|
|
||||||
}
|
|
||||||
|
|
||||||
type businessunit {
|
|
||||||
businessunitid: Uuid
|
|
||||||
createdon: DateTime
|
|
||||||
evo_addressid: Uuid
|
|
||||||
evo_boss_systemuserid: Uuid
|
|
||||||
evo_director_systemuserid: Uuid
|
|
||||||
evo_region_director_systgemuserid: Uuid
|
|
||||||
evo_region_director_systgemuseridname: String
|
|
||||||
modifiedon: DateTime
|
|
||||||
name: String
|
|
||||||
toObjectString: String
|
|
||||||
}
|
|
||||||
|
|
||||||
type evo_document {
|
type evo_document {
|
||||||
createdon: DateTime
|
createdon: DateTime
|
||||||
evo_accountid: Uuid
|
evo_accountid: Uuid
|
||||||
@ -2617,6 +2657,53 @@ type evo_document {
|
|||||||
toObjectString: String
|
toObjectString: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"""The `DateTime` scalar represents an ISO-8601 compliant date time type."""
|
||||||
|
scalar DateTime
|
||||||
|
|
||||||
|
enum SortingType {
|
||||||
|
DESC
|
||||||
|
ASC
|
||||||
|
}
|
||||||
|
|
||||||
|
input FilterInput {
|
||||||
|
fieldname: String
|
||||||
|
guidvalues: [Uuid]
|
||||||
|
intvalues: [Int!]
|
||||||
|
operation: FilterOperation!
|
||||||
|
stringvalues: [String]
|
||||||
|
}
|
||||||
|
|
||||||
|
enum LogicOperation {
|
||||||
|
AND
|
||||||
|
OR
|
||||||
|
}
|
||||||
|
|
||||||
|
type subjectGraphQL {
|
||||||
|
createdon: DateTime
|
||||||
|
modifiedon: DateTime
|
||||||
|
subjectid: Uuid
|
||||||
|
title: String
|
||||||
|
toObjectString: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type picklist {
|
||||||
|
name: String
|
||||||
|
values: [picklist_value]
|
||||||
|
}
|
||||||
|
|
||||||
|
type businessunit {
|
||||||
|
businessunitid: Uuid
|
||||||
|
createdon: DateTime
|
||||||
|
evo_addressid: Uuid
|
||||||
|
evo_boss_systemuserid: Uuid
|
||||||
|
evo_director_systemuserid: Uuid
|
||||||
|
evo_region_director_systgemuserid: Uuid
|
||||||
|
evo_region_director_systgemuseridname: String
|
||||||
|
modifiedon: DateTime
|
||||||
|
name: String
|
||||||
|
toObjectString: String
|
||||||
|
}
|
||||||
|
|
||||||
type team {
|
type team {
|
||||||
createdon: DateTime
|
createdon: DateTime
|
||||||
evo_baseproducts(statecode: Int): [evo_baseproduct]
|
evo_baseproducts(statecode: Int): [evo_baseproduct]
|
||||||
@ -2731,24 +2818,6 @@ type Entity {
|
|||||||
logical_name: String
|
logical_name: String
|
||||||
}
|
}
|
||||||
|
|
||||||
enum FilterOperation {
|
|
||||||
ISNULL
|
|
||||||
EQUAL
|
|
||||||
CONTAINS
|
|
||||||
NOTCONTAINS
|
|
||||||
MORETHEN
|
|
||||||
MOREOREQUALTHEN
|
|
||||||
LESSTHEN
|
|
||||||
LESSOREQUALTHEN
|
|
||||||
}
|
|
||||||
|
|
||||||
type picklist_value {
|
|
||||||
color: String
|
|
||||||
label: String
|
|
||||||
order: Int!
|
|
||||||
value: Int!
|
|
||||||
}
|
|
||||||
|
|
||||||
type evo_documenttype {
|
type evo_documenttype {
|
||||||
createdon: DateTime
|
createdon: DateTime
|
||||||
evo_comment: String
|
evo_comment: String
|
||||||
@ -2767,6 +2836,24 @@ type evo_documenttype {
|
|||||||
toObjectString: String
|
toObjectString: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum FilterOperation {
|
||||||
|
ISNULL
|
||||||
|
EQUAL
|
||||||
|
CONTAINS
|
||||||
|
NOTCONTAINS
|
||||||
|
MORETHEN
|
||||||
|
MOREOREQUALTHEN
|
||||||
|
LESSTHEN
|
||||||
|
LESSOREQUALTHEN
|
||||||
|
}
|
||||||
|
|
||||||
|
type picklist_value {
|
||||||
|
color: String
|
||||||
|
label: String
|
||||||
|
order: Int!
|
||||||
|
value: Int!
|
||||||
|
}
|
||||||
|
|
||||||
input EntityFieldInput {
|
input EntityFieldInput {
|
||||||
activitypartiesvalue: [activitypartyInput]
|
activitypartiesvalue: [activitypartyInput]
|
||||||
boolvalue: Boolean
|
boolvalue: Boolean
|
||||||
|
|||||||
@ -104,7 +104,7 @@ export interface IOpportunity extends BaseEntity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface IQuote extends BaseEntity {
|
export interface IQuote extends BaseEntity {
|
||||||
evo_vin: string;
|
evo_vin?: string;
|
||||||
evo_seasons_type?: number;
|
evo_seasons_type?: number;
|
||||||
evo_engine_hours?: number;
|
evo_engine_hours?: number;
|
||||||
evo_client_riskid?: string;
|
evo_client_riskid?: string;
|
||||||
@ -166,6 +166,7 @@ export interface IQuote extends BaseEntity {
|
|||||||
evo_agent_accountid?: string;
|
evo_agent_accountid?: string;
|
||||||
evo_agent_reward_conditionid?: string;
|
evo_agent_reward_conditionid?: string;
|
||||||
evo_agent_reward_total?: number;
|
evo_agent_reward_total?: number;
|
||||||
|
evo_agent_reward_summ?: number;
|
||||||
evo_broker_accountid?: string;
|
evo_broker_accountid?: string;
|
||||||
evo_fin_department_reward_total?: number;
|
evo_fin_department_reward_total?: number;
|
||||||
evo_fin_department_reward_conditionid?: string;
|
evo_fin_department_reward_conditionid?: string;
|
||||||
@ -278,6 +279,13 @@ export interface IEvoRewardCondition extends BaseEntity {
|
|||||||
evo_reward_summ?: number;
|
evo_reward_summ?: number;
|
||||||
evo_reduce_reward?: boolean;
|
evo_reduce_reward?: boolean;
|
||||||
evo_agency_agreementid?: string;
|
evo_agency_agreementid?: string;
|
||||||
|
evo_agency_agreementidData?: {
|
||||||
|
evo_reward_without_other_agent?: boolean;
|
||||||
|
evo_required_reward?: boolean;
|
||||||
|
evo_leasingobject_price?: number;
|
||||||
|
};
|
||||||
|
evo_min_reward_summ?: number;
|
||||||
|
evo_calc_reward_rules?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IEvoGPSBrand extends BaseEntity {
|
export interface IEvoGPSBrand extends BaseEntity {
|
||||||
|
|||||||
Reference in New Issue
Block a user