From 8e6cf4fb8614affa943e215f411f3873879fdbb7 Mon Sep 17 00:00:00 2001 From: Chika Date: Thu, 24 Jun 2021 14:37:54 +0300 Subject: [PATCH] fill kladr for osago & fix reset btn --- .../ELT/Content/Osago/lib/composeRequest.ts | 14 ++++++++++++-- .../Calculation/ELT/Content/lib/requests.ts | 4 ++-- .../Calculation/ELT/Content/lib/resetIns.ts | 1 + .../lib/fetchData/queries/insuranceQuery.ts | 1 + src/core/types/Entities/crmEntities.ts | 1 + 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/client/Components/Calculation/ELT/Content/Osago/lib/composeRequest.ts b/src/client/Components/Calculation/ELT/Content/Osago/lib/composeRequest.ts index 12ce35c..d53b33f 100644 --- a/src/client/Components/Calculation/ELT/Content/Osago/lib/composeRequest.ts +++ b/src/client/Components/Calculation/ELT/Content/Osago/lib/composeRequest.ts @@ -1,5 +1,6 @@ import { currentDate } from 'core/tools/date'; import { ICalculationStore } from 'core/types/Calculation/Store'; +import { IAccount } from 'core/types/Entities/crmEntities'; import { get, isNull } from 'lodash'; const mapCategory = { @@ -38,11 +39,20 @@ const mapSubCategoryBuilder = (leaseObjectUseFor, maxMass, countSeats) => ({ const getSpecified = value => !isNull(value); -export default function (this: ICalculationStore) { +export default function (this: ICalculationStore, company: IAccount) { const city = this.getOption('selectTownRegistration'); let kladr = '7700000000000'; if (this.getValue('objectRegistration') === 100000001) { - kladr = get(city, 'evo_kladr_id', kladr); + kladr = city?.evo_kladr_id || kladr; + } else { + if (company.evo_legal_region_calc === true) { + const legalClientRegion = this.getOption('selectLegalClientRegion'); + const legalClientTown = this.getOption('selectLegalClientTown'); + kladr = + legalClientTown?.evo_kladr_id || + legalClientRegion?.evo_kladr_id || + kladr; + } } const brandId = this.getOption('selectBrand')?.evo_id; const modelId = this.getOption('selectModel')?.evo_id; diff --git a/src/client/Components/Calculation/ELT/Content/lib/requests.ts b/src/client/Components/Calculation/ELT/Content/lib/requests.ts index aeb650b..cb6d2a0 100644 --- a/src/client/Components/Calculation/ELT/Content/lib/requests.ts +++ b/src/client/Components/Calculation/ELT/Content/lib/requests.ts @@ -17,7 +17,6 @@ export const fetchData = (insType: string, composeRequest, convertEltResult) => sources[insType] = CancelToken.source(); const { ELTStore } = this.stores; - const request = composeRequest.call(this); const evo_id_elt_fieldName = map_evo_id_elt_FieldName[insType]; @@ -26,6 +25,7 @@ export const fetchData = (insType: string, composeRequest, convertEltResult) => //@ts-ignore company.isFetching = true; return new Promise((resolve, reject) => { + const request = composeRequest.call(this, company); ELTService[insType] .getCalculation( { @@ -51,7 +51,6 @@ export const fetchData = (insType: string, composeRequest, convertEltResult) => i, Object.assign(company, converted), ); - resolve(); }) .catch(err => { reject(err); @@ -59,6 +58,7 @@ export const fetchData = (insType: string, composeRequest, convertEltResult) => .finally(() => { //@ts-ignore company.isFetching = false; + resolve(); }); }); }, diff --git a/src/client/Components/Calculation/ELT/Content/lib/resetIns.ts b/src/client/Components/Calculation/ELT/Content/lib/resetIns.ts index eb16d5a..c9bef51 100644 --- a/src/client/Components/Calculation/ELT/Content/lib/resetIns.ts +++ b/src/client/Components/Calculation/ELT/Content/lib/resetIns.ts @@ -18,6 +18,7 @@ export const initFields = [ 'evo_id_elt', 'name', 'accountid', + 'evo_legal_region_calc', ]; export function initIns(this: ICalculationStore, insType) { diff --git a/src/client/Containers/Calculation/lib/fetchData/queries/insuranceQuery.ts b/src/client/Containers/Calculation/lib/fetchData/queries/insuranceQuery.ts index e09080c..0259d43 100644 --- a/src/client/Containers/Calculation/lib/fetchData/queries/insuranceQuery.ts +++ b/src/client/Containers/Calculation/lib/fetchData/queries/insuranceQuery.ts @@ -12,6 +12,7 @@ const query = gql` evo_type_ins_policy evo_id_elt evo_id_elt_osago + evo_legal_region_calc } } `; diff --git a/src/core/types/Entities/crmEntities.ts b/src/core/types/Entities/crmEntities.ts index 42d9f1f..35a03f7 100644 --- a/src/core/types/Entities/crmEntities.ts +++ b/src/core/types/Entities/crmEntities.ts @@ -18,6 +18,7 @@ export interface IAccount { evo_address_legalidData?: IEvoAddress; evo_id_elt?: string; evo_id_elt_osago?: string; + evo_legal_region_calc?: boolean; } export interface IEvoAddress {