Commit c4dff4c0 by lcx

应发绩效实发绩效计算修改

parent 96840303
......@@ -171,11 +171,12 @@ public List<ResComputeResponse> GetCompute(int allotId, int type)
t.WorkTime = string.IsNullOrEmpty(t.WorkTime) ? null : Convert.ToDateTime(t.WorkTime).ToString("yyyy-MM-dd");
if (isShowManage == 2)
{
t.PerforSumFee = t.ShouldGiveFee;
t.ShouldGiveFee = (t.Efficiency + t.Scale) * t.Grant;
t.PerforSumFee = t.ShouldGiveFee + t.Punishment + t.OtherPerfor;
var employee = employees.FirstOrDefault(e => e.DoctorName == t.EmployeeName && e.AccountingUnit == t.AccountingUnit && pairs[type].Contains(e.UnitType));
var scoreAverageRate = t.ScoreAverageRate ?? employee.ScoreAverageRate ?? 0;
var attendance = t.Attendance ?? employee.Attendance ?? 0;
t.GiveFee = t.ShouldGiveFee * scoreAverageRate * attendance + t.OtherPerfor;
t.GiveFee = t.PerforSumFee * scoreAverageRate * attendance;
t.RealGiveFee = t.GiveFee * (t.Adjust ?? 1m);
t.BaiscNormValue = t.RealGiveFee;
}
......
......@@ -388,17 +388,17 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
Attendance = empolyee.Attendance
};
//应发管理绩效
compute.ShouldGiveFee = Math.Round((compute.Efficiency + compute.Scale) * (compute.Grant ?? 0) ?? 0, MidpointRounding.AwayFromZero);
compute.ShouldGiveFee = Math.Round(((compute.Efficiency + compute.Scale) * (compute.Grant ?? 0) + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) ?? 0, MidpointRounding.AwayFromZero);
//绩效合计
compute.PerforSumFee = Math.Round((compute.Avg * (empolyee.Basics ?? 0)) + compute.ShouldGiveFee ?? 0, MidpointRounding.AwayFromZero);
compute.PerforSumFee = Math.Round(((compute.Avg * (empolyee.Basics ?? 0)) + compute.ShouldGiveFee) ?? 0, MidpointRounding.AwayFromZero);
//应发绩效
//compute.GiveFee = compute.PerforSumFee;
compute.GiveFee = Math.Round(compute.PerforSumFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0) ?? 0, MidpointRounding.AwayFromZero);
compute.GiveFee = Math.Round(compute.PerforSumFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) ?? 0, MidpointRounding.AwayFromZero);
//实发绩效
//compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m);
compute.RealGiveFee = Math.Round(compute.GiveFee * (compute.Adjust ?? 1m) ?? 0, MidpointRounding.AwayFromZero);
// 参考基数专用绩效合计
compute.BaiscNormPerforTotal = compute.PerforSumFee;
compute.BaiscNormPerforTotal = Math.Round(((compute.Efficiency + compute.Scale) * (compute.Grant ?? 0) + compute.Avg * (empolyee.Basics ?? 0)) ?? 0, MidpointRounding.AwayFromZero);
computeList.Add(compute);
}
......
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