自动补全核算单元

parent 52015418
...@@ -531,7 +531,7 @@ public void ImpoerAprEmployees(int allotid, string path, int userid) ...@@ -531,7 +531,7 @@ public void ImpoerAprEmployees(int allotid, string path, int userid)
Dictionary<string, int> dict = new Dictionary<string, int> Dictionary<string, int> dict = new Dictionary<string, int>
{ {
{ "录入科室", -1 },{ "核算单元", -1 },{ "人员工号", -1 }, { "姓名", -1 }, { "绩效类型", -1 }, { "金额", -1 }, { "录入科室", -1 },{ "人员工号", -1 }, { "姓名", -1 }, { "绩效类型", -1 }, { "金额", -1 },//{ "核算单元", -1 },
}; };
List<string> errorHeaders = new List<string>(); List<string> errorHeaders = new List<string>();
...@@ -560,15 +560,36 @@ public void ImpoerAprEmployees(int allotid, string path, int userid) ...@@ -560,15 +560,36 @@ public void ImpoerAprEmployees(int allotid, string path, int userid)
PerforType = row.GetCell(dict["绩效类型"]).GetValue(), PerforType = row.GetCell(dict["绩效类型"]).GetValue(),
Amount = ConvertHelper.To<decimal>(row.GetCell(dict["金额"]).GetValue(), 0), Amount = ConvertHelper.To<decimal>(row.GetCell(dict["金额"]).GetValue(), 0),
TypeInDepartment = row.GetCell(dict["录入科室"]).GetValue(), TypeInDepartment = row.GetCell(dict["录入科室"]).GetValue(),
AccountingUnit = row.GetCell(dict["核算单元"]).GetValue(), //AccountingUnit = row.GetCell(dict["核算单元"]).GetValue(),
AllotId = allotid, AllotId = allotid,
CreateDate = createtime, CreateDate = createtime,
CreateUser = userid, CreateUser = userid,
}; };
entities.Add(entity); entities.Add(entity);
} }
// 补充核算单元
if (entities.Any())
{
if (entities.Any(w => string.IsNullOrEmpty(w.PersonnelNumber) && w.Amount != 0))
throw new PerformanceException("文件中存在“工号”为空的数据");
if (entities.Any(w => string.IsNullOrEmpty(w.PerforType) && w.Amount != 0))
throw new PerformanceException("文件中存在“绩效类型”为空的数据");
if (entities.Any(w => string.IsNullOrEmpty(w.TypeInDepartment) && w.Amount != 0))
throw new PerformanceException("文件中存在“录入科室”为空的数据");
var employees = peremployeeRepository.GetEntities(w => w.AllotId == allotid);
foreach (var item in entities.Where(w => !string.IsNullOrEmpty(w.PersonnelNumber)))
{
item.AccountingUnit = employees?.FirstOrDefault(w => w.PersonnelNumber == item.PersonnelNumber)?.AccountingUnit ?? "";
}
perapramountRepository.AddRange(entities.ToArray()); perapramountRepository.AddRange(entities.ToArray());
} }
}
catch (PerformanceException ex)
{
throw ex;
}
catch (Exception ex) catch (Exception ex)
{ {
logger.LogError(ex.ToString()); logger.LogError(ex.ToString());
......
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