88 lines
2.8 KiB
JavaScript
88 lines
2.8 KiB
JavaScript
import CalculationStore from 'client/stores/CalculationStore';
|
|
import UserStore from 'client/stores/UserStore';
|
|
import CrmService from 'core/services/CrmService';
|
|
import getUser from './getUser';
|
|
import insuranceQuery from './queries/insuranceQuery';
|
|
import optionsQuery from './queries/optionsQuery';
|
|
import initialOwnerQuery from './queries/ownerQuery';
|
|
import staticDataQuery from './queries/staticDataQuery';
|
|
import systemUserQuery from './queries/systemUserQuery';
|
|
|
|
export default () =>
|
|
new Promise(async (resolve, reject) => {
|
|
await getUser();
|
|
const domainname = UserStore.getDomainName();
|
|
|
|
Promise.all([
|
|
CrmService.crmgqlquery({
|
|
...initialOwnerQuery,
|
|
variables: {
|
|
statecode: 0,
|
|
domainname,
|
|
},
|
|
}),
|
|
CrmService.crmgqlquery(optionsQuery),
|
|
CrmService.crmgqlquery(staticDataQuery),
|
|
CrmService.crmgqlquery({
|
|
...systemUserQuery,
|
|
variables: { domainname },
|
|
}),
|
|
CrmService.crmgqlquery(insuranceQuery),
|
|
])
|
|
.then(
|
|
([
|
|
{ entities: ownerOptions },
|
|
{ entities: initialOptions },
|
|
{ entities: staticEntities },
|
|
{
|
|
entities: { systemuser },
|
|
},
|
|
{ entities: insuranceCompanies },
|
|
]) => {
|
|
CalculationStore.applyOptions(ownerOptions);
|
|
CalculationStore.applyOptions(initialOptions);
|
|
CalculationStore.applyStaticData(staticEntities);
|
|
CalculationStore.applyStaticData({ systemuser: [systemuser] });
|
|
CalculationStore.setTableColumns('tableInsurance')({
|
|
options: { ...insuranceCompanies },
|
|
});
|
|
|
|
const supplierCurrency = CalculationStore.options.selectSupplierCurrency?.find(
|
|
x => x.isocurrencycode === 'RUB',
|
|
);
|
|
if (supplierCurrency)
|
|
CalculationStore.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.evo_job_titleid &&
|
|
x.evo_sot_coefficient_typeid ===
|
|
evo_sot_coefficient_type?.evo_sot_coefficient_typeid,
|
|
);
|
|
|
|
if (
|
|
evo_coefficient_bonus &&
|
|
evo_coefficient_bonus.evo_sot_coefficient
|
|
) {
|
|
CalculationStore.setValue(
|
|
'saleBonus',
|
|
evo_coefficient_bonus.evo_sot_coefficient * 100,
|
|
);
|
|
}
|
|
|
|
resolve();
|
|
},
|
|
)
|
|
.catch(err => {
|
|
reject(err);
|
|
throw err;
|
|
});
|
|
});
|