move sum error bottom

This commit is contained in:
vchikalkin 2024-08-14 13:52:16 +03:00
parent c6f0474f66
commit d1774f803f

View File

@ -18,31 +18,12 @@ export async function convertEltOsagoResponse(input: ConvertEltOsagoResponseInpu
const { context, response, row } = input;
const { store } = context;
const { message, premiumSum = 0 } = response;
let { numCalc, skCalcId, error } = response;
const { premiumSum = 0 } = response;
let { message, numCalc, skCalcId, error } = response;
let sum = premiumSum;
const { $calculation } = store;
if (sum > MAX_INSURANCE) {
error ||= `Сумма по страховке превышает максимально допустимое значение по стоимости ОСАГО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MAX_INSURANCE)}`;
}
if (sum < MIN_INSURANCE) {
error ||= `Сумма по страховке не должна быть меньше допустимого значения по стоимости ОСАГО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MIN_INSURANCE)}`;
}
const cost =
$calculation.$values.getValue('plPriceRub') -
$calculation.$values.getValue('discountRub') -
@ -62,7 +43,7 @@ export async function convertEltOsagoResponse(input: ConvertEltOsagoResponseInpu
sum = 0;
numCalc = Number.parseInt(defaultRow.numCalc, 2);
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
break;
}
@ -73,7 +54,7 @@ export async function convertEltOsagoResponse(input: ConvertEltOsagoResponseInpu
sum = 0;
numCalc = Number.parseInt(defaultRow.numCalc, 2);
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
}
break;
}
@ -83,7 +64,7 @@ export async function convertEltOsagoResponse(input: ConvertEltOsagoResponseInpu
sum = (((sum / cost) * 100 - rule_evo_discount) / 100) * cost;
numCalc = Number.parseInt(defaultRow.numCalc, 2);
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
break;
}
@ -92,12 +73,31 @@ export async function convertEltOsagoResponse(input: ConvertEltOsagoResponseInpu
sum = (rule_evo_discount / 100) * cost;
numCalc = Number.parseInt(defaultRow.numCalc, 2);
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
break;
}
}
}
if (sum > MAX_INSURANCE) {
error ||= `Сумма по страховке превышает максимально допустимое значение по стоимости ОСАГО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MAX_INSURANCE)}`;
}
if (sum < MIN_INSURANCE) {
error ||= `Сумма по страховке не должна быть меньше допустимого значения по стоимости ОСАГО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MIN_INSURANCE)}`;
}
return {
...row,
insuranceCondition,
@ -153,43 +153,13 @@ export async function convertEltKaskoResponse(input: ConvertEltKaskoResponseInpu
const { context, response, row } = input;
const { apolloClient, store } = context;
const { kaskoSum = 0, message, paymentPeriods } = response;
let { requestId, skCalcId, totalFranchise = 0, error } = response;
const { kaskoSum = 0, paymentPeriods } = response;
let { message, requestId, skCalcId, totalFranchise = 0, error } = response;
const { $calculation } = store;
const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue();
let sum = leasingPeriod <= 16 ? kaskoSum : paymentPeriods?.[0]?.kaskoSum || 0;
if (totalFranchise > MAX_FRANCHISE) {
error ||= `Франшиза по страховке превышает максимально допустимое значение: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MAX_FRANCHISE)}`;
}
if (sum > MAX_INSURANCE) {
error ||= `Сумма по страховке превышает максимально допустимое значение по стоимости КАСКО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MAX_INSURANCE)}`;
}
if (sum < MIN_INSURANCE) {
error ||= `Сумма по страховке не должна быть меньше допустимого значения по стоимости КАСКО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MIN_INSURANCE)}`;
}
const {
data: { account: insuranceCompany },
} = await apolloClient.query({
@ -230,7 +200,7 @@ export async function convertEltKaskoResponse(input: ConvertEltKaskoResponseInpu
sum = 0;
requestId = defaultRow.requestId;
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
totalFranchise = 0;
break;
}
@ -242,7 +212,7 @@ export async function convertEltKaskoResponse(input: ConvertEltKaskoResponseInpu
sum = 0;
requestId = defaultRow.requestId;
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
totalFranchise = 0;
}
break;
@ -253,7 +223,7 @@ export async function convertEltKaskoResponse(input: ConvertEltKaskoResponseInpu
sum = (((sum / cost) * 100 - rule_evo_discount) / 100) * cost;
requestId = defaultRow.requestId;
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
totalFranchise = 0;
break;
}
@ -263,13 +233,43 @@ export async function convertEltKaskoResponse(input: ConvertEltKaskoResponseInpu
sum = (rule_evo_discount / 100) * cost;
requestId = defaultRow.requestId;
skCalcId = defaultRow.skCalcId;
if (selectedRule.evo_message) error = selectedRule.evo_message;
if (selectedRule.evo_message) message = selectedRule.evo_message;
totalFranchise = 0;
break;
}
}
}
if (totalFranchise > MAX_FRANCHISE) {
error ||= `Франшиза по страховке превышает максимально допустимое значение: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MAX_FRANCHISE)}`;
}
if (sum > MAX_INSURANCE) {
error ||= `Сумма по страховке превышает максимально допустимое значение по стоимости КАСКО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MAX_INSURANCE)}`;
}
if (sum < MIN_INSURANCE) {
error ||= `Сумма по страховке не должна быть меньше допустимого значения по стоимости КАСКО: ${Intl.NumberFormat(
'ru',
{
currency: 'RUB',
style: 'currency',
}
).format(MIN_INSURANCE)}`;
}
return {
...row,
insuranceCondition,