Merge branch 'development'

This commit is contained in:
vchikalkin 2023-03-02 11:12:09 +03:00
commit 1595629148
4 changed files with 52 additions and 1 deletions

View File

@ -305,6 +305,54 @@ const customConditions: Partial<Record<ElementsNames, ValidationCondition>> = {
'Согласно Агентскому договору с данным Финотделом обязательна выплата АВ. Заложите АВ в расчет',
};
},
// TODO: для нового калькулятора: валидация не на брэнд, а на агентские вознаграждения
selectBrand: calculationStore => {
const brand = calculationStore.getValue('brand');
const brand_max_perc =
calculationStore.getOption('selectBrand')?.evo_maximum_percentage_av;
const dealerRewardSumm = calculationStore.getValue('dealerRewardSumm');
const dealerBrokerRewardSumm = calculationStore.getValue(
'dealerBrokerRewardSumm',
);
const indAgentRewardSumm = calculationStore.getValue('indAgentRewardSumm');
const calcDoubleAgentRewardSumm = calculationStore.getValue(
'calcDoubleAgentRewardSumm',
);
const calcBrokerRewardSum = calculationStore.getValue(
'calcBrokerRewardSum',
);
const finDepartmentRewardSumm = calculationStore.getValue(
'finDepartmentRewardSumm',
);
if (!brand) {
return {
isValid: false,
message: 'Марка не заполнена',
};
} else if (
brand_max_perc &&
indAgentRewardSumm +
calcDoubleAgentRewardSumm +
dealerRewardSumm +
calcBrokerRewardSum +
dealerBrokerRewardSumm +
finDepartmentRewardSumm >
brand_max_perc
) {
return {
isValid: false,
message:
'В данном расчете АВ закладывается выше установленного максимума. Уменьшите размер АВ',
};
} else {
return {
isValid: true,
};
}
},
};
const elementsValidations: Partial<
@ -314,7 +362,7 @@ const elementsValidations: Partial<
selectProduct: CONDITIONS.IS_NULL,
selectSupplierCurrency: CONDITIONS.IS_NULL,
selectLeaseObjectType: CONDITIONS.IS_NULL,
selectBrand: CONDITIONS.IS_NULL,
// selectBrand: CONDITIONS.IS_NULL,
selectModel: CONDITIONS.IS_NULL,
selectLeaseObjectUseFor: CONDITIONS.IS_NULL,
selectDealer: CONDITIONS.IS_NULL,

View File

@ -56,6 +56,7 @@ query GetMainOptions(
evo_importer_reward_perc
evo_importer_reward_rub
evo_vehicle_type
evo_maximum_percentage_av
}
selectProduct: evo_baseproducts(
statecode: $statecode

View File

@ -1432,6 +1432,7 @@ type evo_brand {
evo_id: String
evo_importer_reward_perc: Decimal
evo_importer_reward_rub: Decimal
evo_maximum_percentage_av: Decimal
evo_name: String
evo_subsidies(statecode: Int): [evo_subsidy]
evo_vehicle_type: [Int!]

View File

@ -244,6 +244,7 @@ export interface IEvoBrand extends BaseEntity {
evo_importer_reward_perc?: number;
evo_importer_reward_rub?: number;
evo_vehicle_type?: number[];
evo_maximum_percentage_av?: number;
}
export interface IEvoModel extends BaseEntity {