Commit 7b7e9c17 by lcx

人员抽取

parent 446b121e
using NPOI.SS.UserModel;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using Performance.DtoModels;
using Performance.Infrastructure;
using System;
using System.Collections.Generic;
using System.IO;
namespace Performance.Services.ExtractExcelService
{
......@@ -129,5 +133,23 @@ public static string GetDecodeEscapes(this ICell cell)
return "";
}
}
public static IWorkbook GetWorkbook(string filePath)
{
IWorkbook workbook = null;
if (string.IsNullOrEmpty(filePath)) return workbook;
var version = FileHelper.GetExtension(filePath) == ".xlsx" ? ExcelVersion.xlsx : ExcelVersion.xls;
using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate))
{
workbook = (version == ExcelVersion.xlsx)
? (IWorkbook)(new XSSFWorkbook(fs))
: (IWorkbook)(new HSSFWorkbook(fs));
}
return workbook;
}
}
}
......@@ -86,7 +86,9 @@ public string Main(int allotId, int hospitalId, string email, string groupName =
private void WriteToTemplate()
{ }
{
}
......
......@@ -4,7 +4,7 @@
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class AccountBasicDataWrite
class AccountBasicDataWrite : ISheetDataWrite
{
}
}
......@@ -4,7 +4,7 @@
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class ClinicEmployeeDataWrite
class ClinicEmployeeDataWrite : ISheetDataWrite
{
}
}
using System;
using NPOI.SS.UserModel;
using Performance.DtoModels;
using Performance.EntityModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class EmployeeDataWrite
public class EmployeeDataWrite : ISheetDataWrite
{
public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetType, object data)
{
if (data == null || (data is IEnumerable<per_employee> employees && !employees.Any())) return;
int dataFirstRowNum = point.DataFirstRowNum.Value;
//foreach (var employee in employees)
//{
// var row = sheet.GetOrCreate(dataFirstRowNum);
//}
}
private readonly string[] accountingUnits = new string[] { AccountUnitType.行政高层.ToString(), AccountUnitType.行政中层.ToString(), AccountUnitType.行政工勤.ToString() };
private readonly Dictionary<string, Func<per_employee, object>> employeeDict = new Dictionary<string, Func<per_employee, object>>
{
{ "人员分类", (t) => t.UnitType },
{ "核算单元", (t) => t.AccountingUnit },
{ "人员工号", (t) => t.PersonnelNumber },
{ "医生姓名", (t) => t.DoctorName },
{ "参加工作时间", (t) => t.WorkTime },
{ "出勤率", (t) => t.Attendance },
};
}
}
......@@ -4,7 +4,7 @@
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class ExpendDataWrite
class ExpendDataWrite : ISheetDataWrite
{
}
}
......@@ -6,6 +6,6 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
public interface ISheetDataWrite
{
void WriteSheetData();
}
}
......@@ -4,7 +4,7 @@
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class IncomeDataWrite
class IncomeDataWrite : ISheetDataWrite
{
}
}
......@@ -4,7 +4,7 @@
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class OtherIncomeDataWrite
class OtherIncomeDataWrite : ISheetDataWrite
{
}
}
......@@ -4,7 +4,7 @@
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class SpecialUnitDataWrite
class SpecialUnitDataWrite : ISheetDataWrite
{
}
}
......@@ -4,7 +4,7 @@
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class WorkloadDataWrite
class WorkloadDataWrite : ISheetDataWrite
{
}
}
using Performance.DtoModels;
using Performance.Services.ExtractExcelService.SheetDataWrite;
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.Services.ExtractExcelService
{
public class WriteDataFactory
{
public ISheetDataWrite GetWriteData(SheetType sheetType)
{
ISheetDataWrite factory;
switch (sheetType)
{
case SheetType.Employee:
factory = new EmployeeDataWrite();
break;
case SheetType.ClinicEmployee:
factory = new ClinicEmployeeDataWrite();
break;
case SheetType.OtherIncome:
factory = new OtherIncomeDataWrite();
break;
case SheetType.Income:
factory = new IncomeDataWrite();
break;
case SheetType.Expend:
factory = new ExpendDataWrite();
break;
case SheetType.Workload:
factory = new WorkloadDataWrite();
break;
case SheetType.AccountBasic:
factory = new AccountBasicDataWrite();
break;
case SheetType.SpecialUnit:
factory = new SpecialUnitDataWrite();
break;
default:
return null;
}
return factory;
}
}
}
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