Commit 6a0b80a3 by lcx

新增数据未和历史数据连接在一起

parent 4d39a83c
...@@ -1377,9 +1377,9 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e ...@@ -1377,9 +1377,9 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e
var dictionary = new Dictionary<string, Func<ex_special, List<im_specialunit>, object>> var dictionary = new Dictionary<string, Func<ex_special, List<im_specialunit>, object>>
{ {
{ "科室", (special,lastallot) => special.Department }, { "科室", (special,lastallot) => special.Department?.Trim() },
{ "人数", (special,lastallot) => lastallot.Where(t=>special.Department == t.Department).Max(t=>t.Number) }, { "人数", (special,lastallot) => lastallot.Where(t=>special.Department == t.Department).Max(t=>t.Number) },
{ "量化指标", (special,lastallot) => special.Target}, { "量化指标", (special,lastallot) => special.Target?.Trim()},
{ "量化指标绩效分值",(special,lastallot) => special.TargetFactor }, { "量化指标绩效分值",(special,lastallot) => special.TargetFactor },
{ "调节系数", (special,lastallot) => special.AdjustFactor }, { "调节系数", (special,lastallot) => special.AdjustFactor },
}; };
...@@ -1412,6 +1412,7 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e ...@@ -1412,6 +1412,7 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e
merges = merges.OrderBy(t => t.FirstRow).ToList(); merges = merges.OrderBy(t => t.FirstRow).ToList();
int startRowIndex = sheetRead.Point.DataFirstRowNum ?? 2; int startRowIndex = sheetRead.Point.DataFirstRowNum ?? 2;
int lastrownumber = startRowIndex;
foreach (var merge in merges) foreach (var merge in merges)
{ {
var deptSpecials = speaialList.Where(t => t.Department == merge.Value)?.ToList(); var deptSpecials = speaialList.Where(t => t.Department == merge.Value)?.ToList();
...@@ -1420,7 +1421,7 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e ...@@ -1420,7 +1421,7 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e
for (int i = merge.FirstRow; i < merge.LastRow + 1; i++) for (int i = merge.FirstRow; i < merge.LastRow + 1; i++)
{ {
var row = GetOrCreate(sheet, i); var row = GetOrCreate(sheet, i);
string target = NopiSevice.GetValue(GetOrCreate(row, headerDict["量化指标"])); string target = NopiSevice.GetValue(GetOrCreate(row, headerDict["量化指标"]))?.Trim();
var config = deptSpecials.FirstOrDefault(t => t.Target == target); var config = deptSpecials.FirstOrDefault(t => t.Target == target);
if (config != null) if (config != null)
...@@ -1457,16 +1458,16 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e ...@@ -1457,16 +1458,16 @@ private void SupplySpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<e
speaialList.RemoveAll(t => t.Department == merge.Value); speaialList.RemoveAll(t => t.Department == merge.Value);
} }
if (speaialList != null && speaialList.Any()) //if (speaialList != null && speaialList.Any())
{ //{
var index = sheet.LastRowNum + 1; // var index = sheet.LastRowNum + 1;
foreach (var item in speaialList) // foreach (var item in speaialList)
{ // {
var newrow = sheet.CreateRow(index); // var newrow = sheet.CreateRow(index);
newrow.CreateCell(0).SetCellValue(""); // newrow.CreateCell(0).SetCellValue("");
index++; // index++;
} // }
} //}
//取消合并单元格 //取消合并单元格
int mergedCount = sheet.NumMergedRegions; int mergedCount = sheet.NumMergedRegions;
...@@ -1536,7 +1537,7 @@ private void WriteSpecialCellValue(Dictionary<string, Func<ex_special, List<im_s ...@@ -1536,7 +1537,7 @@ private void WriteSpecialCellValue(Dictionary<string, Func<ex_special, List<im_s
if (firstrow != null && firstrow.GetCell(range.FirstColumn) is ICell firstcell && firstcell != null) if (firstrow != null && firstrow.GetCell(range.FirstColumn) is ICell firstcell && firstcell != null)
{ {
firstcell.SetCellType(CellType.String); firstcell.SetCellType(CellType.String);
value = firstcell.StringCellValue; value = firstcell.StringCellValue?.Trim();
} }
merge.Value = value; merge.Value = value;
merges.Add(merge); merges.Add(merge);
...@@ -1554,7 +1555,7 @@ private void WriteSpecialCellValue(Dictionary<string, Func<ex_special, List<im_s ...@@ -1554,7 +1555,7 @@ private void WriteSpecialCellValue(Dictionary<string, Func<ex_special, List<im_s
if (firstrow != null && firstrow.GetCell(merges.First().FirstColumn) is ICell firstcell && firstcell != null) if (firstrow != null && firstrow.GetCell(merges.First().FirstColumn) is ICell firstcell && firstcell != null)
{ {
firstcell.SetCellType(CellType.String); firstcell.SetCellType(CellType.String);
value = firstcell.StringCellValue; value = firstcell.StringCellValue?.Trim();
} }
merges.Add(new CellRangeAddressAndValue(i, i, merges.First().FirstColumn, merges.First().LastColumn, value, false)); merges.Add(new CellRangeAddressAndValue(i, i, merges.First().FirstColumn, merges.First().LastColumn, value, false));
} }
...@@ -1640,6 +1641,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewE ...@@ -1640,6 +1641,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewE
var head = GetOrCreate(sheet, sheetRead.Point.HeaderFirstRowNum.Value); var head = GetOrCreate(sheet, sheetRead.Point.HeaderFirstRowNum.Value);
var rowIndex = sheetRead.Point.HeaderFirstRowNum.Value + 1; var rowIndex = sheetRead.Point.HeaderFirstRowNum.Value + 1;
int lastrownumber = rowIndex;
if (!isNewTemp && !isIncom) if (!isNewTemp && !isIncom)
{ {
#region 给历史模板已有科室补充数据 #region 给历史模板已有科室补充数据
...@@ -1651,6 +1653,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewE ...@@ -1651,6 +1653,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewE
var department = row.GetCell(6)?.ToString(); // 科室名称 var department = row.GetCell(6)?.ToString(); // 科室名称
if (string.IsNullOrEmpty(department)) continue; if (string.IsNullOrEmpty(department)) continue;
lastrownumber = rowIndex;
var deptData = allExtract.Where(t => t.Department == department); var deptData = allExtract.Where(t => t.Department == department);
if (deptData == null || !deptData.Any()) continue; if (deptData == null || !deptData.Any()) continue;
...@@ -1684,7 +1687,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewE ...@@ -1684,7 +1687,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewE
if (allExtract == null || !allExtract.Any()) return; if (allExtract == null || !allExtract.Any()) return;
#region 补充新的科室及数据 #region 补充新的科室及数据
var lastrowIndex = (isNewTemp || isIncom) ? rowIndex : sheet.LastRowNum + 1; var lastrowIndex = (isNewTemp || isIncom) ? rowIndex : lastrownumber + 1;
foreach (var department in allExtract.Select(t => t.Department).Where(t => !string.IsNullOrEmpty(t)).Distinct()) foreach (var department in allExtract.Select(t => t.Department).Where(t => !string.IsNullOrEmpty(t)).Distinct())
{ {
var row = GetOrCreate(sheet, lastrowIndex); var row = GetOrCreate(sheet, lastrowIndex);
...@@ -1806,6 +1809,8 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewEx ...@@ -1806,6 +1809,8 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewEx
{ {
var head = GetOrCreate(sheet, sheetRead.Point.HeaderFirstRowNum.Value + 0); var head = GetOrCreate(sheet, sheetRead.Point.HeaderFirstRowNum.Value + 0);
var rowIndex = sheetRead.Point.HeaderFirstRowNum.Value + 2; var rowIndex = sheetRead.Point.HeaderFirstRowNum.Value + 2;
int lastrownumber = rowIndex;
if (!isNewTemp) if (!isNewTemp)
{ {
#region 给历史模板已有科室补充数据 #region 给历史模板已有科室补充数据
...@@ -1817,6 +1822,7 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewEx ...@@ -1817,6 +1822,7 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewEx
var department = row.GetCell(2)?.ToString(); // 科室名称 var department = row.GetCell(2)?.ToString(); // 科室名称
if (string.IsNullOrEmpty(department)) continue; if (string.IsNullOrEmpty(department)) continue;
lastrownumber++;
var deptData = allExtract.Where(t => t.Department == department); var deptData = allExtract.Where(t => t.Department == department);
if (deptData == null || !deptData.Any()) continue; if (deptData == null || !deptData.Any()) continue;
...@@ -1846,7 +1852,7 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewEx ...@@ -1846,7 +1852,7 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<NewEx
//var unit = sheet.SheetName.IndexOf("医生") > -1 ? new int[] { (int)UnitType.医生组, (int)UnitType.医技组 } : new int[] { (int)UnitType.护理组 }; //var unit = sheet.SheetName.IndexOf("医生") > -1 ? new int[] { (int)UnitType.医生组, (int)UnitType.医技组 } : new int[] { (int)UnitType.护理组 };
#region 补充新的科室及数据 #region 补充新的科室及数据
var lastrowIndex = isNewTemp ? rowIndex : sheet.LastRowNum + 1; var lastrowIndex = isNewTemp ? rowIndex : lastrownumber + 1;
foreach (var department in allExtract.Select(t => t.Department).Where(t => !string.IsNullOrEmpty(t)).Distinct()) foreach (var department in allExtract.Select(t => t.Department).Where(t => !string.IsNullOrEmpty(t)).Distinct())
{ {
var row = sheet.CreateRow(lastrowIndex); var row = sheet.CreateRow(lastrowIndex);
......
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