添加上升降机边调度逻辑
This commit is contained in:
@@ -434,6 +434,70 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// // 二楼机械臂
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> Floor2MechanicalComplete(WmsDistaskH disTask, string action)
|
||||
{
|
||||
if (disTask.area_code == "E")
|
||||
{
|
||||
Logger.Information($"【二楼机械臂Floor2MechanicalComplete】收到到货完成信号 传入参数: {disTask.bill_code} {action}");
|
||||
SqlSugarClient db = _db.CopyNew();
|
||||
|
||||
if (action == "UNLOAD")
|
||||
{
|
||||
ISugarQueryable<WmsMechanicalArmH> WmsMechanicalArmHs = db.Queryable<WmsMechanicalArmH>().Where(r => r.point_code == disTask.endpoint_code);
|
||||
if (WmsMechanicalArmHs.Count() == 0)
|
||||
{
|
||||
Logger.Information($"【二楼机械臂Floor2MechanicalComplete】 任务执行终点{disTask.endpoint_code} 与料架区的点位不匹配");
|
||||
return false;
|
||||
}
|
||||
WmsMechanicalArmH target = WmsMechanicalArmHs.First();
|
||||
|
||||
// 回写料架和AGV确认
|
||||
await db.Updateable<WmsMechanicalArmH>().SetColumns(r => new WmsMechanicalArmH
|
||||
{
|
||||
agvconfirm = 1,
|
||||
rackid = disTask.carry_id,
|
||||
rackcode = disTask.carry_code
|
||||
}).Where(r => r.id == target.id).ExecuteCommandAsync();
|
||||
Logger.Information($"【二楼机械臂Floor2MechanicalComplete】{disTask.bill_code} AGV已到货");
|
||||
}
|
||||
else
|
||||
{
|
||||
ISugarQueryable<WmsMechanicalArmH> WmsMechanicalArmHs = db.Queryable<WmsMechanicalArmH>().Where(r => r.point_code == disTask.startpoint_code);
|
||||
if (WmsMechanicalArmHs.Count() == 0)
|
||||
{
|
||||
Logger.Information($"【二楼机械臂Floor2MechanicalComplete】 任务执行起点{disTask.endpoint_code} 与料架区的点位不匹配");
|
||||
return false;
|
||||
}
|
||||
WmsMechanicalArmH target = WmsMechanicalArmHs.First();
|
||||
|
||||
//回写出库单状态
|
||||
await db.Updateable<WmsEmptyOutstockH>().SetColumns(r=>new WmsEmptyOutstockH
|
||||
{
|
||||
bindrackcomplete = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID
|
||||
}).Where(r => r.bill_code == target.outbill).ExecuteCommandAsync();
|
||||
|
||||
// 重置料架区
|
||||
await db.Updateable<WmsMechanicalArmH>().SetColumns(r => new WmsMechanicalArmH
|
||||
{
|
||||
stackingcount = 0,
|
||||
barcodes = "",
|
||||
outbill = "",
|
||||
maxnum = 0,
|
||||
iscreatepretask = 0,
|
||||
rackcode = "",
|
||||
rackid = "",
|
||||
agvconfirm = 0,
|
||||
mechanicalconfirm = 0
|
||||
}).Where(r => r.id == target.id).ExecuteCommandAsync();
|
||||
Logger.Information($"【二楼机械臂Floor2MechanicalComplete】{disTask.bill_code} AGV已到货");
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成任务执行
|
||||
@@ -1223,7 +1287,7 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
tuple = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
await Task.Delay(1000);
|
||||
} while (tuple.sysStatus != 3 && tuple.runStatus != 0);
|
||||
} while (tuple.sysStatus != 3 || tuple.runStatus != 0);
|
||||
|
||||
Logger.Information($"sysStatus:{tuple.sysStatus},runStatus:{tuple.runStatus},floorNo:{tuple.floorNo},disTask.end_floor={disTask.end_floor}");
|
||||
|
||||
@@ -1448,6 +1512,9 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
locIts.Add(loc);
|
||||
}
|
||||
|
||||
Logger.Information($@"TaskComplate 更新carryIts: {JsonConvert.SerializeObject(carryIts)}");
|
||||
Logger.Information($@"TaskComplate 更新carryCodeIts: {JsonConvert.SerializeObject(carryCodeIts)}");
|
||||
_ = await _db.Updateable(carryIts).UpdateColumns(it => new { it.is_lock, it.location_id, it.location_code }).ExecuteCommandAsync();
|
||||
//更新条码的库位和仓库信息
|
||||
_ = await _db.Updateable(carryCodeIts).UpdateColumns(it => new { it.warehouse_id, it.location_id, it.location_code }).Where(it => multiList.Select(x => x.carry_id).Contains(it.carry_id)).ExecuteCommandAsync();
|
||||
|
||||
Reference in New Issue
Block a user