Commit 62c730d3 by ruyun.zhang@suvalue.com

Merge branch 'fixed/jsonbug' into v2020calculate

parents 0bd3fd37 16ff0d6b
......@@ -472,6 +472,8 @@ private List<ComputeResponse> GetAllotPerformance(int allotId, int isShowManage)
var mTypes = new[] { AccountUnitType.护士长.ToString(), AccountUnitType.科主任.ToString(), AccountUnitType.行政中层.ToString(), AccountUnitType.行政高层.ToString() };
var types1 = new List<string> { AccountUnitType.护士长.ToString(), AccountUnitType.科主任.ToString() };
var types2 = new List<string> { AccountUnitType.行政中层.ToString(), AccountUnitType.行政高层.ToString() };
// 业务中层人员信息
var empolyeeList = _perforImemployeeclinicRepository.GetEntities(t => t.AllotID == allotId);
// 一次绩效 获取特定人员绩效结果
var allot = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && mTypes.Contains(t.AccountType))?.OrderByDescending(t => t.AccountingUnit);
//var apramounts = perapramountRepository.GetEntities(t => t.AllotId == allotId);
......@@ -488,11 +490,13 @@ private List<ComputeResponse> GetAllotPerformance(int allotId, int isShowManage)
// 行政中层 行政高层 补充 夜班费
if (types2.Contains(t.AccountType))
comp.NightWorkPerfor = t.NightWorkPerfor;
// 获取科主任系数,解决共用科主任重复计算人均问题
var basics = empolyeeList?.FirstOrDefault(w => w.AccountingUnit == t.AccountingUnit && w.DoctorName == t.EmployeeName && w.PersonnelNumber == t.JobNumber)?.Basics;
// 仅显示管理绩效
if (isShowManage == 2)
comp.PerforSumFee = 0;
else
comp.PerforSumFee = t.Avg;
comp.PerforSumFee = basics.HasValue ? t.Avg * basics : t.Avg;
return comp;
}).ToList();
......@@ -540,12 +544,7 @@ private List<ComputeResponse> AddAprAmount(int allotId, List<ComputeResponse> co
foreach (var emp in computes)
{
var apramount = list.Where(t => emp.JobNumber?.Trim() == t.PersonnelNumber?.Trim() && emp.EmployeeName?.Trim() == t.DoctorName?.Trim());
if (apramount == null)
apramount = list.Where(t => !string.IsNullOrEmpty(t.PersonnelNumber) && emp.JobNumber?.Trim() == t.PersonnelNumber?.Trim());
if (apramount == null)
apramount = list.Where(t => !string.IsNullOrEmpty(t.DoctorName) && emp.EmployeeName?.Trim() == t.DoctorName?.Trim());
var apramount = list.Where(t => t.AccountingUnit == emp.AccountingUnit && !string.IsNullOrEmpty(t.PersonnelNumber) && emp.JobNumber?.Trim() == t.PersonnelNumber?.Trim());
emp.OthePerfor = apramount?.Sum(w => w.Amount);
}
return computes;
......
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