Commit 7ed84982 by lcx

写入补充的数据

parent 8baf43c4
......@@ -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 filed = sheet.SheetName.Contains("住院") ? fieldInpat : fieldOut;
if (sheet.SheetName.Contains("工作量"))
{
}
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)
{
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