调整wareHouseService部分代码

This commit is contained in:
alex
2023-07-14 11:07:07 +08:00
parent 1eaae0a983
commit cc6010be4e
2 changed files with 34 additions and 29 deletions

View File

@@ -251,14 +251,13 @@ namespace Tnb.WarehouseMgr
{
var moveNum = itGroup.First().move_num;
var items = itGroup.Adapt<List<WmsDistaskH>>();
items.ForEach(x => SnowflakeIdHelper.NextId());
items.ForEach(x =>
{
x.id = SnowflakeIdHelper.NextId();
x.status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID;
x.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TASK_EXECUTE_ENCODE).GetAwaiter().GetResult();
});
var areaPreTasks = itGroup.ToList();
if (moveNum == 1)
{
items.ForEach(x =>
@@ -269,6 +268,7 @@ namespace Tnb.WarehouseMgr
}
else if (moveNum > 1)
{
var areaPreTasks = itGroup.ToList();
//搬运数量==预任务数,可以生成任务执行,为任务链
if (moveNum == areaPreTasks.Count)
{
@@ -387,15 +387,17 @@ namespace Tnb.WarehouseMgr
await _db.Updateable<WmsDistaskH>().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_RUNING_ID }).Where(it => input.disTaskIds.Contains(it.id)).ExecuteCommandAsync();
//清空载具库位数据
var carryIds = await _db.Queryable<WmsDistaskH>().Where(it => input.disTaskIds.Contains(it.id)).Select(it => it.carry_id).ToListAsync();
if (carryIds?.Count > 0)
var carryAndLocIds = await _db.Queryable<WmsDistaskH>().Where(it => input.disTaskIds.Contains(it.id)).Select(it => new { it.carry_id, it.startlocation_id }).ToListAsync();
if (carryAndLocIds?.Count > 0)
{
var carryIds = carryAndLocIds.Select(x => x.carry_id).ToList();
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { location_id = null, location_code = null }).Where(it => carryIds.Contains(it.id)).ExecuteCommandAsync();
}
var startLocationIds = await _db.Queryable<WmsDistaskH>().Where(it => input.disTaskIds.Contains(it.id)).Select(it => it.startlocation_id).ToListAsync();
//var startLocationIds = await _db.Queryable<WmsDistaskH>().Where(it => input.disTaskIds.Contains(it.id)).Select(it => it.startlocation_id).ToListAsync();
//更新起始库位,状态改为空闲、锁定状态,未锁定
if (startLocationIds?.Count > 0)
if (carryAndLocIds?.Count > 0)
{
var startLocationIds = carryAndLocIds.Select(x => x.startlocation_id).ToList();
await _db.Updateable<BasLocation>().SetColumns(it => new BasLocation { is_use = ((int)EnumCarryStatus.).ToString(), is_lock = 0 }).Where(it => startLocationIds.Contains(it.id)).ExecuteCommandAsync();
}