|
@@ -4,6 +4,7 @@ using ServiceCenter.Extensions;
|
|
|
using ServiceCenter.Logs;
|
|
|
using ServiceCenter.SqlSugars;
|
|
|
using System.ComponentModel;
|
|
|
+using System.Security.Cryptography.Xml;
|
|
|
using WCS.Core;
|
|
|
using WCS.Entity;
|
|
|
using WCS.Entity.Protocol.Station;
|
|
@@ -145,7 +146,23 @@ namespace WCS.WorkEngineering.Systems
|
|
|
agv.Status = AGVTaskStatus.Confirm;
|
|
|
agv.AgvStatus = AGVTaskStatus.Confirm;
|
|
|
db.Default.UpdateableRowLock(agv).SplitTable(x => x.Take(2)).ExecuteCommand();
|
|
|
- AgvApi.托盘回库(agv.Position, agv.ID.ToString(), agv.Station);
|
|
|
+ if (agv.Station == "2533")
|
|
|
+ {
|
|
|
+ AgvApi.满托入库(agv.Position, agv.ID.ToString(), agv.Station);
|
|
|
+ var tasknew = db.Default.Queryable<WCS_TaskInfo>().NoLock().Where(x => x.ID == agv.TaskId).First();
|
|
|
+ if (tasknew != null)
|
|
|
+ {
|
|
|
+ tasknew.Status = TaskStatus.AGVExecution;
|
|
|
+ tasknew.EditTime = DateTime.Now;
|
|
|
+ db.Default.UpdateableRowLock(tasknew).UpdateColumns(x => new { x.Status, x.EditTime }).ExecuteCommand();
|
|
|
+ tasknew.AddWCS_TASK_DTL(db.Default, "agv", "任务下发agv执行");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ AgvApi.托盘回库(agv.Position, agv.ID.ToString(), agv.Station);
|
|
|
+ }
|
|
|
+
|
|
|
break;
|
|
|
//巷道分配
|
|
|
case AGVTaskStatus.RequestOrPermission1 when agv.Status != AGVTaskStatus.Complete1:
|
|
@@ -278,7 +295,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
- //取货站点安全交互
|
|
|
+ //放货站点安全交互
|
|
|
case AGVTaskStatus.RequestOrPermission2 when agv.Status != AGVTaskStatus.RequestOrPermission2:
|
|
|
{
|
|
|
if (agv.Station.IsNullOrEmpty()) throw new Exception($"无有效放货地址");
|
|
@@ -288,6 +305,8 @@ namespace WCS.WorkEngineering.Systems
|
|
|
{
|
|
|
throw new Exception($"{agv.Station}站台有光电小车无法放货,请检查并处理");
|
|
|
}
|
|
|
+ var devinfo = new Device<IStation520, IStation521>(Device.All.First(x => x.Code == agv.Station), World);
|
|
|
+ devinfo.Data.CmdType = StationCmd.Res1;
|
|
|
//调继续执行任务接口
|
|
|
AgvApi.ContinueTask(agv.AgvID, dev.Code);
|
|
|
break;
|
|
@@ -313,7 +332,19 @@ namespace WCS.WorkEngineering.Systems
|
|
|
task.EndTime = DateTime.Now;
|
|
|
db.Default.UpdateableRowLock(task).UpdateColumns(x => new { x.Status, x.EndTime }).ExecuteCommand();
|
|
|
task.AddWCS_TASK_DTL(db.Default, "agv", "任务完成");
|
|
|
- }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (taskold.BusType == "人工满托入库")
|
|
|
+ {
|
|
|
+ var task = db.Default.Queryable<WCS_TaskInfo>().NoLock().Where(x => x.ID == agv.TaskId).First();
|
|
|
+ if (task != null)
|
|
|
+ {
|
|
|
+ task.Status = TaskStatus.ConveyorExecution;
|
|
|
+ devinfo.Data.TaskNumber = task.ID;
|
|
|
+ task.EndTime = DateTime.Now;
|
|
|
+ db.Default.UpdateableRowLock(task).UpdateColumns(x => new { x.Status, x.EndTime }).ExecuteCommand();
|
|
|
+ task.AddWCS_TASK_DTL(db.Default, "agv", "任务放货完成");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
break;
|