merge branch dyn-1915-november-2022
This commit is contained in:
parent
9ebce23d07
commit
dd855cc831
@ -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}");
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -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; }
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
namespace EvoCalculator.Core.Models.PostCalculation.Models.Request;
|
||||
namespace EvoCalculator.Core.Models.Common.Request;
|
||||
|
||||
public class Flags
|
||||
{
|
||||
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user