现在问题处理
This commit is contained in:
@@ -174,7 +174,6 @@ namespace Tnb.WarehouseMgr
|
||||
var tags = _eleCtlCfg.tags;
|
||||
await Task.Delay(1000);
|
||||
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
Logger.Information($"【LoadConfirm】 电梯当前状态->系统状态:{sysStatus.ToEnum<EnumSysStatus>()},运行状态:{runStatus.ToEnum<EnumRunStatus>()},门状态:{doorStatus},Agv状态:{agvStatus.ToEnum<EnumAgvStatus>()},当前楼层:{floorNo},电梯占用状态{s_eleUseStatusDic[elevator.device_id]}");
|
||||
{
|
||||
var curFloor = await GetRealFloor(elevator.elevator_code, elevator.end_floor);
|
||||
/* Logger.Information($"目标楼层:{curFloor},电梯当前楼层:{floorNo}");
|
||||
@@ -182,6 +181,7 @@ namespace Tnb.WarehouseMgr
|
||||
var loadedStatus = s_eleUseStatusDic[elevator.device_id] == 1 ? "完成" : "未完成";
|
||||
Logger.Information($"{devName.Match(@"\d+")}#梯,取货-> {loadedStatus}");
|
||||
*/
|
||||
Logger.Information($"【LoadConfirm】 电梯当前状态->系统状态:{sysStatus.ToEnum<EnumSysStatus>()},运行状态:{runStatus.ToEnum<EnumRunStatus>()},门状态:{doorStatus},Agv状态:{agvStatus.ToEnum<EnumAgvStatus>()},当前楼层:{floorNo},目标楼层:{curFloor},电梯占用状态{s_eleUseStatusDic[elevator.device_id]}");
|
||||
if (s_eleUseStatusDic[elevator.device_id] == (int)EnumElevatorUseStatus.空闲 && curFloor != floorNo)
|
||||
{
|
||||
_ = await _elevatorControlService.CallLift(devName, curFloor, CancellationToken.None);
|
||||
@@ -281,9 +281,10 @@ namespace Tnb.WarehouseMgr
|
||||
Logger.Information("【UnloadConfirm】 接收到WCS放货确认信号..................");
|
||||
Logger.Information($"【UnloadConfirm】 当前放货,任务编号:{input.taskCode}");
|
||||
|
||||
WmsDistaskH dis = null;
|
||||
try
|
||||
{
|
||||
var dis = _db.Queryable<WmsDistaskH>().Where(P => P.bill_code == input.taskCode).First();
|
||||
dis = _db.Queryable<WmsDistaskH>().Where(P => P.bill_code == input.taskCode).First();
|
||||
if (dis.area_code == "ZSCJ001")
|
||||
{
|
||||
var flag = await _wareHouseService.Check(dis.endlocation_code, "UNLOAD");
|
||||
@@ -402,7 +403,7 @@ namespace Tnb.WarehouseMgr
|
||||
Logger.Information($"【UnloadConfirm】 发送电梯{devName}前门开门指令");
|
||||
_ = await _elevatorControlService.SendOpenCloseCmd(devName, 3); //发送电梯前门开门指令
|
||||
}
|
||||
|
||||
string innerpos = "";
|
||||
// 3 4号梯需要电梯是当前楼层开门状态就能进
|
||||
bool canEnter = false;
|
||||
if (devName == "Elevator3" || devName == "Elevator4")
|
||||
@@ -428,8 +429,19 @@ namespace Tnb.WarehouseMgr
|
||||
if (elevator.carry_count >= 2)
|
||||
{
|
||||
Logger.LogInformation($"电梯内{devName}已有两托货!");
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯内{devName}已有两托货!");
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内已有两托货!");
|
||||
}
|
||||
WmsElevatorH wmsElevatorH = await _db.Queryable<WmsElevatorH>().Where(r => r.elevator_id == elevator.device_id).FirstAsync();
|
||||
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == dis.startlocation_id).FirstAsync();
|
||||
// 如果当前所放梯内货位已占用
|
||||
if (wmsElevatorH.innerpos.Contains(wmsElevatorcacheArea.name))
|
||||
{
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
||||
}
|
||||
|
||||
innerpos = wmsElevatorH.innerpos + "," + wmsElevatorcacheArea.name;
|
||||
|
||||
|
||||
canEnter = true;
|
||||
}
|
||||
|
||||
@@ -439,7 +451,8 @@ namespace Tnb.WarehouseMgr
|
||||
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
|
||||
{
|
||||
is_use = (int)EnumElevatorUseStatus.占用,
|
||||
use_tasks = $"','{r.use_tasks}".Trim(',')
|
||||
use_tasks = $"','{r.use_tasks}".Trim(','),
|
||||
innerpos = innerpos.Trim(',')
|
||||
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
|
||||
s_eleUseStatusDic[elevator.device_id] = (int)EnumElevatorUseStatus.占用;
|
||||
Logger.Information($"【UnloadConfirm】 {devName}放货成功 状态变更为占用 {s_eleUseStatusDic.GetHashCode()} {s_eleUseStatusDic[elevator.device_id]}");
|
||||
@@ -850,7 +863,8 @@ namespace Tnb.WarehouseMgr
|
||||
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
|
||||
{
|
||||
is_use = (int)EnumElevatorUseStatus.空闲,
|
||||
use_tasks = ""
|
||||
use_tasks = "",
|
||||
innerpos = ""
|
||||
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
|
||||
s_eleUseStatusDic[elevator.device_id] = (int)EnumElevatorUseStatus.空闲;
|
||||
Logger.Information($"【TaskCallback】 {devName.Match(@"\d+")}#梯,设备名称:{devName},开始进入关门流程 {devName} 变更为空闲 {s_eleUseStatusDic.GetHashCode()} {s_eleUseStatusDic[elevator.device_id]}");
|
||||
@@ -928,7 +942,17 @@ namespace Tnb.WarehouseMgr
|
||||
await _wareHouseService.SsxControl_complete(disTask, "UNLOAD");
|
||||
|
||||
await _wareHouseService.Floor2MechanicalComplete(disTask, "UNLOAD");
|
||||
|
||||
// 三楼暂存放货完成时生成到电梯任务
|
||||
if (disTask.area_code == "F")
|
||||
{
|
||||
BasLocation endlocation = await _db.Queryable<BasLocation>().FirstAsync(r => r.id == disTask.endlocation_id);
|
||||
if (endlocation.region_id == WmsWareHouseConst.REGION_CPOutstockCache_ID)
|
||||
{
|
||||
Logger.Information($"【TaskCallback】托盘{disTask.carry_code}放货完成 开始分配到电梯任务");
|
||||
await _wareHouseService.AgvelevatorTimerTaskExceptionHandle();
|
||||
}
|
||||
}
|
||||
|
||||
Logger.Information($"【TaskCallback】 Agv放货完成,任务编号:{string.Join(",", disTasks.Select(x => x.bill_code))}");
|
||||
}
|
||||
|
||||
@@ -966,7 +990,8 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
is_use = (int)EnumElevatorUseStatus.空闲,
|
||||
use_tasks = "",
|
||||
carry_count = 0
|
||||
carry_count = 0,
|
||||
innerpos = ""
|
||||
})
|
||||
.Where(it => it.elevator_id == wmsElevatorH.elevator_id).ExecuteCommandAsync();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user