using WIDESEA_Core.Enums;
|
using WIDESEA_DTO;
|
using WIDESEA_DTO.WMS;
|
|
namespace WIDESEA_IStorageTaskServices;
|
|
public interface IDt_TaskService : IService<Dt_Task>
|
{
|
|
/// <summary>
|
/// 根据任务号获取任务
|
/// </summary>
|
/// <param name="taskNum"></param>
|
/// <returns></returns>
|
Task<Dt_Task> GetByTaskNum(int taskNum);
|
|
/// <summary>
|
/// 堆垛机任务完成
|
/// </summary>
|
/// <param name="saveModel">任务数据合集</param>
|
/// <returns>返回结果集</returns>
|
abstract Task<WebResponseContent> CompleteOutboundTaskAsync(Dt_Task task, DtStockInfo stock);
|
|
/// <summary>
|
/// 移库任务完成
|
/// </summary>
|
/// <param name="saveModel">任务数据合集</param>
|
/// <returns>返回结果集</returns>
|
abstract Task<WebResponseContent> CompleteTransferTaskAsync(Dt_Task task, DtStockInfo stock);
|
|
/// <summary>
|
/// 任务完成
|
/// </summary>
|
/// <param name="saveModel"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> CompleteAsync(int taskNum);
|
|
/// <summary>
|
/// 取消任务
|
/// </summary>
|
/// <param name="taskNum"></param>
|
/// <returns></returns>
|
WebResponseContent TaskCancel(int taskNum);
|
|
/// <summary>
|
/// 获取任务信息
|
/// </summary>
|
/// <returns></returns>
|
WebResponseContent GetTaskInfo();
|
|
/// <summary>
|
/// 请求任务巷道
|
/// </summary>
|
/// <param name="position"></param>
|
/// <param name="areaCode"></param>
|
/// <param name="palletCode"></param>
|
/// <param name="type"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> RequestInboundTaskAsync(RequestTaskDto taskDto);
|
|
/// <summary>
|
/// 获取空货位
|
/// </summary>
|
/// <param name="roadWay"></param>
|
/// <returns></returns>
|
Task<DtLocationInfo> GetEmptyLocation(string roadWay);
|
|
/// <summary>
|
/// 获取AGV空货位
|
/// </summary>
|
/// <param name="AreaId"></param>
|
/// <returns></returns>
|
|
Task<DtLocationInfo> GetAGVEmptyCacheLocation(int AreaId, DtLocationInfo location);
|
|
/// <summary>
|
/// 请求任务货位
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> RequestLocationAsync(RequestTaskDto input);
|
|
/// <summary>
|
/// 请求托盘任务
|
/// </summary>
|
/// <param name="position">目标位置</param>
|
/// <param name="tag">托盘类型(1:实盘,2:空盘)</param>
|
/// <param name="areaCode">区域编码</param>
|
/// <param name="roadways">巷道列表</param>
|
/// <returns>返回结果集</returns>
|
Task<Dt_Task> RequestOutboundTaskAsync(RequestTaskDto taskDto);
|
|
|
/// <summary>
|
/// 其他出库任务请求
|
/// </summary>
|
/// <param name="palletCode"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> OtherOutBoundTaskAsync(string palletCode);
|
|
|
/// <summary>
|
/// 任务状态修改
|
/// </summary>
|
/// <param name="input">请求数据</param>
|
/// <returns></returns>
|
Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState);
|
|
/// <summary>
|
/// 请求跨楼层2任务
|
/// </summary>
|
/// <param name="taskDto"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> AcrossFloorTaskAsync(RequestAcrossFloorTaskDto taskDto);
|
|
/// <summary>
|
/// 请求跨楼层任务
|
/// </summary>
|
/// <param name="SourceAddress"></param>
|
/// <param name="palletCode"></param>
|
/// <param name="TargetAddress"></param>
|
/// <returns></returns>
|
|
Dt_Task RequestAcrossFloorTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, string palletCode);
|
|
|
/// <summary>
|
/// AGV请求搬运任务
|
/// </summary>
|
/// <param name="taskDto"></param>
|
/// <returns></returns>
|
Dt_Task RequestAGVCarryTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, string palletCode);
|
|
|
|
/// <summary>
|
/// 堆垛机出库是否需要移库
|
/// </summary>
|
/// <param name="taskDto"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> StackerIsNeedRelocationAsync(RequestTaskDto taskDto);
|
|
/// <summary>
|
/// AGV出库是否需要移库
|
/// </summary>
|
/// <param name="taskDto"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> AGVIsNeedRelocationAsync(RequestTaskDto taskDto);
|
|
|
Task<WebResponseContent> SendERPTaskCompletion(string palletCode);
|
|
Task<WebResponseContent> SendWCSTask(List<WMSTaskDTO> taskDTO);
|
|
(List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(DtLocationInfo location, LocationEnum locationStatus, int taskNum, int StatusChangeType);
|
|
(List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(string locationCode, LocationEnum locationStatus, int taskNum, int StatusChangeType);
|
}
|