From 5a020824570d786d5f2becb8a7c49430334d96e0 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Thu, 22 Sep 2022 17:06:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B5=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=B5=20=D0=B2=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B5=20?= =?UTF-8?q?=D0=A1=D1=82=D1=80=D0=B0=D1=85=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20"=D0=9B=D0=B8=D0=B7=D0=B8=D0=BD=D0=B3=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20=D0=9A=D0=90=D0=A1=D0=9A=D0=9E"=20(SelectLeasingWithou?= =?UTF-8?q?tKasko)=20-=20=D0=B8=20=D1=80=D0=B5=D0=B0=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D1=8E=20=D0=BD=D0=B0=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8E=20=D0=B2=D1=8B=D0=BF=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D1=8E=D1=89=D0=B5=D0=B3=D0=BE=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B8=D0=B7=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B5?= =?UTF-8?q?=D0=B9=20addproducttype,=20=D1=83=20=D0=BA=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D1=8B=D1=85:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Статус (evo_addproduct_type.statecode) = Активный (0) Тип продукта (evo_addproduct_type.evo_product_type) = Evo_КАСКО (100000007) Начало действия (evo_addproduct_type.evo_datefrom) меньше или равно текущей даты Окончание действия (evo_addproduct_type.evo_dateto) больше или равно текущей даты Min срок лизинга (evo_addproduct_type.evo_min_period) меньше или равно значению из поля "Срок лизинга, мес" (tbxLeasingPeriod) Max срок лизинга (evo_addproduct_type.evo_max_period) больше или равно значению из поля "Срок лизинга, мес" (tbxLeasingPeriod) По связи evo_evo_addproduct_type_evo_leasingobject_typ связана с карточкой Типа предмета лизинга (evo_leasingobject_type),указанной в поле "Тип предмета лизинга" (selectLeaseObjectType) Max стоимость ПЛ (evo_addproduct_type.evo_max_price) больше или равно значению ([Стоимость ПЛ tbxLeaseObjectPrice - Скидка tbxSupplierDiscountRub], переведенное в рубли - labelImportProgramSum + tbxAddEquipmentPrice) Min стоимость ПЛ (evo_addproduct_type.evo_min_price) меньше или равно значению ([Стоимость ПЛ tbxLeaseObjectPrice - Скидка tbxSupplierDiscountRub], переведенное в рубли - labelImportProgramSum + tbxAddEquipmentPrice) Отображать для расчета в ЛК (evo_addproduct_type.evo_visible_calc) = True --- .../Effects/reactions/otherReactions.ts | 60 +++++++++++++++++++ .../CrmService/graphql/schema.graphql | 15 +++++ .../services/CrmService/types/entities.ts | 2 + 3 files changed, 77 insertions(+) diff --git a/src/client/stores/CalculationStore/Effects/reactions/otherReactions.ts b/src/client/stores/CalculationStore/Effects/reactions/otherReactions.ts index a1529e7..136764d 100644 --- a/src/client/stores/CalculationStore/Effects/reactions/otherReactions.ts +++ b/src/client/stores/CalculationStore/Effects/reactions/otherReactions.ts @@ -822,6 +822,66 @@ const reactionEffects: IReactionEffect[] = [ }, }), + /** + * сделали здесь для экономии времени + * перенести в отдельный процесс leasingWithoutKasko + */ + + calculationStore => ({ + expression: () => { + //@ts-ignore + const plPriceRub = calculationStore.plPriceRub(); + //@ts-ignore + const discountRub = calculationStore.discountRub(); + + const { + leasingPeriod, + leaseObjectType, + addEquipmentPrice, + importProgram, + } = calculationStore.values; + return { + leasingPeriod, + leaseObjectType, + plPriceRub, + discountRub, + addEquipmentPrice, + importProgram, + }; + }, + effect: ({ + leasingPeriod, + leaseObjectType, + plPriceRub, + discountRub, + addEquipmentPrice, + importProgram, + }) => { + calculationStore.setFilter('selectLeasingWithoutKasko', options => + options.filter( + x => + x?.evo_max_period && + x?.evo_min_period && + x.evo_max_period >= leasingPeriod && + x.evo_min_period <= leasingPeriod && + x?.evo_max_price && + x?.evo_min_price && + x.evo_max_price >= + plPriceRub - discountRub - importProgram + addEquipmentPrice && + x.evo_min_price <= + plPriceRub - discountRub - importProgram + addEquipmentPrice && + x.evo_leasingobject_types?.find( + x => x.evo_leasingobject_typeid === leaseObjectType, + ) && + x.evo_visible_calc, + ), + ); + }, + options: { + fireImmediately: true, + }, + }), + calculationStore => ({ expression: () => { const { leasingPeriod, leaseObjectType } = calculationStore.values; diff --git a/src/core/services/CrmService/graphql/schema.graphql b/src/core/services/CrmService/graphql/schema.graphql index dc9dd33..66ebcd0 100644 --- a/src/core/services/CrmService/graphql/schema.graphql +++ b/src/core/services/CrmService/graphql/schema.graphql @@ -556,8 +556,10 @@ type evo_addproduct_type { evo_leasingobject_types(statecode: Int): [evo_leasingobject_type] evo_max_age: Int evo_max_period: Decimal + evo_max_price: Decimal evo_min_age: Int evo_min_period: Decimal + evo_min_price: Decimal evo_name: String evo_nsib_limit: Decimal evo_planpayments(statecode: Int): [evo_planpayment] @@ -956,6 +958,7 @@ type opportunity { evo_assignor_accountid: Uuid evo_businessunitid: Uuid evo_businessunitidData: businessunit + evo_cession_incidentid: Uuid evo_check_type: [Int!] evo_check_type_fact: [Int!] evo_client_riskid: Uuid @@ -1617,6 +1620,7 @@ type evo_contract { evo_agent_reward: Decimal evo_agent_reward_conditionid: Uuid evo_agent_reward_summ: Decimal + evo_agent_reward_tech: Decimal evo_agent_service_list: [Int!] evo_approvallogs: [evo_approvallog] evo_balance_holder: Int @@ -1629,6 +1633,7 @@ type evo_contract { evo_broker_reward: Decimal evo_broker_reward_conditionid: Uuid evo_broker_reward_summ: Decimal + evo_broker_reward_tech: Decimal evo_broker_service_list: [Int!] evo_businessunitid: Uuid evo_calc_irr: Decimal @@ -1655,6 +1660,7 @@ type evo_contract { evo_dealer_broker_reward: Decimal evo_dealer_broker_reward_conditionid: Uuid evo_dealer_broker_reward_summ: Decimal + evo_dealer_broker_reward_tech: Decimal evo_dealer_broker_service_list: [Int!] evo_dealer_person_accountid: Uuid evo_dealer_person_accountidData: account @@ -1662,6 +1668,7 @@ type evo_contract { evo_dealer_person_reward: Decimal evo_dealer_person_reward_conditionid: Uuid evo_dealer_person_reward_summ: Decimal + evo_dealer_person_reward_tech: Decimal evo_dealer_person_service_list: [Int!] evo_debtwork_contractid: Uuid evo_debtwork_contractidData: evo_debtwork_contract @@ -1685,6 +1692,7 @@ type evo_contract { evo_double_agent_reward: Decimal evo_double_agent_reward_conditionid: Uuid evo_double_agent_reward_summ: Decimal + evo_double_agent_reward_tech: Decimal evo_double_agent_service_list: [Int!] evo_economic: Decimal evo_economic_actual: Decimal @@ -1704,6 +1712,7 @@ type evo_contract { evo_fin_department_reward: Decimal evo_fin_department_reward_conditionid: Uuid evo_fin_department_reward_summ: Decimal + evo_fin_department_reward_tech: Decimal evo_fin_department_service_list: [Int!] evo_first_payment_fact: Decimal evo_first_payment_fact_date: DateTime @@ -2261,6 +2270,7 @@ type evo_addcontract { evo_add_region_director_bonus: Decimal evo_agent_reward: Decimal evo_agent_reward_summ: Decimal + evo_agent_reward_tech: Decimal evo_age_drivers: Int evo_age_drivers_new: Int evo_approv_business_analyst: Boolean @@ -2276,6 +2286,7 @@ type evo_addcontract { evo_base_new: String evo_broker_reward: Decimal evo_broker_reward_summ: Decimal + evo_broker_reward_tech: Decimal evo_businessunitid: Uuid evo_calculation_method: Int evo_calculator_type: Int @@ -2313,6 +2324,7 @@ type evo_addcontract { evo_dealer_broker_reward_new: Decimal evo_dealer_broker_reward_summ: Decimal evo_dealer_broker_reward_summ_new: Decimal + evo_dealer_broker_reward_tech: Decimal evo_dealer_person_accountid: Uuid evo_dealer_person_accountid_new: Uuid evo_dealer_person_reward: Decimal @@ -2321,6 +2333,7 @@ type evo_addcontract { evo_dealer_person_reward_new: Decimal evo_dealer_person_reward_summ: Decimal evo_dealer_person_reward_summ_new: Decimal + evo_dealer_person_reward_tech: Decimal evo_deviation_investments_withoutnds: Decimal evo_deviation_irr: Decimal evo_dgo_price: Decimal @@ -2334,6 +2347,7 @@ type evo_addcontract { evo_dog_credit_new: Decimal evo_double_agent_reward: Decimal evo_double_agent_reward_summ: Decimal + evo_double_agent_reward_tech: Decimal evo_driving_axle: String evo_driving_axle_new: String evo_early_change_discount: Boolean @@ -2366,6 +2380,7 @@ type evo_addcontract { evo_fin_department_reward_new: Decimal evo_fin_department_reward_summ: Decimal evo_fin_department_reward_summ_new: Decimal + evo_fin_department_reward_tech: Decimal evo_fix_last_payment: Boolean evo_franchise: Decimal evo_franchise_new: Decimal diff --git a/src/core/services/CrmService/types/entities.ts b/src/core/services/CrmService/types/entities.ts index 9c97126..c9572d0 100644 --- a/src/core/services/CrmService/types/entities.ts +++ b/src/core/services/CrmService/types/entities.ts @@ -435,6 +435,8 @@ export interface IEvoTarif extends BaseEntity { evo_delivery_time?: number[]; evo_cut_irr_with_bonus_coefficient?: number; evo_margin_min?: number; + evo_min_price?: number; + evo_max_price?: number; } export interface IEvoRate extends BaseEntity {