55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
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);
|
|
}
|