#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 WIDESEA_DTO.Agv; using WIDESEAWCS_Common.APIEnum; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Enums; using WIDESEAWCS_DTO.Agv; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_ITaskInfoService { public interface ITaskService : IService { /// /// 任务排序 /// public Dictionary TaskOrderBy { get; set; } /// /// 所有入库任务类型 /// public List TaskInboundTypes { get; } /// /// 所有出库任务类型 /// public List TaskOutboundTypes { get; } /// /// 接收WMS任务信息 /// /// WMS任务对象集合 /// 返回处理结果 WebResponseContent ReceiveWMSTask([NotNull] List taskDTOs); /// /// 根据托盘号、起始地址向WMS请求任务 /// /// 托盘号 /// 起始地址 /// WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string materielBoxCode = ""); /// /// 向WMS申请任务 /// /// 托盘号 /// 起始地址 /// WebResponseContent RequestWMSTaskSimple(string palletCode, string sourceAddress); /// /// 向WMS申请任务 /// /// 托盘号 /// 起始地址 /// 巷道号 /// //WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway); /// /// /// /// /// /// /// /// WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, int heightType, List roadways); /// /// 向WMS申请分配货位 /// /// 任务号 /// 巷道号 /// string? RequestAssignLocation(int taskNum, string roadwayNo); /// /// 向WMS申请分配货位 /// /// 任务号 /// 巷道号 /// 高度 /// string? RequestAssignLocationByHeight(int taskNum, string roadwayNo, int heightType); /// /// 任务完成 /// /// 任务号 /// WebResponseContent TaskCompleted(int taskNum); /// /// 根据设备编号、任务类型分组(可选)按照优先级以及创建时间排序查询任务池新增的任务 /// /// 设备编号 /// 任务类型分组(可选) /// Dt_Task? QuertStackerCraneTask(string deviceNo, TaskTypeGroup? taskTypeGroup = null); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象,可能为null Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = ""); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池入库类型的新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象,可能为null Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = ""); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象,可能为null Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = ""); /// /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务 /// /// 设备编号 /// 当前地址 /// 返回任务实体对象集合,可能为null List QueryStackerCraneOutTasks(string deviceNo, List outStationCodes); /// /// 更新任务异常信息显示 /// /// 任务号 /// 异常信息 WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message); /// /// 恢复挂起任务 /// /// 任务号 /// 返回处理结果 WebResponseContent TaskStatusRecovery(int taskNum); /// /// 回滚任务状态 /// /// 任务号 /// 返回处理结果 WebResponseContent RollbackTaskStatusToLast(int taskNum); /// /// 发送AGV任务 /// /// /// WebResponseContent AgvSendTask(AgvTaskDTO taskModel, APIEnum SendTask = APIEnum.Agv_CSJSendTask); /// /// 安全信号申请 /// /// /// AgvResponseContent AgvSecureApply(AgvSecureApplyDTO secureApplyModel); /// /// 安全信号回复 WCS-AGV /// /// /// WebResponseContent AgvSecureReply(AgvSecureReplyDTO secureReplyModel, APIEnum SecureReply = APIEnum.Agv_CSJSecureReply); /// /// AGV任务状态刷新 /// /// /// AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel); /// /// /// /// /// WebResponseContent SendSecureReplyToAgv(int taskNum); /// /// 更新任务信息及添加任务明细记录 /// /// 任务原对象实例(未修改的数据对象) /// 修改后的任务状态 /// 修改后的设备编号 /// 修改后的起始地址 /// 修改后的目标地址 /// 修改后的当前地址 /// 修改后的下一地址 void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0); /// /// 请求分配巷道 /// /// /// /// WebResponseContent RequestWMSAssignRoadway(int taskNum, List roadwayNos); /// /// /// /// /// /// /// WebResponseContent RequestWMSAssignRoadway(List roadwayNos, string palletCode, int heightType); /// /// /// /// /// /// /// WebResponseContent RequestWMSAssignRoadway(List roadwayNos, int taskNum, int heightType); /// /// /// /// /// WebResponseContent RequestWMSAssignRoadway(List roadwayNos); /// /// /// /// /// /// WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat); /// /// //判断移库货位任务是否已存在,如存在先执行 /// Dt_Task QueryStackerExistTask(string PalletCode,string locationCode); /// /// AGV成品取放货通知 /// WebResponseContent AgvBoxApplyPass(AGVBoxApplyPassDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CPBoxApplyPass); /// /// CTU取消任务 /// /// WebResponseContent AgvBoxApplyPass(AgvCTUCancelDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CTUCancelTask); /// /// 生成空框任务 /// WebResponseContent AgvCarrying(int row, int startColumn, int endColumn, int layer, int targetLayer); /// /// 预调度指令 /// WebResponseContent AgvPreScheduleTask(AgvScheduleTaskDTO scheduleTaskDTO, APIEnum ScheduleTask = APIEnum.AGV_CTUScheduleTaskTask); /// /// 接受WMS手动完成任务 /// /// /// public WebResponseContent RecWMSTaskCompleted(int taskNum); } }