#region << 版 本 注 释 >> /*---------------------------------------------------------------- * 命å空间:WIDESEAWCS_ITaskInfoService * 创建者:胡童庆 * 创建时间:2024/8/2 16:13:36 * 版本:V1.0.0 * æè¿°ï¼š * * ---------------------------------------------------------------- * 修改人: * 修改时间: * 版本:V1.0.1 * 修改说明: * *----------------------------------------------------------------*/ #endregion << 版 本 注 释 >> using SqlSugar; using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Enums; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_ITaskInfoService { public interface ITaskService : IService<Dt_Task> { /// <summary> /// ä»»åŠ¡æŽ’åº /// </summary> public Dictionary<string, OrderByType> TaskOrderBy { get; set; } /// <summary> /// 所有入库任务类型 /// </summary> public List<int> TaskInboundTypes { get; } /// <summary> /// 所有出库任务类型 /// </summary> public List<int> TaskOutboundTypes { get; } /// <summary> /// 接收WMSä»»åŠ¡ä¿¡æ¯ /// </summary> /// <param name="taskDTOs">WMS任务对象集åˆ</param> /// <returns>返回处ç†ç»“æžœ</returns> WebResponseContent ReceiveWMSTask([NotNull] List<WMSTaskDTO> taskDTOs); /// <summary> /// æ ¹æ®æ‰˜ç›˜å·ã€èµ·å§‹åœ°å€å‘WMS请求任务 /// </summary> /// <param name="palletCode">托盘å·</param> /// <param name="sourceAddress">起始地å€</param> /// <returns></returns> WebResponseContent RequestWMSTask(string palletCode, string sourceAddress); /// <summary> /// æ ¹æ®è®¾å¤‡ç¼–å·ã€å½“å‰åœ°å€æŸ¥è¯¢è¾“é€çº¿æœªæ‰§è¡Œçš„任务 /// </summary> /// <param name="deviceNo">设备编å·</param> /// <param name="currentAddress">当å‰åœ°å€</param> /// <returns></returns> Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress); /// <summary> /// æ ¹æ®ä»»åŠ¡å·ã€ä¸‹ä¸€åœ°å€æŸ¥è¯¢è¾“é€çº¿æ‰§è¡Œä¸çš„任务 /// </summary> /// <param name="taskNum">任务å·</param> /// <param name="nextAddress">下一地å€</param> /// <returns></returns> Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress); /// <summary> /// æ ¹æ®ä»»åŠ¡å·ã€å½“å‰åœ°å€æŸ¥è¯¢è¾“é€çº¿å®Œæˆçš„任务 /// </summary> /// <param name="taskNum">任务å·</param> /// <param name="currentAddress">当å‰åœ°å€</param> /// <returns></returns> Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress); /// <summary> /// æ ¹æ®è®¾å¤‡ç¼–å·ã€ä»»åŠ¡ç±»åž‹åˆ†ç»„(å¯é€‰)按照优先级以åŠåˆ›å»ºæ—¶é—´æŽ’åºæŸ¥è¯¢ä»»åŠ¡æ± æ–°å¢žçš„ä»»åŠ¡ /// </summary> /// <param name="deviceNo">设备编å·</param> /// <param name="taskTypeGroup">任务类型分组(å¯é€‰)</param> /// <returns></returns> Dt_Task? QuertStackerCraneTask(string deviceNo, TaskTypeGroup? taskTypeGroup = null); /// <summary> /// æ ¹æ®è®¾å¤‡ç¼–å·ã€å½“å‰åœ°å€æŒ‰ç…§ä¼˜å…ˆçº§ä»¥åŠåˆ›å»ºæ—¶é—´æŽ’åºæŸ¥è¯¢ä»»åŠ¡æ± æ–°å¢žçš„ä»»åŠ¡ /// </summary> /// <param name="deviceNo">设备编å·</param> /// <param name="currentAddress">当å‰åœ°å€</param> /// <returns>返回任务实体对象,å¯èƒ½ä¸ºnull</returns> Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = ""); /// <summary> /// æ ¹æ®è®¾å¤‡ç¼–å·ã€å½“å‰åœ°å€æŒ‰ç…§ä¼˜å…ˆçº§ä»¥åŠåˆ›å»ºæ—¶é—´æŽ’åºæŸ¥è¯¢ä»»åŠ¡æ± å…¥åº“ç±»åž‹çš„æ–°å¢žçš„ä»»åŠ¡ /// </summary> /// <param name="deviceNo">设备编å·</param> /// <param name="currentAddress">当å‰åœ°å€</param> /// <returns>返回任务实体对象,å¯èƒ½ä¸ºnull</returns> Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = ""); /// <summary> /// æ ¹æ®è®¾å¤‡ç¼–å·ã€å½“å‰åœ°å€æŒ‰ç…§ä¼˜å…ˆçº§ä»¥åŠåˆ›å»ºæ—¶é—´æŽ’åºæŸ¥è¯¢ä»»åŠ¡æ± å‡ºåº“ç±»åž‹çš„æ–°å¢žçš„ä»»åŠ¡ /// </summary> /// <param name="deviceNo">设备编å·</param> /// <param name="currentAddress">当å‰åœ°å€</param> /// <returns>返回任务实体对象,å¯èƒ½ä¸ºnull</returns> Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = ""); /// <summary> /// æ ¹æ®è®¾å¤‡ç¼–å·ã€å½“å‰åœ°å€æŒ‰ç…§ä¼˜å…ˆçº§ä»¥åŠåˆ›å»ºæ—¶é—´æŽ’åºæŸ¥è¯¢ä»»åŠ¡æ± å‡ºåº“ç±»åž‹çš„æ–°å¢žçš„ä»»åŠ¡ /// </summary> /// <param name="deviceNo">设备编å·</param> /// <param name="outStationCodes">当å‰åœ°å€</param> /// <returns>返回任务实体对象集åˆï¼Œå¯èƒ½ä¸ºnull</returns> List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes); /// <summary> /// æ›´æ–°ä»»åŠ¡å¼‚å¸¸ä¿¡æ¯æ˜¾ç¤º /// </summary> /// <param name="taskNum">任务å·</param> /// <param name="message">异常信æ¯</param> WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message); /// <summary> /// 更新任务状æ€ä¿¡æ¯ï¼Œå¹¶åŒæ¥è‡³WMS /// </summary> /// <param name="taskNum">任务å·</param> /// <param name="status">任务状æ€</param> void UpdateTaskStatus(int taskNum, int status); /// <summary> /// 将任务状æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€ /// </summary> /// <param name="taskNum">任务å·</param> WebResponseContent UpdateTaskStatusToNext(int taskNum); /// <summary> /// 将任务状æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€ /// </summary> /// <param name="task">任务实体对象</param> /// <returns></returns> WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task); /// <summary> /// æ ¹æ®ä»»åŠ¡å·ã€å½“å‰åœ°å€æ›´æ–°ä»»åŠ¡ä½ç½®ä¿¡æ¯ /// </summary> /// <param name="taskNum">任务å·</param> /// <param name="currentAddress">当å‰åœ°å€</param> /// <returns></returns> Dt_Task? UpdatePosition(int taskNum, string currentAddress); /// <summary> /// ä»»åŠ¡å®Œæˆ /// </summary> /// <param name="taskNum">任务编å·</param> /// <returns>返回处ç†ç»“æžœ</returns> WebResponseContent StackCraneTaskCompleted(int taskNum); /// <summary> /// æ¢å¤æŒ‚起任务 /// </summary> /// <param name="taskNum">任务å·</param> /// <returns>返回处ç†ç»“æžœ</returns> WebResponseContent TaskStatusRecovery(int taskNum); /// <summary> /// å›žæ»šä»»åŠ¡çŠ¶æ€ /// </summary> /// <param name="taskNum">任务å·</param> /// <returns>返回处ç†ç»“æžœ</returns> WebResponseContent RollbackTaskStatusToLast(int taskNum); } }