Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -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
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
Task<int> UpdateNullCarry(WmsCarryH carryObj);
|
||||
Task<int> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> updateTask=null, [CallerMemberName] string original = "");
|
||||
}
|
||||
}
|
||||
@@ -200,7 +200,7 @@ namespace Tnb.WarehouseMgr
|
||||
items[0].groups = groupCode;
|
||||
items[0].bill_code = $"{groupCode}-1";
|
||||
}
|
||||
else if ((moveNum > areaPreTasks.Count && areaPreTasks.Count > 1) || moveNum < areaPreTasks.Count)
|
||||
else if ((moveNum >= areaPreTasks.Count && areaPreTasks.Count > 1) || moveNum < areaPreTasks.Count)
|
||||
{
|
||||
items.ForEach(x => x.is_chain = 1);
|
||||
var itemsCount = items.Count;
|
||||
@@ -210,19 +210,20 @@ 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);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//获取所有未下发的预任务申请
|
||||
@@ -251,40 +252,11 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
items[i].id = SnowflakeIdHelper.NextId();
|
||||
items[i].status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID;
|
||||
//items[i].groups = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TASK_EXECUTE_ENCODE);
|
||||
}
|
||||
|
||||
if (moveNum == 1)
|
||||
{
|
||||
items.ForEach(x =>
|
||||
{
|
||||
x.is_chain = 0;
|
||||
//x.chain_type = "3";
|
||||
});
|
||||
}
|
||||
else if (moveNum > 1)
|
||||
if (moveNum >= 1)
|
||||
{
|
||||
var areaPreTasks = itGroup.ToList();
|
||||
//搬运数量==预任务数,可以生成任务执行,为任务链
|
||||
if (moveNum == areaPreTasks.Count)
|
||||
{
|
||||
await _taskChainAttrHandle(items, areaPreTasks, moveNum);
|
||||
}
|
||||
else if (moveNum > areaPreTasks.Count && areaPreTasks.Count == 1) //搬运数量>预任务数,且预任务数等于1,不是任务链,预任务数据平替到任务执行
|
||||
{
|
||||
await _taskChainAttrHandle(items, areaPreTasks, moveNum);
|
||||
}
|
||||
else if (moveNum > areaPreTasks.Count && areaPreTasks.Count > 1) //搬运数量>预任务数,且预任务数大于1,可以执行时,可以生成任务执行,为任务链
|
||||
{
|
||||
await _taskChainAttrHandle(items, areaPreTasks, moveNum);
|
||||
}
|
||||
else if (false) //搬运数量>预任务数,且预任务数大于1,不可以执行时,先空着
|
||||
{
|
||||
}
|
||||
else if (moveNum < areaPreTasks.Count) //搬运数量<预任务数, 按照预任务先后顺序,生成对应搬运数量的任务组
|
||||
{
|
||||
await _taskChainAttrHandle(items, areaPreTasks, moveNum);
|
||||
}
|
||||
await _taskChainAttrHandle(items, areaPreTasks, moveNum);
|
||||
}
|
||||
if (preTaskCodes?.Count > 0)
|
||||
{
|
||||
|
||||
@@ -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<int> UpdateNullCarry(WmsCarryH carryObj)
|
||||
public async Task<int> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> updateTask = 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<int>.Run(() => _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync());
|
||||
//row = await _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync();
|
||||
if (updateTask != null)
|
||||
{
|
||||
updateTask(carryObj);
|
||||
}
|
||||
else
|
||||
{
|
||||
row = await _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync();
|
||||
}
|
||||
//Task<int>.Run(() => _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync());
|
||||
//删除对应明细表
|
||||
//删除载具明细
|
||||
await _db.CopyNew().Deleteable<WmsCarryD>().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
|
||||
|
||||
@@ -309,7 +309,7 @@ namespace Tnb.WarehouseMgr
|
||||
var tasks = new List<Task<int>>();
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user