Commit 7ed84982 by lcx

写入补充的数据

parent 8baf43c4
...@@ -138,12 +138,53 @@ public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetTyp ...@@ -138,12 +138,53 @@ public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetTyp
{ {
var departments = data.Select(s => s.Department).Where(w => !string.IsNullOrEmpty(w)).Distinct().ToList(); var departments = data.Select(s => s.Department).Where(w => !string.IsNullOrEmpty(w)).Distinct().ToList();
var filed = sheet.SheetName.Contains("住院") ? fieldInpat : fieldOut;
if (sheet.SheetName.Contains("工作量"))
{
}
foreach (string department in departments) foreach (string department in departments)
{ {
var deptData = data.Where(t => t.Department == department);
if (deptData == null || !deptData.Any()) continue;
var row = sheet.GetOrCreate(headerFirstRowNum);
for (int cellIndex = point.HeaderFirstCellNum.Value; cellIndex < columnHeader.LastCellNum; cellIndex++)
{
var column = row.GetCell(cellIndex).GetDecodeEscapes();
var cell = row.CreateCell(cellIndex);
if (filed.ContainsKey(column))
{
cell.SetCellOValue(filed[column]?.Invoke(deptData.First()));
}
else if (sheetType == SheetType.Income || (headers != null && headers.Contains(column)))
{
var value = deptData.FirstOrDefault(t => t.Category == column)?.Value;
cell.SetCellOValue(value);
}
}
headerFirstRowNum++;
} }
} }
private readonly Dictionary<string, Func<dynamic, object>> fieldInpat = new Dictionary<string, Func<dynamic, object>>
{
{ "科室名称", (t) => t.Department },
{ "核算单元(医生组)", (t) => t.InpatDoctorAccounting },
{ "核算单元(护理组)", (t) => t.InpatNurseAccounting },
{ "核算单元(医技组)", (t) => t.InpatTechnicAccounting },
};
private readonly Dictionary<string, Func<dynamic, object>> fieldOut = new Dictionary<string, Func<dynamic, object>>
{
{ "科室名称", (t) => t.Department },
{ "核算单元(医生组)", (t) => t.OutDoctorAccounting },
{ "核算单元(护理组)", (t) => t.OutNurseAccounting },
{ "核算单元(医技组)", (t) => t.OutTechnicAccounting },
};
public string HasValue(params string[] list) public string HasValue(params string[] list)
{ {
if (list == null || !list.Any()) return null; if (list == null || !list.Any()) return null;
......
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