科主任护士长平均值计算

parent 3de36e47
......@@ -485,6 +485,11 @@
应发绩效(需计算)
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResult.BaiscNormPerforTotal">
<summary>
参考基数专用绩效合计
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResult.WorkTime">
<summary>
参加工作时间(来自人员名单)
......
......@@ -96,6 +96,11 @@ public class ComputeResult
public Nullable<decimal> GiveFee { get; set; }
/// <summary>
/// 参考基数专用绩效合计
/// </summary>
public Nullable<decimal> BaiscNormPerforTotal { get; set; }
/// <summary>
/// 参加工作时间(来自人员名单)
/// </summary>
public Nullable<DateTime> WorkTime { get; set; }
......
......@@ -36,8 +36,8 @@ public List<res_baiscnorm> ComputeAvg(List<res_baiscnorm> baiscnormList, List<im
{
PositionName = EnumHelper.GetDescription(item.Reference),
TotelNumber = count,
TotelValue = dataList?.Sum(t => t.GiveFee),
AvgValue = dataList?.Sum(t => t.GiveFee) / count
TotelValue = dataList?.Sum(t => t.BaiscNormPerforTotal),
AvgValue = dataList?.Sum(t => t.BaiscNormPerforTotal) / count
};
baiscnormList.Add(baiscnorm);
}
......
......@@ -173,14 +173,10 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
var number = resAccount.OrderByDescending(t => t.ManagerNumber).Sum(t => t.ManagerNumber + t.Number);
var perforTotal = resAccount.Sum(t => t.PerforTotal);
var avg = resAccount.Average(t => t.Avg);
//保底绩效时,不使用实发绩效
var realGiveFee = perforTotal;
var realAvg = avg;
if (!isMinimum)
{
realAvg = resAccount.Sum(t => (t.ManagerNumber + t.Number) == 0 ? 0 : t.RealGiveFee / (t.ManagerNumber + t.Number)) / resAccount.Count();
realGiveFee = resAccount.Sum(t => t.RealGiveFee);
}
//绩效参考标准,不使用实发绩效
var realAvg = resAccount.Sum(t => (t.ManagerNumber + t.Number) == 0 ? 0 : t.RealGiveFee / (t.ManagerNumber + t.Number)) / resAccount.Count();
var realGiveFee = resAccount.Sum(t => t.RealGiveFee);
var basicRule = basicRuleList.FirstOrDefault(t => t.UnitType == (UnitType)accountbasic.UnitType);
if (basicRule == null) continue;
......@@ -229,6 +225,9 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
compute.GiveFee = compute.PerforSumFee;
//实发绩效
compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m);
// 参考基数专用绩效合计
compute.BaiscNormPerforTotal = avg + compute.ShouldGiveFee;
computeList.Add(compute);
}
return computeList;
......
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