#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;
|
|
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>
|
/// 所有移库任务类型
|
/// </summary>
|
public List<int> TaskRelocationboundTypes { get; }
|
|
/// <summary>
|
/// 所有AGV搬运任务类型
|
/// </summary>
|
public List<int> TaskAGVCarryboundTypes { get; }
|
|
/// <summary>
|
/// 所有跨楼层任务类型
|
/// </summary>
|
public List<int> TaskAcrossFloorboundTypes { get; }
|
|
/// <summary>
|
/// 接收WMS任务信息
|
/// </summary>
|
/// <param name="taskDTOs">WMS任务对象集合</param>
|
/// <returns>返回处理结果</returns>
|
WebResponseContent ReceiveWMSTask([NotNull] List<WMSTaskDTO> taskDTOs);
|
|
|
/// <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="excludedTaskId">排除的任务</param>
|
/// <param name="currentAddress">当前地址</param>
|
/// <returns>返回任务实体对象,可能为null</returns>
|
List<Dt_Task> QueryAllOutboundTasks(string deviceNo, string currentAddress = "");
|
|
/// <summary>
|
/// 更新任务异常信息显示
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <param name="message">异常信息</param>
|
WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message);
|
|
/// <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>
|
/// <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);
|
|
/// <summary>
|
/// 查询当前设备是否有移库任务
|
/// </summary>
|
/// <param name="deviceNo"></param>
|
/// <returns></returns>
|
Dt_Task QueryRelocationTask(string deviceNo);
|
|
/// <summary>
|
/// 删除任务
|
/// </summary>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
WebResponseContent Delete(Dt_Task task);
|
|
/// <summary>
|
/// 发送AGV任务
|
/// </summary>
|
/// <param name="modelProcessCode"></param>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> SendAgvTask(string modelProcessCode, int taskNum);
|
|
/// <summary>
|
/// AGV继续任务
|
/// </summary>
|
/// <param name="modelProcessCode"></param>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
Task<WebResponseContent> ContinueAgvTask(string AGVTaskNum);
|
|
|
Dt_Task QueryRequestConveyorLineSignalTask();
|
|
|
Dt_Task QueryRequestTSJSignalTask();
|
}
|
}
|