Commit 67adec6c by 李承祥

数据校验日志,修改药占比;绩效发放bug

parent fc9abbdc
...@@ -14,14 +14,17 @@ public class CheckDataService : IAutoInjection ...@@ -14,14 +14,17 @@ public class CheckDataService : IAutoInjection
private PerSheetService perSheetService; private PerSheetService perSheetService;
private PerforCofcheckRepository perforCofcheckRepository; private PerforCofcheckRepository perforCofcheckRepository;
private PerforLogcheckRepository perforLogcheckRepository; private PerforLogcheckRepository perforLogcheckRepository;
private PerforCofdrugtypeRepository perforCofdrugtypeRepository;
public CheckDataService(PerSheetService perSheetService, public CheckDataService(PerSheetService perSheetService,
PerforCofcheckRepository perforCofcheckRepository, PerforCofcheckRepository perforCofcheckRepository,
PerforLogcheckRepository perforLogcheckRepository PerforLogcheckRepository perforLogcheckRepository,
PerforCofdrugtypeRepository perforCofdrugtypeRepository
) )
{ {
this.perSheetService = perSheetService; this.perSheetService = perSheetService;
this.perforCofcheckRepository = perforCofcheckRepository; this.perforCofcheckRepository = perforCofcheckRepository;
this.perforLogcheckRepository = perforLogcheckRepository; this.perforLogcheckRepository = perforLogcheckRepository;
this.perforCofdrugtypeRepository = perforCofdrugtypeRepository;
} }
internal bool Check(PerExcel excel, per_allot allot) internal bool Check(PerExcel excel, per_allot allot)
{ {
...@@ -120,6 +123,9 @@ public bool Discern(PerExcel excel, per_allot allot) ...@@ -120,6 +123,9 @@ public bool Discern(PerExcel excel, per_allot allot)
else else
{ {
var list = cellValue.Intersect(headerCheck).ToList(); //求交集,提交的列头和数据库中保存的列头 var list = cellValue.Intersect(headerCheck).ToList(); //求交集,提交的列头和数据库中保存的列头
var drugtype = perforCofdrugtypeRepository.GetEntities(t => t.AllotID == allot.ID);
if (drugtype != null && drugtype.Count > 0)
list = list.Union(drugtype.Select(t => t.Charge)).ToList(); //药占比的类型
var lack = headerCheck.Except(list).ToList(); //求差集,数据库中列头与交集 var lack = headerCheck.Except(list).ToList(); //求差集,数据库中列头与交集
if (lack.Count > 0) if (lack.Count > 0)
{ {
...@@ -149,7 +155,7 @@ public bool CheckData(PerExcel excel, per_allot allot) ...@@ -149,7 +155,7 @@ public bool CheckData(PerExcel excel, per_allot allot)
int count = 0; int count = 0;
if (sheet.SheetName.StartsWith("医院人员名单")) if (sheet.SheetName.StartsWith("医院人员名单"))
{ {
List<string> accountType = new List<string>() { "临床科室", "医技科室", "" }; List<string> accountType = new List<string>() { "临床科室", "医技科室", "行政工勤", "行政中高层", "" };
List<string> fitPeople = new List<string>(); List<string> fitPeople = new List<string>();
foreach (var name in EnumHelper.GetNames<PerformanceType>()) foreach (var name in EnumHelper.GetNames<PerformanceType>())
{ {
......
...@@ -64,7 +64,7 @@ public List<ResComputeResponse> GetCompute(int allotId, int type) ...@@ -64,7 +64,7 @@ public List<ResComputeResponse> GetCompute(int allotId, int type)
{ {
var conList = keyValues[type].Select(t => EnumHelper.GetDescription(t)); var conList = keyValues[type].Select(t => EnumHelper.GetDescription(t));
var list = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && conList.Contains(t.FitPeople)) var list = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && conList.Contains(t.FitPeople))
.OrderBy(t => t.AccountingUnit).ThenBy(t => t.FitPeople).ToList(); ?.OrderBy(t => t.AccountingUnit).ThenBy(t => t.FitPeople).ToList();
data = Mapper.Map<List<ResComputeResponse>>(list); data = Mapper.Map<List<ResComputeResponse>>(list);
data?.ForEach(t => t.WorkTime = string.IsNullOrEmpty(t.WorkTime) ? null : Convert.ToDateTime(t.WorkTime).ToString("yyyy-MM-dd")); data?.ForEach(t => t.WorkTime = string.IsNullOrEmpty(t.WorkTime) ? null : Convert.ToDateTime(t.WorkTime).ToString("yyyy-MM-dd"));
} }
......
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