From 3380e8e1cddee1700d0ca479cbecb94e39b151b4 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Tue, 7 Feb 2023 13:36:07 +0300 Subject: [PATCH] =?UTF-8?q?process/payments:=20=D0=B2=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D0=B5=20=D0=BF=D0=BB=D0=B0=D1=82=D0=B5=D0=B6?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=B2=20=D1=81=D1=82=D0=BE=D0=BB=D0=B1=D1=86?= =?UTF-8?q?=D0=B5=20=D0=A1=D0=BE=D0=BE=D1=82=D0=BD=D0=BE=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D0=BB=D0=B0=D1=82=D0=B5=D0=B6=D0=B5=D0=B9?= =?UTF-8?q?=20=20=20=20*=20=D0=B4=D0=BB=D1=8F=20=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=20=D1=81=202=20=D0=B4=D0=BE=20"=D0=A1=D1=80=D0=BE=D0=BA?= =?UTF-8?q?=20=D0=BB=D0=B8=D0=B7=D0=B8=D0=BD=D0=B3=D0=B0-1"=20=D0=BC=D0=B8?= =?UTF-8?q?=D0=BD=D0=B8=D0=BC=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D0=B7?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BB?= =?UTF-8?q?=D0=B6=D0=BD=D0=BE=20=D0=B1=D1=8B=D1=82=D1=8C=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BD=D0=BE=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/process/payments/validation.ts | 27 +++++++++++++------------ 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/apps/web/process/payments/validation.ts b/apps/web/process/payments/validation.ts index fd0cb9c..28359da 100644 --- a/apps/web/process/payments/validation.ts +++ b/apps/web/process/payments/validation.ts @@ -5,25 +5,26 @@ import { areEqual, isSorted } from 'tools/array'; // eslint-disable-next-line sonarjs/cognitive-complexity export default function validatePaymentsTable({ $calculation, $tables }: RootStore) { + /** + * в таблице платежей в столбце Соотношение платежей + * для строк с 2 до "Срок лизинга-1" минимальное значение должно быть равно 3 + */ + { + const MIN_PAYMENT = 3; + const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); + const targetPayments = $tables.payments.values.slice(1, leasingPeriod - 1); + + if (!targetPayments.every((payment) => payment >= MIN_PAYMENT)) { + return `Минимальное значение платежа должно быть равно ${MIN_PAYMENT}`; + } + } + switch ($calculation.element('radioGraphType').getValue()) { // Дегрессия case 100_000_001: { if (!$calculation.element('selectSeasonType').getValue()) { return 'Не выбран тип дегрессии'; } - /** - * в таблице платежей в столбце Соотношение платежей - * для строк с 2 до "Срок лизинга-1" минимальное значение должно быть равно 3 - */ - { - const MIN_PAYMENT = 3; - const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); - const targetPayments = $tables.payments.values.slice(1, leasingPeriod - 1); - - if (!targetPayments.every((payment) => payment >= MIN_PAYMENT)) { - return `Минимальное значение платежа должно быть равно ${MIN_PAYMENT}`; - } - } /** * при Дегрессии все значения не должны быть равны друг другу