山东雷驰
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
4.5 KiB

3 months ago
using Kean.Application.Command.ViewModels;
using Kean.Domain.Task.Commands;
using System.Threading.Tasks;
namespace Kean.Application.Command.Interfaces
{
/// <summary>
/// 表示任务交互聚合颗粒
/// </summary>
partial interface IAggregateGrain
{
/// <summary>
/// 创建上架任务
/// </summary>
/// <param name="command">命令</param>
/// <returns>分配的 ID 及失败信息</returns>
Task<(int Id, Failure Failure)> Infeed(InfeedCommand command);
/// <summary>
/// 创建下架任务
/// </summary>
/// <param name="command">命令</param>
/// <returns>分配的 ID 及失败信息</returns>
Task<(int Id, Failure Failure)> Outfeed(OutfeedCommand command);
/// <summary>
/// 创建移库任务
/// </summary>
/// <param name="command">命令</param>
/// <returns>分配的 ID 及失败信息</returns>
Task<(int Id, Failure Failure)> Transfer(TransferCommand command);
/// <summary>
/// 创建输送任务
/// </summary>
/// <param name="command">命令</param>
/// <returns>分配的 ID 及失败信息</returns>
Task<(int Id, Failure Failure)> Bypass(BypassCommand command);
/// <summary>
/// 任务执行
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> Execute(ExecuteCommand command);
/// <summary>
/// 任务取消
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> Cancel(CancelCommand command);
/// <summary>
/// 任务完成
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> Complete(CompleteCommand command);
/// <summary>
/// 任务阻塞
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> Block(BlockCommand command);
/////////////////////////////////////////////////////////////////
/// <summary>
/// 创建下架任务
/// </summary>
/// <param name="command">命令</param>
/// <returns>分配的 ID 及失败信息</returns>
Task<(int Id, Failure Failure)> ApplyOut(ApplyOutCommand command);
/// <summary>
/// 创建托盘出库任务
/// </summary>
/// <param name="command">命令</param>
/// <returns>分配的 ID 及失败信息</returns>
Task<(int Id, Failure Failure)> PalletOut(PalletOutCommand command);
/// <summary>
/// 申请出库数据准备
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<(string barcode, Failure failure)> PreApplyOut(PreApplyOutCommand command);
/// <summary>
/// ReuploadHiWMS
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> ReuploadHiWMS(ReuploadTaskCommand command);
/// <summary>
/// SetRollTask
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> SetRollTask(SetRollTaskCommand command);
/// <summary>
/// SetTaskState
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> SetTaskState(SetTaskStateCommand command);
/// <summary>
/// 请求删除任务
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> CallDelete(CallDeleteCommand command);
/// <summary>
/// 设置任务优先级
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> SetPriority(SetPriorityCommand command);
/// <summary>
/// 取消出库申请
/// </summary>
/// <param name="command">命令</param>
/// <returns>失败信息</returns>
Task<Failure> CancelAgvApplyOut(CancelAgvApplyOutCommand command);
/// <summary>
/// 空托盘自动出库
/// </summary>
Task<Failure> AutoPalletOut(AutoPalletOutCommand command);
}
}