第二稿

parent 2a040098
......@@ -30,21 +30,15 @@ public class ImportDataService : IAutoInjection
{
private readonly IOptions<AppConnection> _options;
private readonly PerSheetService _perSheetService;
private readonly PerforPerallotRepository _perforPerallotRepository;
private readonly PerforPersheetRepository _perforPersheetRepository;
private readonly LogManageService _logManageService;
public ImportDataService(
IOptions<AppConnection> options,
PerSheetService perSheetService,
PerforPerallotRepository perforPerallotRepository,
PerforPersheetRepository perforPersheetRepository,
LogManageService logManageService)
{
_options = options;
_perSheetService = perSheetService;
_perforPerallotRepository = perforPerallotRepository;
_perforPersheetRepository = perforPersheetRepository;
_logManageService = logManageService;
}
......@@ -89,7 +83,11 @@ private PerExcel Import(per_allot allot)
{
var sheet = workbook.GetSheetAt(i);
var sheetType = _perSheetService.GetSheetType(sheet.SheetName);
if (SheetType.Unidentifiable != sheetType)
_logManageService.WriteMsg("准备读取文件", $"正在准备读取“{sheet.SheetName}”", 1, allot.ID, "ReceiveMessage", true);
else
_logManageService.WriteMsg("准备读取文件", $"忽略文件“{sheet.SheetName}”", 1, allot.ID, "ReceiveMessage", true);
try
{
tasks.Add(Task.Factory.StartNew(() =>
......@@ -132,13 +130,15 @@ private PerExcel Import(per_allot allot)
private bool Save(PerExcel excel, int allotId)
{
var tasks = new List<Task>();
using (IDbConnection connection = new MySqlConnection(_options.Value.PerformanceConnectionString))
{
foreach (var sheet in excel.PerSheet)
{
_logManageService.WriteMsg("准备保存数据", $"正在准备保存数据“{sheet.SheetName}”", 1, allotId, "ReceiveMessage", true);
var allot = _perforPerallotRepository.GetEntity(t => t.ID == allotId);
var allotList = _perforPerallotRepository.GetEntities(t => t.HospitalId == allot.HospitalId);
var sheets = _perforPersheetRepository.GetEntities(w => w.AllotID == allotId && w.SheetType.HasValue);
var allot = connection.Get<per_allot>(allotId);
var allotList = connection.Query<per_allot>("select * from per_allot where HospitalId = @HospitalId", new { allot.HospitalId }).ToList();
var sheets = connection.Query<per_sheet>("select * from per_sheet where AllotID = @allotId", new { allotId }).ToList();
var task = Task.Factory.StartNew(() =>
{
......@@ -175,6 +175,7 @@ private bool Save(PerExcel excel, int allotId)
});
tasks.Add(task);
}
}
_logManageService.WriteMsg("保存基础数据", $"基础数据保存中...当前操作需要一点时间,请耐心等待", 1, allotId, "ReceiveMessage", true);
Task.WaitAll(tasks.ToArray());
......
......@@ -309,7 +309,6 @@ public per_allot UpdateAllotShowFormula(int allotId)
/// <param name="user"></param>
public void Generate(per_allot allot)
{
DateTime time = DateTime.Now;
try
{
logManageService.WriteMsg("绩效开始执行", $"正在生成{allot.Year}-{allot.Month.ToString().PadLeft(2, '0')}月份绩效!", 1, allot.ID, "ReceiveMessage", true);
......
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