Commit 46d49c12 by lcx

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

parent dcd083b0
......@@ -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());
if (sheet == null)
{
string key = "工作量";
if (module.ModuleName.Contains(key))
{
var item = pairs.Where(t => t.Key.StartsWith("3.")).OrderByDescending(t => t.Key).First();
var copysheet = workbook.GetSheet(item.Key);
var newSheet = copysheet.CopySheet(module.ModuleName, true);
workbook.SetSheetOrder(newSheet.SheetName, workbook.NumberOfSheets - 1);
}
//string key = "工作量";
//if (module.ModuleName.Contains(key))
//{
var item = pairs.Where(t => t.Key.StartsWith("3.")).OrderByDescending(t => t.Key).First();
var copysheet = workbook.GetSheet(item.Key);
var newSheet = copysheet.CopySheet(module.ModuleName, true);
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
}
}
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)
{
try
......
......@@ -48,7 +48,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType
}
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.百分比);
var columnStyle = style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.列头);
......@@ -61,7 +61,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType
columnCell.SetCellValue(item.ColumnName);
columnCell.CellStyle = columnStyle;
if (sheetType == SheetType.Workload)
if (new SheetType[] { SheetType.Workload, SheetType.OtherWorkload }.Contains(sheetType))
{
var workloadCell = workloadFactor.GetOrCreate(headerFirstCellNum);
workloadCell.SetCellValue<decimal>(item.WorkloadFactor);
......@@ -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 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 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