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