|
|
@ -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;
|
|
|
|