Commit bf947789 by lcx

绩效科室详情 工作量系数不*100,列排序根据上传excel中的位置排序

parent 3aedb7db
...@@ -18,6 +18,7 @@ public class ComputeService : IAutoInjection ...@@ -18,6 +18,7 @@ public class ComputeService : IAutoInjection
//private readonly PerforResaccountnurseRepository _perforResAccountnurseRepository; //private readonly PerforResaccountnurseRepository _perforResAccountnurseRepository;
private readonly PerforPersheetRepository _perforPerSheetRepository; private readonly PerforPersheetRepository _perforPerSheetRepository;
private readonly PerforImdataRepository _perforImDataRepository; private readonly PerforImdataRepository _perforImDataRepository;
private readonly PerforImheaderRepository _perforImheaderRepository;
private readonly PerforRescomputeRepository _perforRescomputeRepository; private readonly PerforRescomputeRepository _perforRescomputeRepository;
private readonly PerforResspecialunitRepository _perforResspecialunitRepository; private readonly PerforResspecialunitRepository _perforResspecialunitRepository;
private readonly PerforPeragainallotRepository _perforPeragainallotRepository; private readonly PerforPeragainallotRepository _perforPeragainallotRepository;
...@@ -33,6 +34,7 @@ public class ComputeService : IAutoInjection ...@@ -33,6 +34,7 @@ public class ComputeService : IAutoInjection
//PerforResaccountnurseRepository perforResAccountnurseRepository, //PerforResaccountnurseRepository perforResAccountnurseRepository,
PerforPersheetRepository perforPerSheetRepository, PerforPersheetRepository perforPerSheetRepository,
PerforImdataRepository perforImDataRepository, PerforImdataRepository perforImDataRepository,
PerforImheaderRepository perforImheaderRepository,
PerforRescomputeRepository perforRescomputeRepository, PerforRescomputeRepository perforRescomputeRepository,
PerforResspecialunitRepository perforResspecialunitRepository, PerforResspecialunitRepository perforResspecialunitRepository,
PerforPeragainallotRepository perforPeragainallotRepository, PerforPeragainallotRepository perforPeragainallotRepository,
...@@ -48,6 +50,7 @@ public class ComputeService : IAutoInjection ...@@ -48,6 +50,7 @@ public class ComputeService : IAutoInjection
//this._perforResAccountnurseRepository = perforResAccountnurseRepository; //this._perforResAccountnurseRepository = perforResAccountnurseRepository;
this._perforPerSheetRepository = perforPerSheetRepository; this._perforPerSheetRepository = perforPerSheetRepository;
this._perforImDataRepository = perforImDataRepository; this._perforImDataRepository = perforImDataRepository;
this._perforImheaderRepository = perforImheaderRepository;
this._perforRescomputeRepository = perforRescomputeRepository; this._perforRescomputeRepository = perforRescomputeRepository;
this._perforResspecialunitRepository = perforResspecialunitRepository; this._perforResspecialunitRepository = perforResspecialunitRepository;
this._perforPeragainallotRepository = perforPeragainallotRepository; this._perforPeragainallotRepository = perforPeragainallotRepository;
...@@ -402,6 +405,7 @@ public DeptDataDetails DeptDetail(int accountId) ...@@ -402,6 +405,7 @@ public DeptDataDetails DeptDetail(int accountId)
var dataEconomicList = basicData.Where(t => t.SheetID == sheetEconomic?.ID && t.UnitType == type && t.IsTotal != 1 && t.AccountingUnit == doctor.AccountingUnit).ToList(); var dataEconomicList = basicData.Where(t => t.SheetID == sheetEconomic?.ID && t.UnitType == type && t.IsTotal != 1 && t.AccountingUnit == doctor.AccountingUnit).ToList();
var economic = dataEconomicList?.Select(t => new DeptDetail { ItemName = t.TypeName.Replace($"({typeValue})", ""), ItemValue = t.CellValue ?? 0 }); var economic = dataEconomicList?.Select(t => new DeptDetail { ItemName = t.TypeName.Replace($"({typeValue})", ""), ItemValue = t.CellValue ?? 0 });
var headers = _perforImheaderRepository.GetEntities(t => t.AllotID == doctor.AllotID);
Regex reg = new Regex("[0-9]*"); Regex reg = new Regex("[0-9]*");
foreach (var stype in sheetType) foreach (var stype in sheetType)
{ {
...@@ -411,19 +415,31 @@ public DeptDataDetails DeptDetail(int accountId) ...@@ -411,19 +415,31 @@ public DeptDataDetails DeptDetail(int accountId)
var sheetData = basicData.Where(t => t.SheetID == sheet.ID).ToList(); var sheetData = basicData.Where(t => t.SheetID == sheet.ID).ToList();
if (sheetData == null || !sheetData.Any()) continue; if (sheetData == null || !sheetData.Any()) continue;
var headerData = headers?.Where(t => t.SheetID == sheet.ID);
var item = new DetailDtos var item = new DetailDtos
{ {
ItemName = sheetName, ItemName = sheetName,
IncomeType = sheet.SheetType == (int)SheetType.Expend ? 2 : sheet.SheetType == (int)SheetType.Workload ? 3 : 1, IncomeType = sheet.SheetType == (int)SheetType.Expend ? 2 : sheet.SheetType == (int)SheetType.Workload ? 3 : 1,
Amount = (sheetName.Contains("工作量") ? doctor.WorkloadFee : economic.FirstOrDefault(t => t.ItemName.Contains(sheetName))?.ItemValue) ?? 0m, Amount = (sheet.SheetType == (int)SheetType.Workload ? doctor.WorkloadFee : economic.FirstOrDefault(t => t.ItemName.Contains(sheetName))?.ItemValue) ?? 0m,
Items = sheetData?.Select(t => new DetailModule
{
ItemName = t.TypeName,
CellValue = t.CellValue,
Factor = t.FactorValue * 100,
ItemValue = t.IsFactor == 1 ? (t.CellValue * (t.FactorValue ?? 0)) : t.CellValue
}).ToList()
}; };
var items = sheetData?.Select(t => new DetailModule
{
ItemName = t.TypeName,
CellValue = t.CellValue,
Factor = sheet.SheetType == (int)SheetType.Workload ? t.FactorValue : t.FactorValue * 100,
ItemValue = t.IsFactor == 1 ? (t.CellValue * (t.FactorValue ?? 0)) : t.CellValue
}).ToList();
if (headerData != null && headerData.Any())
{
items = items
?.OrderBy(t => (headerData.FirstOrDefault(h => h.CellValue == t.ItemName)?.PointCell) ?? 100)
?.ThenBy(t => t.ItemName).ToList();
}
item.Items = items;
deptDetails.Detail.Add(item); deptDetails.Detail.Add(item);
} }
} }
......
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