Commit d68572ee by lcx

Merge branch 'v2020calculate_allcompute' into v2020calculate

parents 4277dd64 1e09aa26
...@@ -83,5 +83,25 @@ public ComputeResponse(string source, string accountingUnit, string employeeName ...@@ -83,5 +83,25 @@ public ComputeResponse(string source, string accountingUnit, string employeeName
/// 预留比例金额 /// 预留比例金额
/// </summary> /// </summary>
public Nullable<decimal> ReservedRatioFee { get; set; } public Nullable<decimal> ReservedRatioFee { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> Punishment { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> GiveFee { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> Adjust { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -471,14 +471,18 @@ public List<ComputeResponse> AllCompute(int allotId, int isShowManage) ...@@ -471,14 +471,18 @@ public List<ComputeResponse> AllCompute(int allotId, int isShowManage)
var empDic = perforPeremployeeRepository.GetEntities(w => w.AllotId == allotId); var empDic = perforPeremployeeRepository.GetEntities(w => w.AllotId == allotId);
foreach (var item in result) foreach (var item in result)
{ {
var perfor = ((item.GiveFee ?? 0) != 0 ? item.GiveFee : item.PerforSumFee) ?? 0;
item.PerforSumFee = Math.Round(item.PerforSumFee ?? 0, 0, MidpointRounding.AwayFromZero); item.PerforSumFee = Math.Round(item.PerforSumFee ?? 0, 0, MidpointRounding.AwayFromZero);
item.PerforManagementFee = Math.Round(item.PerforManagementFee ?? 0, 0, MidpointRounding.AwayFromZero); item.PerforManagementFee = Math.Round(item.PerforManagementFee ?? 0, 0, MidpointRounding.AwayFromZero);
item.GiveFee = Math.Round(perfor, 0, MidpointRounding.AwayFromZero);
item.AdjustLaterOtherFee = Math.Round(item.AdjustLaterOtherFee ?? 0, 0, MidpointRounding.AwayFromZero);
item.OthePerfor = Math.Round(item.OthePerfor ?? 0, 0, MidpointRounding.AwayFromZero); item.OthePerfor = Math.Round(item.OthePerfor ?? 0, 0, MidpointRounding.AwayFromZero);
item.NightWorkPerfor = Math.Round(item.NightWorkPerfor ?? 0, 0, MidpointRounding.AwayFromZero); item.NightWorkPerfor = Math.Round(item.NightWorkPerfor ?? 0, 0, MidpointRounding.AwayFromZero);
item.ShouldGiveFee = Math.Round((item.PerforSumFee ?? 0) + (item.PerforManagementFee ?? 0) + (item.OthePerfor ?? 0) + (item.NightWorkPerfor ?? 0), 0, MidpointRounding.AwayFromZero); item.ShouldGiveFee = Math.Round((perfor + item.AdjustLaterOtherFee + item.NightWorkPerfor) ?? 0, 0, MidpointRounding.AwayFromZero);
item.ReservedRatio = empDic?.FirstOrDefault(w => w.PersonnelNumber == item.JobNumber)?.ReservedRatio ?? 0; //item.ReservedRatio = empDic?.FirstOrDefault(w => w.PersonnelNumber == item.JobNumber)?.ReservedRatio ?? 0;
item.ReservedRatioFee = Math.Round(((item.PerforSumFee ?? 0) + (item.PerforManagementFee ?? 0)) * item.ReservedRatio ?? 0, 0, MidpointRounding.AwayFromZero); //item.ReservedRatioFee = Math.Round(((item.PerforSumFee ?? 0) + (item.PerforManagementFee ?? 0)) * item.ReservedRatio ?? 0, 0, MidpointRounding.AwayFromZero);
item.RealGiveFee = Math.Round(item.ShouldGiveFee - (item.ReservedRatioFee ?? 0) ?? 0, 0, MidpointRounding.AwayFromZero); item.RealGiveFee = Math.Round((perfor + item.AdjustLaterOtherFee + item.NightWorkPerfor) ?? 0, 0, MidpointRounding.AwayFromZero);
} }
} }
...@@ -507,7 +511,7 @@ private List<ComputeResponse> GetAllotPerformance(int allotId, int isShowManage) ...@@ -507,7 +511,7 @@ private List<ComputeResponse> GetAllotPerformance(int allotId, int isShowManage)
comp.UnitType = t.AccountType; comp.UnitType = t.AccountType;
if (types1.Contains(t.AccountType)) if (types1.Contains(t.AccountType))
comp.PerforManagementFee = (t.ShouldGiveFee ?? 0) + (t.OtherPerfor ?? 0) + (t.Punishment ?? 0); comp.PerforManagementFee = ((t.Efficiency + t.Scale) * t.Grant + t.OtherManagePerfor) * t.Attendance * t.ScoreAverageRate;
else else
comp.PerforManagementFee = t.RealGiveFee; comp.PerforManagementFee = t.RealGiveFee;
// 行政中层 行政高层 补充 夜班费 // 行政中层 行政高层 补充 夜班费
...@@ -519,8 +523,15 @@ private List<ComputeResponse> GetAllotPerformance(int allotId, int isShowManage) ...@@ -519,8 +523,15 @@ private List<ComputeResponse> GetAllotPerformance(int allotId, int isShowManage)
if (isShowManage == 2) if (isShowManage == 2)
comp.PerforSumFee = 0; comp.PerforSumFee = 0;
else else
comp.PerforSumFee = basics.HasValue ? t.Avg * basics : t.Avg; comp.PerforSumFee = Math.Round((t.Avg * (basics ?? 1)) + t.ShouldGiveFee + t.AssessBeforeOtherFee ?? 0);
comp.Punishment = t.Punishment;
comp.ShouldGiveFee = t.ShouldGiveFee;
comp.PerforSumFee = t.PerforSumFee;
comp.GiveFee = t.GiveFee * t.Adjust;
comp.AdjustLaterOtherFee = t.AdjustLaterOtherFee ?? 0;
comp.OthePerfor = t.OtherPerfor;
comp.RealGiveFee = t.RealGiveFee;
return comp; return comp;
}).ToList(); }).ToList();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment