chengsc
2025-06-11 f21906b6464a0e6b42aade6f70127f7b8d6611f3
Admin.NET/WCS.Application/Model/AGVModel.cs
@@ -6,6 +6,144 @@
namespace WCS.Application
{
    #region JC34
    /// <summary>
    /// agv任务下发model
    /// </summary>
    public class AgvTaskSend
    {
        /// <summary>
        /// 外部任务唯一编号,如果为空,系统生成任务号并返回。
        /// </summary>
        public string robotTaskCode { get; set; }
        /// <summary>
        /// 任务类型
        /// </summary>
        public string taskType { get; set; }
        /// <summary>
        /// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
        /// </summary>
        public List<targetRoute> targetRoute { get; set; }
        /// <summary>
        /// 任务执行的初始优先顺序,数值越大,优先级越高。但机器人调度系统会根据任务繁忙程度,机器人的工作状态,以及其他优先级修正条件,进行综合判定后,实时动态调整任务实际的优先级数值。范围:1~120
        /// </summary>
        public int? initPriority { get; set; }
        /// <summary>
        /// 自定义扩展字段,可随业务的差异而传入不同的扩展内容,在业务流程的执行中使用
        /// </summary>
        public extra extra { get; set; }
    }
    /// <summary>
    /// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
    /// </summary>
    public class targetRoute
    {
        /// <summary>
        /// 目标路径序列。从 0 开始。
        /// </summary>
        public int seq { get; set; }
        /// <summary>
        /// 目标类型。可扩展枚举值。
        /// 预制枚举值:
        /// ZONE目标所处区域编号
        /// SITE站点别名
        /// STORAGE仓位别名
        /// MAT_LABEL物料标签
        /// CARRIER载具编号
        /// STACK巷道编号
        /// STACK_LABEL巷道特征值
        /// CHANNEL通道编号
        /// EQPT 外部设备
        /// PTL_WALL
        /// CTU 缓存架
        /// CARRIER_TYPE载具类型
        /// BIN_TYPE仓位类型
        /// AREA_STATION区域工作台
        /// PILE_COUNT一次搬几个
        /// MIX_CONDITION条件组合
        /// DEGREE 热度
        /// MULTI_BIN_GROUP多深位组号
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 机器人到达目标位置后的操作。国标要求,
        /// 非必要。对 AMR 动作无影响。可扩展的枚举值。
        /// 预制枚举值:
        /// COLLECT取货
        /// DELIVERY送货
        /// ROTATE旋转
        /// </summary>
        public object code { get; set; }
    }
    public class extra
    {
        /// <summary>
        /// 载具的信息,包含载具编号、层号。
        /// 使用场景:
        /// 1.装卸机或输送线专用
        /// 2.载具与站点没有绑定,但需要传入载具的场景。
        /// </summary>
        public List<carrierInfo> carrierInfo { get; set; }
    }
    public class carrierInfo
    {
        /// <summary>
        /// 载具类型
        /// </summary>
        public string carrierType { get; set; }
        /// <summary>
        /// 载具编号
        /// </summary>
        public string carrierCode { get; set; }
        /// <summary>
        /// 层号: 从 0 开始、从下往上编号
        /// </summary>
        public int layer { get; set; }
    }
    /// <summary>
    /// 返回实体
    /// </summary>
    public class ResponseAgvDto
    {
        /// <summary>
        /// true 成功  false 失败
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 返回码
        /// SUCCESS:成功
        /// FAIL:失败
        /// 是否必填:是
        /// </summary>
        public string code { get; set; }
        /// <summary>
        /// 返回消息
        /// 是否必填:是
        /// </summary>
        public string message { get; set; }
        /// <summary>
        /// 返回的数据结构
        /// 是否必填:否
        /// </summary>
        public data data { get; set; }
    }
    public class data
    {
        public string robotTaskCode { get; set; }
    }
    #endregion
    public class AGVApplyLockInput
    {
        /// <summary>
@@ -24,18 +162,38 @@
        public string ReqTime { get; set; }
        public string CurrentPositionCode { get; set; }
        /// <summary>
        /// 方法名 end : 任务结束
        /// </summary>
        public string Method { get; set; }
        /// <summary>
        /// 任务号
        /// </summary>
        public string TaskCode { get; set; }
        public string robotTaskCode { get; set; }
        /// <summary>
        /// 托盘号
        /// </summary>
        public string CtnrCode { get; set; }
        public ExtraInfo Extra { get; set; }
    }
    public class ExtraInfo
    {
        public ExtraInfoVal Values { get; set; }
    }
    public class ExtraInfoVal
    {
        /// <summary>
        /// 方法名 end : 任务结束
        /// </summary>
        public string Method { get; set; }
        /// <summary>
        /// 托盘号
        /// </summary>
        public string carrierCode { get; set; }
        /// <summary>
        /// 托盘数量
        /// </summary>
        public int pileCount { get; set; }
    }
    public class AGVCallBackResponse
    {