Commit 99ba5e8c by 李承祥

sheet页添加系数值

parent 67b6b622
......@@ -171,6 +171,28 @@ private void CommonExport(int sheetID, SheetExportResponse response)
headers.Add(head);
}
List<string> sheetNames = new List<string> {
"1.1.1 门诊就诊收入","1.1.2 门诊执行收入","1.2.1 住院就诊收入",
"1.2.2 住院执行收入","1.3.1 转入ICU就诊收入","1.3.2 转入ICU执行收入",
};
//添加系数值
string sheetName = _perforImSheetRepository.GetEntity(t => t.ID == sheetID).SheetName;
var factorhead = new Row(response.Header.Count());
if (sheetName.Contains("工作量绩效测算表"))
{
factorhead.Data.Add(new Cell(0, "单元工作量绩效标准:", 1, 2, false, false));
response = AddFactor(response, factorhead, headList.ToList(), dataList, sheetName);
}
else if (sheetNames.Contains(sheetName))
{
factorhead.Data.Add(new Cell(0, "护理组分割比例:", 1, 3, false, false));
response = AddFactor(response, factorhead, headList.ToList(), dataList, "护理组");
var factorhead1 = new Row(response.Header.Count());
factorhead1.Data.Add(new Cell(0, "医生组分割比例::", 1, 3, false, false));
response = AddFactor(response, factorhead1, headList.ToList(), dataList, "医生组");
}
//创建数据行
Row rowbody = null;
foreach (var rowNumber in dataList.Select(t => t.RowNumber).OrderBy(t => t).Distinct())
......@@ -428,5 +450,35 @@ private void EmployeeExport(int sheetID, SheetExportResponse response)
}
}
}
private SheetExportResponse AddFactor(SheetExportResponse response, Row row, List<im_header> headList, List<im_data> dataList, string type)
{
int unitType = type.Contains("医生") ? 1 : 2;
response.Header.Add(row);
if (headList.Any(t => t.ParentID.HasValue && t.ParentID.Value > 0))
{
foreach (var header in headList.Where(t => t.ParentID.HasValue && t.ParentID.Value > 0))
{
var factor = _perforImDataRepository.GetEntities(t => t.AllotID == header.AllotID && t.SheetID == header.SheetID && t.IsFactor == 1
&& t.TypeName == header.CellValue && t.UnitType == unitType);
decimal? value = factor != null ? factor.FirstOrDefault().FactorValue : null;
row.Data.Add(new Cell(header.PointCell.Value, value, header.MergeRow.Value, header.MergeCell.Value, header.IsTotal == 1, false));
}
}
else
{
foreach (var header in headList.Where(t => !t.ParentID.HasValue || t.ParentID.Value == 0))
{
if (header.CellValue != "核算单元(医生组)" && header.CellValue != "核算单元(护理组)" && header.CellValue != "科室名称")
{
var factor = _perforImDataRepository.GetEntities(t => t.AllotID == header.AllotID && t.SheetID == header.SheetID && t.IsFactor == 1
&& t.TypeName == header.CellValue && t.UnitType == unitType);
decimal? value = factor != null ? factor.FirstOrDefault().FactorValue : null;
row.Data.Add(new Cell(header.PointCell.Value, value, header.MergeRow.Value, header.MergeCell.Value, header.IsTotal == 1, false));
}
}
}
return response;
}
}
}
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