CreateOrUpdateRobotTaskCommand.cs 1.63 KB
using System;

namespace Rcs.Application.MessageBus.Commands;

/// <summary>
/// 创建或更新任务命令
/// @author zzy
/// </summary>
public class CreateOrUpdateRobotTaskCommand : MessageBase
{
    /// <summary>
    /// 任务ID(更新时必填)
    /// </summary>
    public string? TaskId { get; set; }

    /// <summary>
    /// 任务编码
    /// </summary>
    public string TaskCode { get; set; } = $"T{DateTime.Now:yyMMddHHmm}_{Guid.NewGuid().ToString("N")[..6].ToLower()}";

    /// <summary>
    /// 任务名称
    /// </summary>
    public string? TaskName { get; set; }

    /// <summary>
    /// 机器人ID
    /// </summary>
    public string? RobotId { get; set; }

    /// <summary>
    /// 起点库位ID
    /// @author zzy
    /// </summary>
    public string? BeginLocationId { get; set; }

    /// <summary>
    /// 终点库位ID
    /// @author zzy
    /// </summary>
    public string? EndLocationId { get; set; }

    /// <summary>
    /// 终点区域ID(当EndLocationId为空时,自动在该区域内查找空货位)
    /// @author zzy
    /// </summary>
    public string? EndAreaId { get; set; }

    /// <summary>
    /// 终点资源ID(当EndLocationId和EndAreaId为空时,根据资源多边形区域查找空货位)
    /// @author zzy
    /// </summary>
    public string? EndResourceId { get; set; }

    /// <summary>
    /// 任务状态
    /// </summary>
    public int Status { get; set; } = 1;

    /// <summary>
    /// 优先级
    /// </summary>
    public int Priority { get; set; } = 99;

    /// <summary>
    /// 货架编码
    /// </summary>
    public string? ShelfCode { get; set; }
}