From ae6f0a8a68eb3ddc3b359b6b87afe664a75f70b0 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Wed, 19 Apr 2023 16:11:37 +0300 Subject: [PATCH] process/recalc: fix validation conditions --- apps/web/process/recalc/validation.ts | 55 ++++++++++----------------- 1 file changed, 20 insertions(+), 35 deletions(-) diff --git a/apps/web/process/recalc/validation.ts b/apps/web/process/recalc/validation.ts index 02244c9..112bc24 100644 --- a/apps/web/process/recalc/validation.ts +++ b/apps/web/process/recalc/validation.ts @@ -85,54 +85,39 @@ export function createValidationSchema({ apolloClient }: ValidationContext) { const maxCondition1 = leaseObjectUsed === false && dealerPerson?.evo_supplier_type !== 100_000_001 && + quote?.evo_max_price_change && !evo_baseproduct?.evo_sale_without_nds && - Boolean( - quote?.evo_max_price_change && - plPriceRub - discountRub + addEquipmentPrice - importProgramSum > - quote.evo_max_price_change - ); + plPriceRub - discountRub + addEquipmentPrice - importProgramSum > + quote.evo_max_price_change; const maxCondition2 = leaseObjectUsed === false && dealerPerson?.evo_supplier_type !== 100_000_001 && - Boolean(evo_baseproduct?.evo_sale_without_nds) && - Boolean( - quote?.evo_nds_in_price_supplier_currency && - quote?.evo_max_price_change && - leaseObjectPriceWthtVAT > - quote.evo_max_price_change - quote.evo_nds_in_price_supplier_currency - ); + quote?.evo_max_price_change && + evo_baseproduct?.evo_sale_without_nds && + leaseObjectPriceWthtVAT > + quote.evo_max_price_change - (quote.evo_nds_in_price_supplier_currency || 0); const maxCondition3 = (leaseObjectUsed === true || dealerPerson?.evo_supplier_type === 100_000_001) && - Boolean( - quote?.evo_supplier_currency_price && - quote.evo_discount_supplier_currency && - quote.evo_equip_price && - quote.evo_program_import_subsidy_sum && - plPriceRub - discountRub + addEquipmentPrice - importProgramSum > - quote?.evo_supplier_currency_price - - quote.evo_discount_supplier_currency + - quote.evo_equip_price - - quote.evo_program_import_subsidy_sum - ); + quote?.evo_supplier_currency_price && + plPriceRub - discountRub + addEquipmentPrice - importProgramSum > + quote.evo_supplier_currency_price - + (quote.evo_discount_supplier_currency || 0) + + (quote.evo_equip_price || 0) - + (quote.evo_program_import_subsidy_sum || 0); const minCondition1 = !evo_baseproduct?.evo_sale_without_nds && - Boolean( - quote?.evo_min_change_price && - plPriceRub - discountRub + addEquipmentPrice - importProgramSum < - quote.evo_min_change_price - ); + quote?.evo_min_change_price && + plPriceRub - discountRub + addEquipmentPrice - importProgramSum < + quote.evo_min_change_price; const minCondition2 = - Boolean(evo_baseproduct?.evo_sale_without_nds) && - Boolean( - quote?.evo_nds_in_price_supplier_currency && - quote?.evo_min_change_price && - leaseObjectPriceWthtVAT < - quote.evo_min_change_price - quote.evo_nds_in_price_supplier_currency - ); + evo_baseproduct?.evo_sale_without_nds && + quote?.evo_min_change_price && + leaseObjectPriceWthtVAT < + quote.evo_min_change_price - (quote.evo_nds_in_price_supplier_currency || 0); if (maxCondition1 || maxCondition2) { ctx.addIssue({