二次分配科室改名后也能加载上次绩效

parent ee75db05
...@@ -387,37 +387,34 @@ public void RowsExpand(per_allot allot, List<SecondColumnDictionary> dic, List<D ...@@ -387,37 +387,34 @@ public void RowsExpand(per_allot allot, List<SecondColumnDictionary> dic, List<D
var allworkload = _agworkloadRepository.GetEntities(t => t.HospitalId == allot.HospitalId && t.Department == second.Department) ?? new List<ag_workload>(); var allworkload = _agworkloadRepository.GetEntities(t => t.HospitalId == allot.HospitalId && t.Department == second.Department) ?? new List<ag_workload>();
var workloads = allworkload.Where(w => UnitTypeUtil.Is(w.UnitType, second.UnitType)) ?? new List<ag_workload>(); var workloads = allworkload.Where(w => UnitTypeUtil.Is(w.UnitType, second.UnitType)) ?? new List<ag_workload>();
if (workloads != null && workloads.Any()) /* isSave 为True时,没必要查询数据 */
{ var secondWorkload = isSave && overrideMode != EmployeeSource.Workload
/* isSave 为True时,没必要查询数据 */ ? new List<view_second_workload_result>()
var secondWorkload = isSave && overrideMode != EmployeeSource.Workload : GetSecondWorkloadByValue(second.AllotId.Value, second.UnitType, second.Department);
? new List<view_second_workload_result>()
: GetSecondWorkloadByValue(second.AllotId.Value, second.UnitType, second.Department);
foreach (var employee in loadEmployees) foreach (var employee in loadEmployees)
{
var dict = JsonHelper.Deserialize<Dictionary<string, object>>(JsonHelper.Serialize(employee));
foreach (var workitem in workloads)
{ {
var dict = JsonHelper.Deserialize<Dictionary<string, object>>(JsonHelper.Serialize(employee)); decimal? value;
foreach (var workitem in workloads) if (workitem.ItemId.StartsWithIgnoreCase($"SingleAwards_"))
{ {
decimal? value; /* 如果是已保存数据,则加载原始数据,否则加载工作量自动带出 */
if (workitem.ItemId.StartsWithIgnoreCase($"SingleAwards_")) value = isSave
{ ? bodyDynamic?.FirstOrDefault(w => w.BodyId == employee.Id && w.WorkloadId == workitem.Id)?.Value
/* 如果是已保存数据,则加载原始数据,否则加载工作量自动带出 */ : secondWorkload.FirstOrDefault(w => w.PersonnelNumber == employee.WorkNumber && workitem.ItemId.EqualsIgnoreCase(w.ItemId))?.Value;
value = isSave
? bodyDynamic?.FirstOrDefault(w => w.BodyId == employee.Id && w.WorkloadId == workitem.Id)?.Value
: secondWorkload.FirstOrDefault(w => w.PersonnelNumber == employee.WorkNumber && workitem.ItemId.EqualsIgnoreCase(w.ItemId))?.Value;
}
else
{
/* 如果是已保存数据,则加载原始数据,否则加载工作量自动带出 */
value = isSave && overrideMode != EmployeeSource.Workload
? bodyDynamic?.FirstOrDefault(w => w.BodyId == employee.Id && w.WorkloadId == workitem.Id)?.Value
: secondWorkload.FirstOrDefault(w => w.PersonnelNumber == employee.WorkNumber && workitem.ItemId.EqualsIgnoreCase(w.ItemId))?.Value;
}
dict.AddOrUpdate(workitem.ItemId, value);
} }
result.Add(dict); else
{
/* 如果是已保存数据,则加载原始数据,否则加载工作量自动带出 */
value = isSave && overrideMode != EmployeeSource.Workload
? bodyDynamic?.FirstOrDefault(w => w.BodyId == employee.Id && w.WorkloadId == workitem.Id)?.Value
: secondWorkload.FirstOrDefault(w => w.PersonnelNumber == employee.WorkNumber && workitem.ItemId.EqualsIgnoreCase(w.ItemId))?.Value;
}
dict.AddOrUpdate(workitem.ItemId, value);
} }
result.Add(dict);
} }
} }
return result; return result;
......
...@@ -947,8 +947,12 @@ public ag_secondallot GetPreviousSecondAllot(int hospitalId, ag_secondallot seco ...@@ -947,8 +947,12 @@ public ag_secondallot GetPreviousSecondAllot(int hospitalId, ag_secondallot seco
if (index == 0) return null; if (index == 0) return null;
var prevAllot = allotList[index - 1]; var prevAllot = allotList[index - 1];
var temp = agsecondallotRepository.GetEntities(w => w.AllotId == prevAllot.ID && w.Department == secondAllot.Department); var temp = agsecondallotRepository.GetEntities(w => w.AllotId == prevAllot.ID && (w.Department == secondAllot.Department || w.Department == secondAllot.NewAccountingUnit));
var prevSecondAllot = temp.FirstOrDefault(w => UnitTypeUtil.IsEqualsUnitType(w.UnitType, secondAllot.UnitType));
var prevSecondAllot = temp.FirstOrDefault(w =>
(UnitTypeUtil.IsEqualsUnitType(w.UnitType, secondAllot.UnitType) && w.Department == secondAllot.Department)
|| (UnitTypeUtil.IsEqualsUnitType(w.UnitType, secondAllot.NewUnitType) && w.Department == secondAllot.NewAccountingUnit));
return prevSecondAllot; return prevSecondAllot;
} }
......
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