#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; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core.BaseRepository; using Microsoft.AspNetCore.Mvc; using WIDESEAWCS_DTO.WMS; using WIDESEAWCS_Common; using WIDESEAWCS_Common.LocationEnum; using Microsoft.VisualBasic; using System.Web; using WIDESEAWCS_DTO.RGV.FOURBOT; using WIDESEAWCS_DTO.AGV.HIKROBOT; namespace WIDESEAWCS_ITaskInfoService { public interface ITaskService : IService { /// /// 仓储层(数据库访问) /// IRepository Repository { get; } /// /// 任务排序 /// Dictionary TaskOrderBy { get; set; } /// /// 所有入库任务类型 /// List TaskInboundTypes { get; } /// /// 所有出库任务类型 /// List TaskOutboundTypes { get; } /// /// 接收WMS任务信息 /// /// WMS任务对象集合 /// 返回处理结果 WebResponseContent ReceiveWMSTask([FromBody] List taskDTOs); WebResponseContent ReceiveWMSTask([NotNull] List taskDTOs); /// /// 取消任务 /// /// 取消任务实体类 /// WebResponseContent CancelWMSTask(WMSCancelTask wMSCancelTask); /// /// 修改任务优先级 /// /// /// WebResponseContent UpdateWMSTaskPriority(WMSUpdateTaskPriority updateTaskPriority); /// /// 根据托盘号、起始地址向WMS请求任务 /// /// 托盘号 /// 起始地址 /// WebResponseContent RequestWMSTask(string palletCode, string sourceAddress); /// /// 根据设备编号、当前地址查询输送线未执行的任务 /// /// 设备编号 /// 当前地址 /// Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress); /// /// 根据任务号、下一地址查询输送线执行中的任务 /// /// 任务号 /// 下一地址 /// Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress); /// /// 根据任务号、当前地址查询输送线完成的任务 /// /// 任务号 /// 当前地址 /// Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress); /// /// 根据设备编号、任务类型分组(可选)按照优先级以及创建时间排序查询任务池新增的任务 /// /// 设备编号 /// 任务类型分组(可选) /// 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); /// /// 更新任务状态信息,并同步至WMS /// /// 任务号 /// 任务状态 void UpdateTaskStatus(int taskNum, int status); /// /// 将任务状态修改为下一个状态 /// /// 任务号 WebResponseContent UpdateTaskStatusToNext(int taskNum); /// /// 将任务状态修改为下一个状态 /// /// 任务实体对象 /// WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task); /// /// 下发海康AGV任务 /// /// /// WebResponseContent SendHIKROBOTTask([NotNull] Dt_Task task); /// /// 根据任务号、当前地址更新任务位置信息 /// /// 任务号 /// 当前地址 /// Dt_Task? UpdatePosition(int taskNum, string currentAddress); /// /// 任务完成 /// /// 任务编号 /// 返回处理结果 WebResponseContent StackCraneTaskCompleted(int taskNum); /// /// 恢复挂起任务 /// /// 任务号 /// 返回处理结果 WebResponseContent TaskStatusRecovery(int taskNum); WebResponseContent ErrorTaskFeedback(Dt_Task dt_Task, bool Del = false, string ErrorCode = ""); /// /// 回滚任务状态 /// /// 任务号 /// 返回处理结果 WebResponseContent RollbackTaskStatusToLast(int taskNum); /// /// 获取任务号 /// /// /// int GetTaskNum(string sequenceName); WebResponseContent UpdateTaskStatus(object TaskDTO, DeviceTypeEnum deviceTypeEnum); /// /// 修改货位状态 /// /// /// /// /// WebResponseContent UpdateLocationStatus(string locationCode, string palletCode, DeviceTypeEnum deviceTypeEnum, LocationStatusEnum locationStatusEnum); WebResponseContent ModifyWMSLayoutZone(WMSUpdateLocationArea wMSUpdateLocationArea); /// /// 区域库位信息查询 /// /// 区域号 /// WebResponseContent LocationInquiry(WMSGetLocationInfo getLocationInfo); /// /// 地图同步 /// /// /// public WebResponseContent MapSynchronize(MapSynchronizationDto mapSynchronizationDto); /// /// 出入库完成 /// /// /// public WebResponseContent InandoutCompleted(WMSInOutBoundCompleteFeedback wMSInOutBoundCompleteFeedback); /// /// 料箱验证 /// /// 任务号 /// 容器编码 /// public WebResponseContent MaterialBoxInspection(string taskCode, string containerCode); /// /// 4F提升机出口托盘号上报WMS /// /// /// /// public WebResponseContent InboundElevatorExit(string LocationCode, string containerCode); /// /// wcs移库数据回传 /// /// /// public WebResponseContent WcsMovingDataBack(WMSMoveLocationFeedback wMSMoveLocationFeedback); /// /// WMS容器流动请求 /// /// /// WebResponseContent ContainerRequest(WMSContainerFlow wMSContainerFlow); /// /// 质检结果反馈 /// /// /// WebResponseContent IQCResult(IQCResultDTO iQC); /// /// 批量更新储位状态 /// /// WebResponseContent multiSetNodeStatus(FOURBOTStorageStatusNotify fOURBOTStorageStatusNotify); /// /// 海康AGV任务继续执行 /// /// 任务号 /// WebResponseContent Hikvisiontaskscontinue(string TaskCode, string Address = null); /// /// 平库货位上下架容器 /// /// /// WebResponseContent UpOrDownContainer(WMSUpOrDownContainerDTO wMSUpOrDown); } }