|
|
@ -49,6 +49,7 @@ using Win.Sfs.SettleAccount.Constant; |
|
|
|
using Win.Sfs.SettleAccount.Entities.BQ.Dtos; |
|
|
|
using Win.Sfs.SettleAccount.Entities.BQ.Syncs; |
|
|
|
using Win.Sfs.SettleAccount.Entities.BQ.Vmi; |
|
|
|
using Win.Sfs.SettleAccount.Entities.CodeSettings; |
|
|
|
using Win.Sfs.SettleAccount.Entities.TaskJobs; |
|
|
|
using Win.Sfs.SettleAccount.ExcelImporter; |
|
|
|
using Win.Sfs.SettleAccount.ExportReports; |
|
|
@ -68,6 +69,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ |
|
|
|
private readonly IServiceProvider _serviceProvider; |
|
|
|
private readonly INormalEfCoreRepository<VmiBalance, Guid> _balanceRepository; |
|
|
|
private readonly INormalEfCoreRepository<VmiLog, Guid> _logRepository; |
|
|
|
private readonly INormalEfCoreRepository<CodeSetting, Guid> _codeRepository; |
|
|
|
private readonly IBlobContainer<MyFileContainer> _fileContainer; |
|
|
|
private readonly IHubContext<PageHub> _hubContext; |
|
|
|
private readonly ICurrentUser _currentUser; |
|
|
@ -79,6 +81,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ |
|
|
|
IGuidGenerator guidGenerator, |
|
|
|
INormalEfCoreRepository<VmiBalance, Guid> balanceRepository, |
|
|
|
INormalEfCoreRepository<VmiLog, Guid> logRepository, |
|
|
|
INormalEfCoreRepository<CodeSetting, Guid> codeRepository, |
|
|
|
IBlobContainer<MyFileContainer> fileContainer, |
|
|
|
|
|
|
|
IHubContext<PageHub> hubContext, |
|
|
@ -88,7 +91,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ |
|
|
|
TaskJobService service |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
{ |
|
|
|
this._codeRepository = codeRepository; |
|
|
|
this._cfg = cfg; |
|
|
|
this._guidGenerator = guidGenerator; |
|
|
|
this._serviceProvider = serviceProvider; |
|
|
@ -739,6 +744,57 @@ namespace Win.Sfs.SettleAccount.Entities.BQ |
|
|
|
log.ChangedBy = this._currentUser.UserName; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private int GetVersionByBillTime(DateTime p_billtime, string p_day) |
|
|
|
{ |
|
|
|
|
|
|
|
var before = p_billtime.Year; |
|
|
|
var last = before - 1; |
|
|
|
DateTime lastYear = DateTime.ParseExact(string.Format("{0}-12-{1} 08:00:00", last, p_day), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);//上期时间
|
|
|
|
DateTime beforeYear = DateTime.ParseExact(string.Format("{0}-12-{1} 07:59:59", before, p_day), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);//这期时间
|
|
|
|
|
|
|
|
//var result = seDetails
|
|
|
|
// .Select(log =>
|
|
|
|
// {
|
|
|
|
string version = null; |
|
|
|
|
|
|
|
if (p_billtime >= lastYear && p_billtime <= lastYear.AddMonths(1)) |
|
|
|
{ |
|
|
|
version = $"{before.ToString()}01"; |
|
|
|
} |
|
|
|
else if (p_billtime >= lastYear.AddMonths(1) && p_billtime <= lastYear.AddMonths(2)) |
|
|
|
{ version = $"{before.ToString()}02"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(2) && p_billtime <= lastYear.AddMonths(3)) |
|
|
|
{ version = $"{before.ToString()}03"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(3) && p_billtime <= lastYear.AddMonths(4)) |
|
|
|
{ version = $"{before.ToString()}04"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(4) && p_billtime <= lastYear.AddMonths(5)) |
|
|
|
{ version = $"{before.ToString()}05"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(5) && p_billtime <= lastYear.AddMonths(6)) |
|
|
|
{ version = $"{before.ToString()}06"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(6) && p_billtime <= lastYear.AddMonths(7)) |
|
|
|
{ version = $"{before.ToString()}07"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(7) && p_billtime <= lastYear.AddMonths(8)) |
|
|
|
{ version = $"{before.ToString()}08"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(8) && p_billtime <= lastYear.AddMonths(9)) |
|
|
|
{ version = $"{before.ToString()}09"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(9) && p_billtime <= lastYear.AddMonths(10)) |
|
|
|
{ version = $"{before.ToString()}10"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(10) && p_billtime <= lastYear.AddMonths(11)) |
|
|
|
{ version = $"{before.ToString()}11"; } |
|
|
|
else if (p_billtime >= lastYear.AddMonths(11) && p_billtime <= beforeYear) |
|
|
|
{ version = $"{before.ToString()}12"; } |
|
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(version)) |
|
|
|
{ |
|
|
|
return 200802;//找不到的数据默认写到这个区间
|
|
|
|
} |
|
|
|
return int.Parse(version); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 库存调整导入
|
|
|
|
/// </summary>
|
|
|
@ -783,6 +839,16 @@ namespace Win.Sfs.SettleAccount.Entities.BQ |
|
|
|
try |
|
|
|
{ |
|
|
|
using var transaction = context.Database.BeginTransaction(); |
|
|
|
|
|
|
|
var value = _codeRepository.FirstOrDefault(p => p.Project == "库存账期").Value; |
|
|
|
|
|
|
|
|
|
|
|
foreach (var itm in logList) |
|
|
|
{ |
|
|
|
itm.Version= GetVersionByBillTime(itm.BillTime.Value, value); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
await context.BulkInsertAsync(logList).ConfigureAwait(false); |
|
|
|
await context.BulkInsertAsync(messageList).ConfigureAwait(false); |
|
|
|
transaction.Commit(); |
|
|
|