Commit a5ee5e64 by lcx

修复绩效抽取特殊科室数据补充跳过

parent fcc538f1
......@@ -182,7 +182,7 @@ private void SupplySpecialQuantity(ISheet sheet, ExcelStyle style, List<SpecialD
row.SetRowStyle(rowStyle);
var department = row.GetCell(dict[SpecialUnitColumns.Department]).GetDecodeEscapes();
CheckMergedRegions(rowIndex, department, ranges);
CheckMergedRegions(rowIndex, department, ranges, dict[SpecialUnitColumns.Department]);
var special = specials.FirstOrDefault(t => t.Department == department && t.Target == target);
if (special != null)
......@@ -205,26 +205,33 @@ private void SupplySpecialQuantity(ISheet sheet, ExcelStyle style, List<SpecialD
/// <param name="rowIndex"></param>
/// <param name="department"></param>
/// <param name="ranges"></param>
private void CheckMergedRegions(int rowIndex, string department, List<SpecialCellRange> ranges)
private void CheckMergedRegions(int rowIndex, string department, List<SpecialCellRange> ranges, int departmentColumnIndex)
{
var range = ranges.FirstOrDefault(t => t.FirstRow <= rowIndex && t.LastRow >= rowIndex);
if (range == null)
try
{
if (rowIndex == 0) return;
int prevRowIndex = rowIndex - 1;
range = ranges.FirstOrDefault(t => t.FirstRow <= prevRowIndex && t.LastRow >= prevRowIndex);
if (range != null && range.Single == department)
range.LastRow = rowIndex;
else
var range = ranges.FirstOrDefault(t => t.FirstRow <= rowIndex && t.LastRow >= rowIndex);
if (range == null)
{
var columnIndex = ranges.First().FirstColumn;
ranges.Add(new SpecialCellRange(new CellRangeAddress(rowIndex, rowIndex, columnIndex, columnIndex))
if (rowIndex == 0) return;
int prevRowIndex = rowIndex - 1;
range = ranges.FirstOrDefault(t => t.FirstRow <= prevRowIndex && t.LastRow >= prevRowIndex);
if (range != null && range.Single == department)
range.LastRow = rowIndex;
else
{
Single = department
});
var columnIndex = ranges.FirstOrDefault()?.FirstColumn ?? departmentColumnIndex;
ranges.Add(new SpecialCellRange(new CellRangeAddress(rowIndex, rowIndex, columnIndex, columnIndex))
{
Single = department
});
}
}
}
catch (Exception ex)
{
logger.LogError("CheckMergedRegions: " + ex);
}
}
/// <summary>
......
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