#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;
|
using WIDESEAWCS_DTO.Agv;
|
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] WMSTaskDTO taskDTO);
|
/// <summary>
|
/// 容器入库创建任务
|
/// </summary>
|
/// <returns></returns>
|
WebResponseContent ContainerFlow(ContainerFlowDTO containerFlowDTO,string deviceCode);
|
/// <summary>
|
/// 申请入库
|
/// </summary>
|
/// <returns></returns>
|
WebResponseContent RequestInTask(string stationCode, string barCode);
|
|
/// <summary>
|
/// 更新任务异常信息显示
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <param name="message">异常信息</param>
|
WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message);
|
|
/// <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>
|
/// 发送AGV任务
|
/// </summary>
|
/// <param name="taskModel"></param>
|
/// <returns></returns>
|
WebResponseContent AgvSendTask(AgvTaskSendDTO taskModel, APIEnum SendTask = APIEnum.AgvSendTask);
|
/// <summary>
|
/// AGV任务状态刷新
|
/// </summary>
|
/// <param name="agvUpdateModel"></param>
|
/// <returns></returns>
|
AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel);
|
|
/// <summary>
|
/// 更新任务信息及添加任务明细记录
|
/// </summary>
|
/// <param name="task">任务原对象实例(未修改的数据对象)</param>
|
/// <param name="taskStatus">修改后的任务状态</param>
|
/// <param name="deviceCode">修改后的设备编号</param>
|
/// <param name="sourceAddress">修改后的起始地址</param>
|
/// <param name="targetAddress">修改后的目标地址</param>
|
/// <param name="currentAddress">修改后的当前地址</param>
|
/// <param name="nextAddress">修改后的下一地址</param>
|
void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "");
|
|
/// <summary>
|
/// 接受WMS手动完成任务
|
/// </summary>
|
/// <param name="taskNum"></param>
|
/// <returns></returns>
|
WebResponseContent RecWMSTaskCompleted(int taskNum);
|
/// <summary>
|
/// WMS料箱到达拣选位上报
|
/// </summary>
|
/// <returns></returns>
|
WebResponseContent WMSPickUp(string stationCode, string pickCode);
|
/// <summary>
|
/// AGV任务放行
|
/// </summary>
|
/// <returns></returns>
|
WebResponseContent AgvTaskFlow(string code);
|
/// <summary>
|
/// 任务完成
|
/// </summary>
|
/// <returns></returns>
|
WebResponseContent TaskCompleted(int taskNum);
|
/// <summary>
|
/// 二期播种墙下发
|
/// </summary>
|
/// <param name="lightSendDTOs"></param>
|
/// <returns></returns>
|
EPLightContent PickOrderInfoRequest(List<EPLightSendDTO> lightSendDTOs);
|
/// <summary>
|
/// 二期播种墙初始化
|
/// </summary>
|
/// <returns></returns>
|
EPLightContent INITIALIZATION();
|
/// <summary>
|
/// 二期播种墙结束左右
|
/// </summary>
|
/// <returns></returns>
|
EPLightContent ENDWORK();
|
}
|
}
|