From 62aa578ba150f89f5fca88657a240e33b95131d9 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Sun, 14 Jan 2024 23:58:01 +0300 Subject: [PATCH] merge branch release/extra-bonus-coefficient --- .../v3/Columns/ExtraBonusSumColumn.cs | 6 +++--- EvoCalculator.Core.Calculation/v3/PostValues.cs | 5 +++-- EvoCalculator.Core.Constants/Calculation.cs | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/EvoCalculator.Core.Calculation/v3/Columns/ExtraBonusSumColumn.cs b/EvoCalculator.Core.Calculation/v3/Columns/ExtraBonusSumColumn.cs index 8666915..9b5b865 100644 --- a/EvoCalculator.Core.Calculation/v3/Columns/ExtraBonusSumColumn.cs +++ b/EvoCalculator.Core.Calculation/v3/Columns/ExtraBonusSumColumn.cs @@ -16,9 +16,9 @@ public class ExtraBonusSumColumn : BaseColumnWithSum { Values[2] = cashflowMsfoColumn.Nominal >= postValues.PlanIRRMSFO && preparedValues.BonusCoefficient == 1.0 ? -1 * postValues.BonusBase * - (decimal) (cashflowMsfoColumn.Nominal / postValues.PlanIRRMSFO - 1) * - (decimal) preparedValues.ExtraBonus * (decimal) (1 + preparedValues.SalaryRate) * - (decimal) preparedValues.MarketRate * (decimal) preparedValues.DistrictRate + (decimal)((cashflowMsfoColumn.Nominal - postValues.PlanIRRMSFO) * constants.EXTRA_BONUS_COEFFICIENT) * + (decimal)preparedValues.ExtraBonus * (decimal)(1 + preparedValues.SalaryRate) * + (decimal)preparedValues.MarketRate * (decimal)preparedValues.DistrictRate : 0; if (Math.Abs(Values[2]) < constants.MinBonus) Values[2] = 0; diff --git a/EvoCalculator.Core.Calculation/v3/PostValues.cs b/EvoCalculator.Core.Calculation/v3/PostValues.cs index 979e304..39ebdfc 100644 --- a/EvoCalculator.Core.Calculation/v3/PostValues.cs +++ b/EvoCalculator.Core.Calculation/v3/PostValues.cs @@ -58,7 +58,8 @@ public class PostValues : v2.PostValues if (cashflowMSFOColumn.Nominal >= this.PlanIRRMSFO && _preparedValues.BonusCoefficient == 1.0) { DirectorExtraBonus = this.BonusBase * - (decimal)(cashflowMSFOColumn.Nominal / this.PlanIRRMSFO - 1) * + (decimal)((cashflowMSFOColumn.Nominal - this.PlanIRRMSFO) * + _constants.EXTRA_BONUS_COEFFICIENT) * (decimal)_preparedValues.DirectorExtraBonus * (decimal)_preparedValues.MarketRate * (decimal)_preparedValues.DistrictRate; @@ -87,7 +88,7 @@ public class PostValues : v2.PostValues if (cashflowMSFOColumn.Nominal >= this.PlanIRRMSFO && _preparedValues.BonusCoefficient == 1.0) { RegionalDirectorExtraBonus = this.BonusBase * - (decimal)(cashflowMSFOColumn.Nominal / this.PlanIRRMSFO - 1) * + (decimal)((cashflowMSFOColumn.Nominal - this.PlanIRRMSFO) * _constants.EXTRA_BONUS_COEFFICIENT) * (decimal)_preparedValues.RegionalDirectorExtraBonus * (decimal)_preparedValues.MarketRate * (decimal)_preparedValues.DistrictRate; diff --git a/EvoCalculator.Core.Constants/Calculation.cs b/EvoCalculator.Core.Constants/Calculation.cs index 4db0556..6befc4d 100644 --- a/EvoCalculator.Core.Constants/Calculation.cs +++ b/EvoCalculator.Core.Constants/Calculation.cs @@ -14,4 +14,5 @@ public class Calculation public decimal MinBonus = 100; public double DeltaIRR = 0.02; public double ESN = 1.3; + public double EXTRA_BONUS_COEFFICIENT = 5; } \ No newline at end of file