#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_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_DTO.WMSInfo; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_ITaskInfoService { public interface ITaskService : IService { /// /// 任务排序 /// public Dictionary TaskOrderBy { get; set; } /// /// 所有入库任务类型 /// public List TaskInboundTypes { get; } /// /// 所有出库任务类型 /// public List TaskOutboundTypes { get; } /// /// 所有移库任务类型 /// public List TaskRelocationTypes { get; } /// /// 接收WMS任务信息 /// /// WMS任务对象集合 /// 返回处理结果 WebResponseContent ReceiveWMSTask([NotNull] List taskDTOs); /// /// 根据托盘号、起始地址向WMS请求任务 /// /// 托盘号 /// 起始地址 /// WebResponseContent RequestWMSTask(ConveyorLineDTO lineDTO); /// /// 添加移车任务 /// /// 起点 /// 终点 /// 穿梭车号 /// Task AddRelocationCarTask(string SourceAddress, string TargetAddress, string ShuttleCarCode = "", string remark = ""); /// /// 根据设备编号、当前地址查询输送线未执行的任务 /// /// 设备编号 /// 当前地址 /// Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress, string Barcode); /// /// 根据设备编号、下一地址、任务号查询输送线未执行的任务 /// /// /// /// /// Dt_Task QueryConveyorLineTaskNum(string deviceNo, string currentAddress, int TaskNum); /// /// 根据任务号、下一地址查询输送线执行中的任务 /// /// 任务号 /// 下一地址 /// Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress); /// /// 根据托盘号、下一地址查询输送线执行中的任务 /// /// /// /// Dt_Task QueryExecutingConveyorLineTask(string Barcode, string nextAddress); /// /// 根据任务号、当前地址查询输送线完成的任务 /// /// 任务号 /// 当前地址 /// Dt_Task QueryCompletedConveyorLineTask(string Barcode, string currentAddress); /// /// 产线查询出库任务 /// /// 下一地址是否为空 /// Dt_Task QuertOutProductionLineTask(bool NextAddIsNull); /// /// 根据设备编号、任务类型分组(可选)按照优先级以及创建时间排序查询任务池新增的任务 /// /// 设备编号 /// 任务类型分组(可选) /// Dt_Task? QuertStackerCraneTask(string deviceNo, TaskTypeGroup? taskTypeGroup = null); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象,可能为null Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = ""); Dt_Task QueryStackerCraneRelocationTask(string deviceNo, string currentAddress = ""); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池入库类型的新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象,可能为null Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = ""); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象,可能为null Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = ""); /// /// 查询穿梭车出入库任务 /// /// 穿梭车编号 /// 当前位置 /// Dt_Task QueryShuttleCarTask(string deviceNo, string currentAddress = ""); /// /// 查询穿梭车移库任务 /// /// /// /// Dt_Task ShuttleCarRelocationTask(string deviceNo, string currentAddress = ""); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象集合,可能为null List QueryStackerCraneOutTasks(string deviceNo, List outStationCodes); /// /// 更新任务异常信息显示 /// /// 任务号 /// 异常信息 WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message); /// /// 更新任务状态信息,并同步至WMS /// /// 任务号 /// 任务状态 void UpdateTaskStatus(int taskNum, int status); /// /// 将任务状态修改为下一个状态 /// /// 任务号 WebResponseContent UpdateTaskStatusToNext(int taskNum); /// /// 将任务状态修改为下一个状态 /// /// 任务实体对象 /// WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task); /// /// 根据任务号、当前地址更新任务位置信息 /// /// 任务号 /// 当前地址 /// Dt_Task? UpdatePosition(int taskNum, string currentAddress); /// /// 任务完成 /// /// 任务编号 /// 返回处理结果 WebResponseContent StackCraneTaskCompleted(int taskNum); /// /// 恢复挂起任务 /// /// 任务号 /// 返回处理结果 WebResponseContent TaskStatusRecovery(int taskNum); /// /// 回滚任务状态 /// /// 任务号 /// 返回处理结果 WebResponseContent RollbackTaskStatusToLast(int taskNum); /// /// 根据任务号查询任务 /// /// /// Dt_Task GetTaskInfo(int taskNum); Dt_Task GetTaskInfo(int taskNum, int taskState); /// /// 根据任务状态、任务类型查询任务 /// /// 任务状态 /// 任务类型 /// Dt_Task GetTaskState(int TaskState = 0, int TaskType = 0); /// /// 堆垛机申请入库 /// /// /// WebResponseContent StackerCraneRequestInbound(Dt_Task task); /// /// 添加历史任务 /// /// /// /// WebResponseContent AddTask_Hty(Dt_Task task, TaskOperateTypeEnum operateType); /// /// 穿梭车任务完成 /// /// 任务号 /// 完成类型 /// WebResponseContent ShuttleCarTaskCompleted(int taskNum, short TaskTypeComplete); /// /// AGV修改任务状态 /// /// /// WebResponseContent AGVUpdateTaskState(AGVUpdateTaskDTO saveModel); WebResponseContent OutTaskFinish(string address); WebResponseContent ManualTask(SaveModel saveModel); WebResponseContent ModifyBarcode(WMSTaskDTO taskDTO); } }