using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEAWCS_DTO.AGV { public class ESSModel { } public class TaskModel { //入库 "taskType": "putaway" , 出库 "taskType": "carry" public string taskType { get; set; } public string taskGroupCode { get; set; } public int groupPriority { get; set; } public List tasks { get; set; } } public class TasksType { public string taskCode { get; set; } public int taskPriority { get; set; } public TaskDescribeType taskDescribe { get; set; } } public class TaskDescribeType { public string containerCode { get; set; } public string containerType { get; set; } public string storageTag { get; set; } public string fromLocationCode { get; set; } public string toStationCode { get; set; } public string toLocationCode { get; set; } public int deadline { get; set; } } public class Response { public int Code { get; set; } public string? Msg { get; set; } public object? Data { get; set; } } public class StatusCallbackRequest { /// /// 一次回调唯一标识 /// public string CallId { get; set; } /// /// 业务任务号 /// 当eventType为robot_reach时不填,其他值时必填 /// public string TaskCode { get; set; } /// /// 上报事件类型 /// public EventType EventType { get; set; } /// /// 任务状态 /// public TaskStatus Status { get; set; } /// /// 机器人编码 /// public string RobotCode { get; set; } /// /// 容器编码 /// public string ContainerCode { get; set; } /// /// 工作位编码 /// public string LocationCode { get; set; } /// /// 工作站编码 /// public string StationCode { get; set; } /// /// 描述信息,描述异常原因/挂起原因等 /// public string Message { get; set; } /// /// 系统任务编码,用于任务挂起回调 /// public string SysTaskCode { get; set; } /// /// 库位是否有容器,eventType为task且为盘点任务时才会返回该值 /// public bool? IsLocationHasContainer { get; set; } /// /// 背签层叶,从0层开始,从下往上编号。64表示放在了货叉上 /// 当eventType为task且为称重盘点任务或rfid盘点任务时才会返回该值 /// public int? TrayLevel { get; set; } /// /// 重量,单位为g。当eventType为task且为称重盘点任务时才会返回该值 /// public int? Weight { get; set; } /// /// RFID盘点信息。当eventType为task且为rfid盘点任务时才会返回该值 /// public List Rfids { get; set; } /// /// 机器人类型编码。当eventType为robot_reach时才会返回该值 /// public string RobotTypeCode { get; set; } /// /// 托盘信息。当eventType为robot_reach时才会返回该值 /// public List Trays { get; set; } } public enum EventType { /// /// 任务状态变化 /// status:success-完成,cancel-取消,suspend-挂起 /// task, /// /// 任务分配 /// task_allocated, /// /// 取箱状态 /// tote_load, /// /// 放箱状态 /// tote_unload, /// /// 机器人到达工作站 /// robot_reach, /// /// 扫码完成 /// tote_scan, } public enum TaskStatus { /// /// 成功 /// success, /// /// 取消 /// cancel, /// /// 挂起 /// suspend, } public class TrayItem { /// /// 容器编码 /// public string ContainerCode { get; set; } /// /// 背签层叶,从0层开始,从下往上编号。64表示容器放在了货叉上 /// public int TrayLevel { get; set; } /// /// 位置编码,由机器人编码和背签层数组成,即机器人id#层数 /// public string PositionCode { get; set; } /// /// 目标容器朝向,取值为枚举值A、B、C、D /// public ContainerFace? ContainerFace { get; set; } } public enum ContainerFace { /// /// 0度 /// A = 0, /// /// 90度 /// B = 90, /// /// 180度 /// C = 180, /// /// 270度 /// D = 270 } }