From 4c41484c61a2d6c80fc3807037b374ae83108b1c Mon Sep 17 00:00:00 2001 From: Administrator Date: Thu, 13 Jan 2022 16:27:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WMS/WMSHQFSharePartAppService .cs | 55 +++++++++++++----- .../Entities/WMS/WMSHQHSharePartAppService.cs | 56 ++++++++++++++----- .../Entities/WMS/WmsHQMSharePartAppService.cs | 55 +++++++++++++----- 3 files changed, 127 insertions(+), 39 deletions(-) diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQFSharePartAppService .cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQFSharePartAppService .cs index 12d91283..2de0a8d2 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQFSharePartAppService .cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQFSharePartAppService .cs @@ -243,25 +243,54 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts _lst.AddRange(_lsAry.ToArray()); } } - foreach (var itm in _lst) + var outPutDetail = await _wmsRepository.Where(p => p.Version == input.Version).ToListAsync(); + + var error = from itm1 in outPutDetail + join itm2 in _lst on + new { itm1.MaterialCode} + equals + new { itm2.MaterialCode} + select itm1; + var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Sum(itm => itm.Qty) }); + if (errList.Count() == 0) { - itm.BillNum = _billNum; - } - await _wmsRepository.GetDbContext().BulkInsertAsync(_lst, new BulkConfig() { BulkCopyTimeout = 0, BatchSize = 10000 }); - int _count = _wmsVersionRepository.Count(p => p.Version == input.Version && p.BillNum == _billNum); - if (_count == 0) - { - var _version = new WmsHQFSharePartOutPut(GuidGenerator.Create(), input.Version, _billNum, CurrentUser.Email); + foreach (var itm in _lst) + { + itm.BillNum = _billNum; + } + await _wmsRepository.GetDbContext().BulkInsertAsync(_lst, new BulkConfig() { BulkCopyTimeout = 0, BatchSize = 10000 }); + int _count = _wmsVersionRepository.Count(p => p.Version == input.Version && p.BillNum == _billNum); + if (_count == 0) + { + var _version = new WmsHQFSharePartOutPut(GuidGenerator.Create(), input.Version, _billNum, CurrentUser.Email); - await _wmsVersionRepository.InsertAsync(_version, true); + await _wmsVersionRepository.InsertAsync(_version, true); - } + } + + foreach (var job in _joblist) + { + job.FileName = _billNum; + await _job.UpdateAsync(job); + } - foreach (var job in _joblist) + } + else { - job.FileName = _billNum; - await _job.UpdateAsync(job); + StringBuilder _buffer = new StringBuilder(); + foreach (var itm in errList) + { + _buffer.AppendFormat("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number); + } + var _errinfo = _buffer.ToString(); + + foreach (var job in _joblist) + { + job.FileName = _errinfo; + await _job.UpdateAsync(job); + } } + } return ApplicationConsts.SuccessStr; diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs index 4a960acb..59a13488 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs @@ -276,25 +276,55 @@ into temp1 _lst.AddRange(_lsAry.ToArray()); } } - foreach (var itm in _lst) + var outPutDetail = await _wmsRepository.Where(p => p.Version == input.Version).ToListAsync(); + + var error = from itm1 in outPutDetail + join itm2 in _lst on + new { itm1.MaterialCode } + equals + new { itm2.MaterialCode } + select itm1; + var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Sum(itm => itm.Qty) }); + if (errList.Count() == 0) { - itm.BillNum = _billNum; + foreach (var itm in _lst) + { + itm.BillNum = _billNum; + } + await _wmsRepository.GetDbContext().BulkInsertAsync(_lst, new BulkConfig() { BulkCopyTimeout = 0, BatchSize = 10000 }); + int _count = _wmsVersionRepository.Count(p => p.Version == input.Version && p.BillNum == _billNum); + if (_count == 0) + { + var _version = new WmsHQHSharePartOutPut(GuidGenerator.Create(), input.Version, _billNum, CurrentUser.Email); + await _wmsVersionRepository.InsertAsync(_version, true); + + } + foreach (var job in _joblist) + { + job.FileName = _billNum; + await _job.UpdateAsync(job); + } } - await _wmsRepository.GetDbContext().BulkInsertAsync(_lst, new BulkConfig() { BulkCopyTimeout = 0, BatchSize = 10000 }); - int _count = _wmsVersionRepository.Count(p => p.Version == input.Version && p.BillNum == _billNum); - if (_count == 0) + else { - var _version = new WmsHQHSharePartOutPut(GuidGenerator.Create(), input.Version, _billNum, CurrentUser.Email); - - await _wmsVersionRepository.InsertAsync(_version, true); + StringBuilder _buffer = new StringBuilder(); + foreach (var itm in errList) + { + _buffer.AppendFormat("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number); + } + var _errinfo = _buffer.ToString(); + foreach (var job in _joblist) + { + job.FileName = _errinfo; + await _job.UpdateAsync(job); + } } - foreach (var job in _joblist) - { - job.FileName = _billNum; - await _job.UpdateAsync(job); - } + + + + } //return _billNum; //else diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQMSharePartAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQMSharePartAppService.cs index 43ce5815..ca730e3b 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQMSharePartAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQMSharePartAppService.cs @@ -227,24 +227,53 @@ namespace Win.Sfs.SettleAccount.Entities.WMS _lst.AddRange(_lsAry.ToArray()); } } - foreach (var itm in _lst) - { - itm.BillNum = _billNum; - } - await _wmsRepository.GetDbContext().BulkInsertAsync(_lst, new BulkConfig() { BulkCopyTimeout = 0, BatchSize = 10000 }); - int _count = _wmsVersionRepository.Count(p => p.Version == input.Version && p.BillNum == _billNum); - if (_count == 0) + var outPutDetail = await _wmsRepository.Where(p => p.Version == input.Version).ToListAsync(); + + var error = from itm1 in outPutDetail + join itm2 in _lst on + new { itm1.MaterialCode } + equals + new { itm2.MaterialCode } + select itm1; + var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Sum(itm => itm.Qty) }); + + + if (errList.Count() == 0) { - var _version = new WmsHQMSharePartOutPut(GuidGenerator.Create(), input.Version, _billNum, CurrentUser.Email); + foreach (var itm in _lst) + { + itm.BillNum = _billNum; + } + await _wmsRepository.GetDbContext().BulkInsertAsync(_lst, new BulkConfig() { BulkCopyTimeout = 0, BatchSize = 10000 }); + int _count = _wmsVersionRepository.Count(p => p.Version == input.Version && p.BillNum == _billNum); + if (_count == 0) + { + var _version = new WmsHQMSharePartOutPut(GuidGenerator.Create(), input.Version, _billNum, CurrentUser.Email); - await _wmsVersionRepository.InsertAsync(_version, true); + await _wmsVersionRepository.InsertAsync(_version, true); - } + } - foreach (var job in _joblist) + foreach (var job in _joblist) + { + job.FileName = _billNum; + await _job.UpdateAsync(job); + } + } + else { - job.FileName = _billNum; - await _job.UpdateAsync(job); + StringBuilder _buffer = new StringBuilder(); + foreach (var itm in errList) + { + _buffer.AppendFormat("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number); + } + var _errinfo = _buffer.ToString(); + + foreach (var job in _joblist) + { + job.FileName = _errinfo; + await _job.UpdateAsync(job); + } } } //return _billNum;