任务执行,代码逻辑优化
This commit is contained in:
@@ -13,6 +13,6 @@ namespace Tnb.WarehouseMgr.Interfaces
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> parallelUpdate=null, [CallerMemberName] string original = "");
|
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].groups = groupCode;
|
||||||
items[0].bill_code = $"{groupCode}-1";
|
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);
|
items.ForEach(x => x.is_chain = 1);
|
||||||
var itemsCount = items.Count;
|
var itemsCount = items.Count;
|
||||||
@@ -253,40 +253,11 @@ namespace Tnb.WarehouseMgr
|
|||||||
{
|
{
|
||||||
items[i].id = SnowflakeIdHelper.NextId();
|
items[i].id = SnowflakeIdHelper.NextId();
|
||||||
items[i].status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID;
|
items[i].status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID;
|
||||||
//items[i].groups = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TASK_EXECUTE_ENCODE);
|
|
||||||
}
|
}
|
||||||
|
if (moveNum >= 1)
|
||||||
if (moveNum == 1)
|
|
||||||
{
|
|
||||||
items.ForEach(x =>
|
|
||||||
{
|
|
||||||
x.is_chain = 0;
|
|
||||||
//x.chain_type = "3";
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else if (moveNum > 1)
|
|
||||||
{
|
{
|
||||||
var areaPreTasks = itGroup.ToList();
|
var areaPreTasks = itGroup.ToList();
|
||||||
//搬运数量==预任务数,可以生成任务执行,为任务链
|
await _taskChainAttrHandle(items, areaPreTasks, moveNum);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (preTaskCodes?.Count > 0)
|
if (preTaskCodes?.Count > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
|
|
||||||
[NonAction]
|
[NonAction]
|
||||||
public async Task<int> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> parallelUpdate = null, [CallerMemberName] string original = "")
|
public async Task<int> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> updateTask = null, [CallerMemberName] string original = "")
|
||||||
{
|
{
|
||||||
var row = 1;
|
var row = 1;
|
||||||
try
|
try
|
||||||
@@ -173,9 +173,9 @@ namespace Tnb.WarehouseMgr
|
|||||||
carryObj.collocation_scheme_code = null;
|
carryObj.collocation_scheme_code = null;
|
||||||
carryObj.source_id = null;
|
carryObj.source_id = null;
|
||||||
carryObj.source_code = null;
|
carryObj.source_code = null;
|
||||||
if (parallelUpdate != null)
|
if (updateTask != null)
|
||||||
{
|
{
|
||||||
parallelUpdate(carryObj);
|
updateTask(carryObj);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user