1
huangxiaoqiang
7 天以前 4dfe8ece141f05a163cf7d290b6fe4c520d89909
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
@@ -1,4 +1,6 @@
using WIDESEA_DTO;
using WIDESEA_Core.Enums;
using WIDESEA_DTO;
using WIDESEA_DTO.WMS;
namespace WIDESEA_IStorageTaskServices;
@@ -34,6 +36,19 @@
    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>
@@ -41,14 +56,29 @@
    /// <param name="palletCode"></param>
    /// <param name="type"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestTaskAsync(RequestTaskDto taskDto);
    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> UpdateExistingTask(RequestTaskDto input);
    Task<WebResponseContent> RequestLocationAsync(RequestTaskDto input);
    /// <summary>
    /// è¯·æ±‚托盘任务
@@ -58,7 +88,21 @@
    /// <param name="areaCode">区域编码</param>
    /// <param name="roadways">巷道列表</param>
    /// <returns>返回结果集</returns>
    Task<WebResponseContent> RequestOutTaskAsync(RequestTaskDto taskDto);
    Task<Dt_Task> RequestOutboundTaskAsync(RequestTaskDto taskDto);
    /// <summary>
    /// å…¶ä»–出库任务请求
    /// </summary>
    /// <param name="palletCode"></param>
    /// <returns></returns>
    Task<WebResponseContent> OutBoundTaskAsync(string palletCode);
    Task<WebResponseContent> OtherOutBoundTaskAsync(List<DtStockInfoDetail> details);
    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(List<Dt_Task> tasks, int StatusChangeTypeEnum);
    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(Dt_Task task, int StatusChangeTypeEnum);
    /// <summary>
@@ -83,13 +127,40 @@
    /// <param name="TargetAddress"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestAcrossFloorTaskAsync(RequestTaskDto taskDto);
    Dt_Task RequestAcrossFloorTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto);
    /// <summary>
    /// AGV请求搬运任务
    /// </summary>
    /// <param name="taskDto"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestAGVCarryTaskAsync(RequestTaskDto taskDto);
    Dt_Task RequestAGVCarryTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto);
    /// <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> 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);
    bool LocationIsOutBound(DtLocationInfo location);
}