Commit ffb71508 by 钟博

Merge branch 'feature/加载工作量' into develop

parents 3ed95802 d565826e
...@@ -108,9 +108,9 @@ public SecondDetailDto Load(int secondId, ComputeMode computeMode, EmployeeSourc ...@@ -108,9 +108,9 @@ public SecondDetailDto Load(int secondId, ComputeMode computeMode, EmployeeSourc
item.TitleCoefficient = item.TitleCoefficient ?? 1; // 职称系数 item.TitleCoefficient = item.TitleCoefficient ?? 1; // 职称系数
} }
} }
//if (overrideMode == EmployeeSource.Workload) isSave = false;
// 加载已保存工作量数据 // 加载已保存工作量数据
handson.Data = LoadWorkload(allot, second, loadEmployees, isSave); handson.Data = LoadWorkload(allot, second, loadEmployees, isSave, overrideMode);
// 设置工作量考核等分默认值 // 设置工作量考核等分默认值
foreach (var item in handson.Data) foreach (var item in handson.Data)
...@@ -248,7 +248,7 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute ...@@ -248,7 +248,7 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
/// <param name="loadEmployees"></param> /// <param name="loadEmployees"></param>
/// <param name="isSave">True 加载已保存数据 False 加载工作量自动带出</param> /// <param name="isSave">True 加载已保存数据 False 加载工作量自动带出</param>
/// <returns></returns> /// <returns></returns>
private List<Dictionary<string, object>> LoadWorkload(per_allot allot, ag_secondallot second, List<ag_bodysource> loadEmployees, bool isSave = true) private List<Dictionary<string, object>> LoadWorkload(per_allot allot, ag_secondallot second, List<ag_bodysource> loadEmployees, bool isSave = true, EmployeeSource overrideMode = 0)
{ {
List<Dictionary<string, object>> result = new List<Dictionary<string, object>>(); List<Dictionary<string, object>> result = new List<Dictionary<string, object>>();
var status = (new int[] { (int)SecondAllotStatus.WaitReview, (int)SecondAllotStatus.PassAudit }); var status = (new int[] { (int)SecondAllotStatus.WaitReview, (int)SecondAllotStatus.PassAudit });
...@@ -279,7 +279,7 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute ...@@ -279,7 +279,7 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
if (workloads != null && workloads.Any()) if (workloads != null && workloads.Any())
{ {
/* isSave 为True时,没必要查询数据 */ /* isSave 为True时,没必要查询数据 */
var secondWorkload = isSave var secondWorkload = isSave && overrideMode != EmployeeSource.Workload
? new List<view_second_workload_result>() ? new List<view_second_workload_result>()
: GetSecondWorkloadByValue(second.AllotId.Value, second.UnitType, second.Department); : GetSecondWorkloadByValue(second.AllotId.Value, second.UnitType, second.Department);
...@@ -288,11 +288,21 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute ...@@ -288,11 +288,21 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
var dict = JsonHelper.Deserialize<Dictionary<string, object>>(JsonHelper.Serialize(employee)); var dict = JsonHelper.Deserialize<Dictionary<string, object>>(JsonHelper.Serialize(employee));
foreach (var workitem in workloads) foreach (var workitem in workloads)
{ {
/* 如果是已保存数据,则加载原始数据,否则加载工作量自动带出 */ decimal? value;
var value = isSave if (workitem.ItemId.StartsWith($"SingleAwards_"))
? bodyDynamic?.FirstOrDefault(w => w.BodyId == employee.Id && w.WorkloadId == workitem.Id)?.Value {
: secondWorkload.FirstOrDefault(w => w.PersonnelNumber == employee.WorkNumber && w.DoctorName == employee.Name && 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 && w.DoctorName == employee.Name && 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 && w.DoctorName == employee.Name && workitem.ItemId.EqualsIgnoreCase(w.ItemId))?.Value;
}
dict.AddOrUpdate(workitem.ItemId, value); dict.AddOrUpdate(workitem.ItemId, value);
} }
result.Add(dict); result.Add(dict);
...@@ -383,7 +393,7 @@ private List<ag_bodysource> LoadEmployees(per_allot allot, ag_secondallot second ...@@ -383,7 +393,7 @@ private List<ag_bodysource> LoadEmployees(per_allot allot, ag_secondallot second
var employees = _peremployeeRepository.GetEntities(w => w.AllotId == second.AllotId); var employees = _peremployeeRepository.GetEntities(w => w.AllotId == second.AllotId);
isSave = false; isSave = false;
// 默认流程 // 默认流程
if (mode == EmployeeSource.Initial) if (new[] { EmployeeSource.Initial, EmployeeSource.Workload }.Contains(mode))
{ {
var saveDatas = _agbodysourceRepository.GetEntities(w => w.SecondId == second.Id); var saveDatas = _agbodysourceRepository.GetEntities(w => w.SecondId == second.Id);
isSave = (saveDatas != null && saveDatas.Count > 0); isSave = (saveDatas != null && saveDatas.Count > 0);
......
...@@ -1011,7 +1011,12 @@ public enum EmployeeSource ...@@ -1011,7 +1011,12 @@ public enum EmployeeSource
/// <summary> /// <summary>
/// 人员字典 /// 人员字典
/// </summary> /// </summary>
EmployeeDict = 2 EmployeeDict = 2,
/// <summary>
/// 工作量
/// </summary>
Workload = 3
} }
/// <summary> /// <summary>
......
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