diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCarryService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCarryService.cs index 4eeff321..f51fba77 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCarryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCarryService.cs @@ -1,4 +1,5 @@ -using Tnb.WarehouseMgr.Entities; +using System.Runtime.CompilerServices; +using Tnb.WarehouseMgr.Entities; namespace Tnb.WarehouseMgr.Interfaces { @@ -12,6 +13,6 @@ namespace Tnb.WarehouseMgr.Interfaces /// /// /// - Task UpdateNullCarry(WmsCarryH carryObj); + Task UpdateNullCarry(WmsCarryH carryObj, Func> parallelUpdate=null, [CallerMemberName] string original = ""); } } \ No newline at end of file diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index c0b294a5..02249c8a 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -210,15 +210,17 @@ namespace Tnb.WarehouseMgr var arrary = items.ToArray(); for (int i = 1; i <= mod; i++) { - if (start >= itemsCount) break; - var subArray = arrary[start..end]; - for (int j = 0, arrLen = subArray.Length; j < arrLen; j++) + while (start < itemsCount) { - subArray[j].groups = groupCode; - subArray[j].bill_code = $"{groupCode}-{i}"; + var subArray = arrary[start..end]; + for (int j = 0, arrLen = subArray.Length; j < arrLen; j++) + { + subArray[j].groups = groupCode; + subArray[j].bill_code = $"{groupCode}-{i}"; + } + start = end; + end = Math.Min((end + moveNum), arrary.Length); } - start = end; - end = Math.Min((end + moveNum), arrary.Length); } } }); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs index ad7988b0..408acddb 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs @@ -1,4 +1,5 @@ -using JNPF.Common.Contracts; +using System.Runtime.CompilerServices; +using JNPF.Common.Contracts; using JNPF.Common.Core.Manager; using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Enums; @@ -155,7 +156,7 @@ namespace Tnb.WarehouseMgr } [NonAction] - public async Task UpdateNullCarry(WmsCarryH carryObj) + public async Task UpdateNullCarry(WmsCarryH carryObj, Func> parallelUpdate = null, [CallerMemberName] string original = "") { var row = 1; try @@ -172,8 +173,15 @@ namespace Tnb.WarehouseMgr carryObj.collocation_scheme_code = null; carryObj.source_id = null; carryObj.source_code = null; - Task.Run(() => _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync()); - //row = await _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync(); + if (parallelUpdate != null) + { + parallelUpdate(carryObj); + } + else + { + row = await _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync(); + } + //Task.Run(() => _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync()); //删除对应明细表 //删除载具明细 await _db.CopyNew().Deleteable().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs index 56df10e8..cd498d19 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs @@ -309,7 +309,7 @@ namespace Tnb.WarehouseMgr var tasks = new List>(); foreach (var carryIt in carrys) { - tasks.Add(_carryService.UpdateNullCarry(carryIt)); + tasks.Add(_carryService.UpdateNullCarry(carryIt, carryIt => Task.Run(() => _db.CopyNew().Updateable(carryIt).ExecuteCommandAsync()))); } var all = await Task.WhenAll(tasks); await _db.Ado.CommitTranAsync();