Commit 46d49c12 by lcx

绩效方案配置中新增抽取配置模板,模板中不带系数行

parent dcd083b0
...@@ -68,19 +68,23 @@ public static void CreateNotExistSheet(List<ex_module> modulesList, IWorkbook wo ...@@ -68,19 +68,23 @@ public static void CreateNotExistSheet(List<ex_module> modulesList, IWorkbook wo
} }
} }
foreach (var module in modulesList.Where(t => t.SheetType == (int)SheetType.Workload)?.OrderBy(t => t.ModuleName)) foreach (var module in modulesList.Where(t => new int[] { (int)SheetType.OtherWorkload, (int)SheetType.AccountDrugAssess, (int)SheetType.AccountMaterialsAssess }
.Contains(t.SheetType.Value))?.OrderBy(t => t.ModuleName))
{ {
var sheet = workbook.GetSheet(module.ModuleName) ?? workbook.GetSheet(module.ModuleName.NoBlank()); var sheet = workbook.GetSheet(module.ModuleName) ?? workbook.GetSheet(module.ModuleName.NoBlank());
if (sheet == null) if (sheet == null)
{ {
string key = "工作量"; //string key = "工作量";
if (module.ModuleName.Contains(key)) //if (module.ModuleName.Contains(key))
{ //{
var item = pairs.Where(t => t.Key.StartsWith("3.")).OrderByDescending(t => t.Key).First(); var item = pairs.Where(t => t.Key.StartsWith("3.")).OrderByDescending(t => t.Key).First();
var copysheet = workbook.GetSheet(item.Key); var copysheet = workbook.GetSheet(item.Key);
var newSheet = copysheet.CopySheet(module.ModuleName, true); var newSheet = copysheet.CopySheet(module.ModuleName, true);
workbook.SetSheetOrder(newSheet.SheetName, workbook.NumberOfSheets - 1); workbook.SetSheetOrder(newSheet.SheetName, workbook.NumberOfSheets - 1);
}
var point = PerSheetDataFactory.GetDataRead(SheetType.Workload)?.Point;
ClearSheetTemplate(newSheet, point, (SheetType)module.SheetType);
//}
} }
} }
} }
...@@ -111,6 +115,38 @@ public static void ClearSheetPartialData(ISheet sheet, PerSheetPoint point, Shee ...@@ -111,6 +115,38 @@ public static void ClearSheetPartialData(ISheet sheet, PerSheetPoint point, Shee
} }
} }
public static void ClearSheetTemplate(ISheet sheet, PerSheetPoint point, SheetType sheetType)
{
if (sheet == null)
return;
for (int i = point.HeaderFirstRowNum.Value; i < sheet.LastRowNum + 1; i++)
{
var row = sheet.GetRow(i);
if (row != null)
{
if (sheetType != SheetType.OtherWorkload && i != 2)
{
sheet.RemoveRow(row);
continue;
}
row.ZeroHeight = false; //取消隐藏行
int dataFirstCellRowNum = point.DataFirstCellNum.Value;
//跳过核算单元和科室
for (int j = dataFirstCellRowNum; j < row.LastCellNum; j++)
{
var cell = row.GetCell(j);
if (cell != null)
{
cell.RemoveCellComment(); //删除批注
row.RemoveCell(cell);
}
}
}
}
}
public static void CloseAutoFilter(string path) public static void CloseAutoFilter(string path)
{ {
try try
......
...@@ -48,7 +48,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType ...@@ -48,7 +48,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType
} }
if (columns == null || !columns.Any()) return; if (columns == null || !columns.Any()) return;
var factorStyle = sheetType == SheetType.Workload var factorStyle = new SheetType[] { SheetType.Workload, SheetType.OtherWorkload }.Contains(sheetType)
? style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.系数, CellFormat.数字) ? style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.系数, CellFormat.数字)
: style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.系数, CellFormat.百分比); : style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.系数, CellFormat.百分比);
var columnStyle = style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.列头); var columnStyle = style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.列头);
...@@ -61,7 +61,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType ...@@ -61,7 +61,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType
columnCell.SetCellValue(item.ColumnName); columnCell.SetCellValue(item.ColumnName);
columnCell.CellStyle = columnStyle; columnCell.CellStyle = columnStyle;
if (sheetType == SheetType.Workload) if (new SheetType[] { SheetType.Workload, SheetType.OtherWorkload }.Contains(sheetType))
{ {
var workloadCell = workloadFactor.GetOrCreate(headerFirstCellNum); var workloadCell = workloadFactor.GetOrCreate(headerFirstCellNum);
workloadCell.SetCellValue<decimal>(item.WorkloadFactor); workloadCell.SetCellValue<decimal>(item.WorkloadFactor);
...@@ -309,7 +309,9 @@ public static void WriteCollectData(ISheet sheet, PerSheetPoint point, SheetType ...@@ -309,7 +309,9 @@ public static void WriteCollectData(ISheet sheet, PerSheetPoint point, SheetType
{ {
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 = sheetType == SheetType.Workload ? collectWork : new SheetType[] { SheetType.OtherIncome, SheetType.Expend }.Contains(sheetType) ? collectIncome : collectDept; var filed = new SheetType[] { SheetType.Workload, SheetType.OtherWorkload }.Contains(sheetType)
? collectWork
: new SheetType[] { SheetType.OtherIncome, SheetType.Expend }.Contains(sheetType) ? collectIncome : collectDept;
var deptStyle = style.GetCellStyle(); var deptStyle = style.GetCellStyle();
var cellStyle = style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.数据); var cellStyle = style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.数据);
......
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