merge branch dyn-1915-november-2022

This commit is contained in:
Chika 2022-11-18 09:05:25 +03:00
parent 9ebce23d07
commit dd855cc831
7 changed files with 15 additions and 10 deletions

View File

@ -53,14 +53,14 @@ public class BaseCashflowMSFOColumn : BaseColumnWithNominal
public void PostCheck(AdditionalData additionalData)
{
if (additionalData != null)
if (_preparedValues.PaymentDateNew == null)
{
if (additionalData.MinCashflowMSFONominal != null)
if (additionalData?.MinCashflowMSFONominal != null)
if (Nominal < additionalData.MinCashflowMSFONominal / 100)
throw new Exception(
$"Невозможно осуществить расчет графика, при заданных параметрах IRR {Math.Round(Nominal * 100, 2)} меньше мин. IRR по данному продукту: {additionalData.MinCashflowMSFONominal}");
if (additionalData.MaxCashflowMSFONominal != null)
if (additionalData?.MaxCashflowMSFONominal != null)
if (Nominal >= additionalData.MaxCashflowMSFONominal / 100)
throw new Exception(
$"Невозможно осуществить расчет графика, при заданных параметрах IRR {Math.Round(Nominal * 100, 2)} больше макс. IRR по данному продукту: {additionalData.MaxCashflowMSFONominal}");

View File

@ -3,6 +3,7 @@ using EvoCalculator.Core.Base.Columns;
using EvoCalculator.Core.Calculation.v1.Columns;
using EvoCalculator.Core.Models.Calculation.Models;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using EvoCalculator.Core.Models.Common.Request;
namespace EvoCalculator.Core.Calculation.v2.Columns;
@ -39,12 +40,12 @@ public class BaseCashflowMSFOColumn : v1.Columns.BaseCashflowMSFOColumn
+ _subsidyExpensesColumn.Values[i];
}
public void PostCheck(AdditionalData additionalData, Constants.Calculation constants)
public void PostCheck(AdditionalData additionalData, Constants.Calculation constants, Flags flags)
{
base.PostCheck(additionalData);
if (_preparedValues.PaymentDateNew != null &&
this.Nominal < (_preparedValues.IRR_MSFO_Plan - constants.DeltaIRR))
if (flags.DISABLE_CHECKS_RESULTS == false && _preparedValues.PaymentDateNew != null &&
this.Nominal < ((additionalData.MinCashflowMSFONominal / 100) - constants.DeltaIRR))
{
throw new Exception(
"По итогам результата расчета данное изменение графика влечет к убыточности сделки. Скорректируйте вносимые изменения либо получите согласование с адреса calculator@evoleasing.ru");

View File

@ -116,7 +116,7 @@ public static partial class CalculateManager
tlmGrColumn, gpsGrColumn, npvBonusExpensesColumn, agentComissionExpensesColumn,
subsidyExpensesColumn);
cashflowMsfoColumn.ComputeValues();
cashflowMsfoColumn.PostCheck(additionalData, constants);
cashflowMsfoColumn.PostCheck(additionalData, constants,requestCalculation.Flags);
var vatColumn = new VATColumn(preparedValues.Nmper + 1);
vatColumn.ComputeValues(new Constants.Calculation(), sumColumn, preparedValues);

View File

@ -12,5 +12,5 @@ public class Calculation
public int MaxOnePolicePeriod = 16;
public double VatValue = 0.2;
public decimal MinBonus = 100;
public double DeltaIRR = 0.05;
public double DeltaIRR = 0.02;
}

View File

@ -1,5 +1,6 @@
#nullable enable
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using EvoCalculator.Core.Models.Common.Request;
namespace EvoCalculator.Core.Models.Calculation.Models.Request;
@ -8,4 +9,6 @@ public class RequestCalculation
public PreparedValues preparedValues { get; set; }
public PreparedPayments preparedPayments { get; set; }
public AdditionalData? additionalData { get; set; }
public Flags? Flags { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace EvoCalculator.Core.Models.PostCalculation.Models.Request;
namespace EvoCalculator.Core.Models.Common.Request;
public class Flags
{

View File

@ -1,6 +1,7 @@
#nullable enable
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using EvoCalculator.Core.Models.Common.Request;
using EvoCalculator.Core.Models.PostCalculation.Models.Prepared;
using EvoCalculator.Core.Models.PostCalculation.Models.Prepared.lib;
using EvoCalculator.Core.Models.PostCalculation.Models.Prepared.PreparedTables;