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();