using Kean.Application.Command.ViewModels; using System.Collections.Generic; using System.Threading.Tasks; namespace Kean.Application.Command.Interfaces { /// /// 表示任务命令服务 /// public interface ITaskService { /// /// 创建上架任务 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int Id, Failure Failure)> Infeed(ViewModels.Task task); /// /// 创建下架任务 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int Id, Failure Failure)> Outfeed(ViewModels.Task task); /// /// 创建移库任务 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int Id, Failure Failure)> Transfer(ViewModels.Task task); /// /// 创建输送任务 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int Id, Failure Failure)> Bypass(ViewModels.Task task); /// /// 任务执行 /// /// 标识 /// 失败信息 Task Execute(int id); /// /// 任务取消 /// /// 标识 /// 失败信息 Task Cancel(int id); /// /// 任务完成 /// /// 标识 /// 失败信息 Task Complete(int id); /// /// 任务阻塞 /// /// 标识 /// 异常信息 /// 失败信息 Task Block(int id, string message); /// /// 货位禁用 /// /// 库房 /// 货位 /// 货位状态及失败信息 Task<(IEnumerable States, Failure Failure)> Disable(int warehouse, IEnumerable cells, string celltag); /// /// 货位启用 /// /// 库房 /// 货位 /// 货位状态及失败信息 Task<(IEnumerable States, Failure Failure)> Enable(int warehouse, IEnumerable cells); //////////////////////////////////////////////////// /// /// 创建申请出库任务 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int Id, Failure Failure)> ApplyOut(ViewModels.Task task); /// /// 创建托盘出库任务 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int Id, Failure Failure)> PalletOut(ViewModels.Task task); /// /// AGV申请出库 /// Task<(string barcode, Failure Failure)> AgvApplyOut(string requestNo, string code, Batch batch, string qty, string slTarget, string postUser); /// /// 重新上传海辰WMS数据 /// /// 标识 /// 失败信息 Task<(string message, Failure failure)> ReuploadHiWMS(int id); ///// ///// 创建直接出库任务 ///// ///// 任务视图 ///// 分配的 ID 及失败信息 //Task<(int Id, Failure failure)> DirectOutbound(ViewModels.Task task); /// /// 设置应急模式 /// /// 失败信息 Task Emergency(string stationCode, string stationModel, int @operator); /// /// 强制完成设置膜卷质量状态 /// /// 标识 /// 失败信息 Task<(string message, Failure failure)> SetRollTaskByLocalComplete(int id, int @operator); /// /// 人工重报完成 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int taskid, Failure failure)> RecompleteForNoAgv(ViewModels.Task task); /// /// 人工重报完成 /// /// 任务视图 /// 分配的 ID 及失败信息 Task<(int taskid, Failure failure)> RecompleteForNoHiwms(ViewModels.Task task); /// /// 任务WCS请求删除 /// /// 标识 /// 失败信息 Task CallDelete(int id); /// /// 设置任务优先级 /// /// 标识 /// 失败信息 Task SetPriority(ViewModels.Task task); /// /// 取消出库申请 /// Task CancelAgvApplyOut(string requestNo, string postUser); /// /// 空托盘自动出库 /// Task AutoPalletOut(); } }