空字典错误过滤

parent bb6b2950
...@@ -451,7 +451,7 @@ List<ag_bodysource> LoadEmployeeByDictionary(ag_secondallot second, List<per_emp ...@@ -451,7 +451,7 @@ List<ag_bodysource> LoadEmployeeByDictionary(ag_secondallot second, List<per_emp
List<ag_bodysource> loadDatas = new List<ag_bodysource>(); List<ag_bodysource> loadDatas = new List<ag_bodysource>();
foreach (var personnelNumber in numbers) foreach (var personnelNumber in numbers)
{ {
var existEmp = employees.FirstOrDefault(w => w.PersonnelNumber?.Trim() == personnelNumber?.Trim()); var existEmp = employees?.FirstOrDefault(w => w.PersonnelNumber?.Trim() == personnelNumber?.Trim());
var data = new ag_bodysource var data = new ag_bodysource
{ {
...@@ -1249,7 +1249,7 @@ public List<SecondComputeCheckResultDto> CheckData(ag_secondallot second, Comput ...@@ -1249,7 +1249,7 @@ public List<SecondComputeCheckResultDto> CheckData(ag_secondallot second, Comput
List<SecondComputeCheckResultDto> result = new List<SecondComputeCheckResultDto>(); List<SecondComputeCheckResultDto> result = new List<SecondComputeCheckResultDto>();
var employees = _peremployeeRepository.GetEntities(w => w.AllotId == second.AllotId) var employees = _peremployeeRepository.GetEntities(w => w.AllotId == second.AllotId)
.Select(w => new { w.PersonnelNumber, w.DoctorName, w.AccountingUnit, w.UnitType, w.ReservedRatio }); ?.Select(w => new { w.PersonnelNumber, w.DoctorName, w.AccountingUnit, w.UnitType, w.ReservedRatio });
var handsonTable = GetHandsonTable(computeMode, loads); var handsonTable = GetHandsonTable(computeMode, loads);
var fixat = new string[] { nameof(ag_bodysource.Id).ToLower(), nameof(ag_bodysource.SecondId).ToLower(), nameof(ag_bodysource.Department).ToLower() }; var fixat = new string[] { nameof(ag_bodysource.Id).ToLower(), nameof(ag_bodysource.SecondId).ToLower(), nameof(ag_bodysource.Department).ToLower() };
...@@ -1266,17 +1266,17 @@ public List<SecondComputeCheckResultDto> CheckData(ag_secondallot second, Comput ...@@ -1266,17 +1266,17 @@ public List<SecondComputeCheckResultDto> CheckData(ag_secondallot second, Comput
item.AddOrUpdate(nameof(ResponseType), ResponseType.Warning); item.AddOrUpdate(nameof(ResponseType), ResponseType.Warning);
result.Add(new SecondComputeCheckResultDto(nameof(ResponseType.Error), "空", "空", $"第{(i + 1)}行,工号或姓名无效;请删除!")); result.Add(new SecondComputeCheckResultDto(nameof(ResponseType.Error), "空", "空", $"第{(i + 1)}行,工号或姓名无效;请删除!"));
} }
else if (!employees.Any(w => w.PersonnelNumber == number && w.DoctorName == name)) else if (employees == null || !employees.Any(w => w.PersonnelNumber == number && w.DoctorName == name))
{ {
item.AddOrUpdate(nameof(ResponseType), ResponseType.Error); item.AddOrUpdate(nameof(ResponseType), ResponseType.Error);
result.Add(new SecondComputeCheckResultDto(nameof(ResponseType.Error), number, name, $"第{(i + 1)}行,工号和姓名在字典中不存在,请修复!")); result.Add(new SecondComputeCheckResultDto(nameof(ResponseType.Error), number, name, $"第{(i + 1)}行,工号和姓名在字典中不存在,请修复!"));
} }
else else
{ {
var emp = employees.FirstOrDefault(w => w.PersonnelNumber == number && w.DoctorName == name); var emp = employees?.FirstOrDefault(w => w.PersonnelNumber == number && w.DoctorName == name);
item.AddOrUpdate(nameof(ResponseType), ResponseType.OK); item.AddOrUpdate(nameof(ResponseType), ResponseType.OK);
item.AddOrUpdate(nameof(ag_bodysource.Department), emp.AccountingUnit); item.AddOrUpdate(nameof(ag_bodysource.Department), emp?.AccountingUnit ?? "");
item.AddOrUpdate(nameof(ag_bodysource.ReservedRatio), emp.ReservedRatio); item.AddOrUpdate(nameof(ag_bodysource.ReservedRatio), emp?.ReservedRatio ?? 0);
} }
} }
} }
......
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