import { ICalculationStore } from 'core/types/Calculation/Store'; import { Process } from 'core/types/Calculation/Store/process'; import initialOptions from '../config/initialOptions'; import initialValues from '../config/initialValues'; import { composeRequests } from './requests'; export default async function (this: ICalculationStore) { const { calculationProcess } = this.stores; calculationProcess.addProcess(Process.Init); const { ownerOptionsRequest, mainOptionsRequest, staticDataRequest, systemUserRequest, insuranceRequest, } = composeRequests(); const ownerOptions = await ownerOptionsRequest; const mainOptions = await mainOptionsRequest; this.applyOptions(Object.assign(initialOptions, ownerOptions, mainOptions)); const systemuser = await systemUserRequest; const staticEntities = await staticDataRequest; this.applyStaticData(Object.assign({ systemuser }, staticEntities)); const insuranceData = await insuranceRequest; this.setTableColumns('tableInsurance')({ options: insuranceData, }); this.setValues(initialValues, true); const supplierCurrency = this.options.selectSupplierCurrency?.find( x => x.isocurrencycode === 'RUB', ); this.setValue('supplierCurrency', supplierCurrency?.transactioncurrencyid); const evo_sot_coefficient_type = staticEntities?.evo_sot_coefficient_type?.find( x => x.evo_id === 'BONUS_LEASING', ); const evo_coefficient_bonus = staticEntities?.evo_coefficient?.find( x => x.evo_job_titleid === systemuser[0]?.evo_job_titleid && x.evo_sot_coefficient_typeid === evo_sot_coefficient_type?.evo_sot_coefficient_typeid, ); if (evo_coefficient_bonus?.evo_sot_coefficient) this.setValue('saleBonus', evo_coefficient_bonus.evo_sot_coefficient * 100); calculationProcess.deleteProcess(Process.Init); }