#region << 版 本 注 释 >>
|
/*----------------------------------------------------------------
|
* 命名空间:WIDESEAWCS_ITaskInfoService
|
* 创建者:胡童庆
|
* 创建时间:2024/8/2 16:13:36
|
* 版本:V1.0.0
|
* 描述:
|
*
|
* ----------------------------------------------------------------
|
* 修改人:
|
* 修改时间:
|
* 版本:V1.0.1
|
* 修改说明:
|
*
|
*----------------------------------------------------------------*/
|
#endregion << 版 本 注 释 >>
|
|
using Microsoft.AspNetCore.Mvc;
|
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
|
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
|
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_Core.Enums;
|
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>
|
/// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池新增的任务
|
/// </summary>
|
/// <param name="Station_code">当前地址</param>
|
/// <returns>返回任务实体对象,可能为null</returns>
|
Dt_Task QueryStackerCraneTask(AGVStation GdMuChe, AGVStation GdZiche);
|
|
/// <summary>
|
/// 获取HCJ任务
|
/// </summary>
|
/// <param name="curraderr">HCJ地址获取需要取货的任务</param>
|
/// <returns></returns>
|
Dt_Task ObtainHCJtask(string curraderr);
|
|
/// <summary>
|
/// 根据下一个地址,获取母车移动任务
|
/// </summary>
|
/// <param name="Nextaderr">下一个地址,过道地址</param>
|
/// <returns></returns>
|
Dt_Task ObtainMuChetask(string Nextaderr);
|
|
/// <summary>
|
/// 获取母车是否有任务,进行判断
|
/// </summary>
|
/// <param name="Nextaderr"></param>
|
/// <returns></returns>
|
Dt_Task ObtainMuChetaskbool(AGVStation ZicheinnerSide);
|
|
/// <summary>
|
/// 根据设备,获取子车任务
|
/// </summary>
|
/// <param name="ZicheinnerSide"></param>
|
/// <returns></returns>
|
Dt_Task GetChariotTaskBool(string ChildPosiDeviceCode);
|
|
/// <summary>
|
/// 根据设备,在一个区域内,先找里面的任务,再找外侧的任务
|
/// </summary>
|
/// <param name="Station_code">当前地址</param>
|
/// <returns>返回任务实体对象,可能为null</returns>
|
Dt_Task ChildVehicleMission(AGVStation aGVStation);
|
|
/// <summary>
|
/// 查找需要放货的任务
|
/// </summary>
|
/// <param name="Station_code">当前地址</param>
|
/// <returns>返回任务实体对象,可能为null</returns>
|
Dt_Task GetFinhuoTask(string DeviceCode);
|
|
/// <summary>
|
/// 查找需要外侧子车取货的任务
|
/// </summary>
|
/// <param name="Station_code">当前地址</param>
|
/// <returns>返回任务实体对象,可能为null</returns>
|
Dt_Task GetOutkouFinhuoTask(string DeviceCode, string curraderr);
|
|
/// <summary>
|
/// 获取出库口子车取货
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
/// <param name="curraderr"></param>
|
/// <returns></returns>
|
Dt_Task GetOutchachekouFinhuoTask(string DeviceCode, string curraderr);
|
|
/// <summary>
|
/// 查找需要取放货的任务
|
/// </summary>
|
/// <param name="Station_code">当前地址</param>
|
/// <returns>返回任务实体对象,可能为null</returns>
|
Dt_Task GetInkouFinhuoTask(string DeviceCode);
|
|
/// <summary>
|
/// 入库取货任务
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
/// <param name="type">1:查找需要取货的任务</param>
|
Dt_Task PickupWarehouse(string DeviceCode);
|
|
/// <summary>
|
/// 子车进行放货任务
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
Dt_Task ViceChariotPlacingTask(string DeviceCode);
|
|
/// <summary>
|
/// 母车移动任务
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
Dt_Task MothermachinemovementTask(string DeviceCode);
|
|
/// <summary>
|
/// 获取母车移动任务,和移动中的任务
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
/// <returns></returns>
|
Dt_Task MothermachinemovementTask2(string DeviceCode);
|
|
/// <summary>
|
/// 子车取货任务,取货HCJ任务
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
Dt_Task ViceChariotPickupTask(string DeviceCode);
|
|
/// <summary>
|
/// 获取子车取货任务,进入母车取货
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
Dt_Task OutPickupZiche(string DeviceCode);
|
|
/// <summary>
|
/// 判断是否有子车取HCJ任务,或者在执行的任务
|
/// </summary>
|
/// <param name="DeviceCode"></param>
|
Dt_Task ViceChariotPickupTask2(string DeviceCode);
|
|
/// <summary>
|
/// 获取需要更改站台的任务
|
/// </summary>
|
/// <param name="tasktype">1:入库 2:出库</param>
|
/// <returns></returns>
|
WebResponseContent UpdateDeliveryAddress(string NextAddress, int tasktype);
|
|
/// <summary>
|
/// 更新RGV任务类型
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <param name="message">异常信息</param>
|
WebResponseContent UpdateRGVTasktype(int taskNum, int RGVTasktype);
|
|
|
/// <summary>
|
/// 更新任务异常信息显示
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <param name="message">异常信息</param>
|
WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message);
|
|
|
|
/// <summary>
|
/// 将任务状态修改为下一个状态
|
/// </summary>
|
/// <param name="task">任务实体对象</param>
|
/// <returns></returns>
|
WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task);
|
|
/// <summary>
|
/// 手动将任务状态修改为下一个状态
|
/// </summary>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
WebResponseContent NextStepeXecuted(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="taskNum">任务id</param>
|
/// <returns></returns>
|
WebResponseContent UpdateTaskStatus(int taskNum);
|
|
|
/// <summary>
|
/// 接收RGV任务
|
/// </summary>
|
/// <param name="expoTask"></param>
|
/// <returns></returns>
|
ExpoReverse TaskInstruction(ExpoTaskDTO expoTask);
|
|
/// <summary>
|
/// 上位系统查询状态
|
/// </summary>
|
/// <param name="statusquery"></param>
|
/// <returns></returns>
|
RGVStoResponse RgvStatus(StatusqueryReception statusquery);
|
|
/// <summary>
|
/// 堆垛机完成接口
|
/// </summary>
|
/// <param name="sCstatus"></param>
|
/// <returns></returns>
|
ExpoReverse StkPickPutStatus(SCstatusReception sCstatus);
|
|
/// <summary>
|
/// 堆垛机故障信息接口
|
/// </summary>
|
/// <param name="sCErrorStatus"></param>
|
/// <returns></returns>
|
ExpoReverse StkErrorStatus(SCErrorStatusReception sCErrorStatus);
|
/// <summary>
|
/// 任务取消接口
|
/// </summary>
|
/// <param name="taskcanceled"></param>
|
/// <returns></returns>
|
ExpoReverse TaskCancel(TaskcanceledReception taskcanceled);
|
|
|
/// <summary>
|
/// 堆垛机运行状态接口
|
/// </summary>
|
/// <param name="sCErrorStatus"></param>
|
/// <returns></returns>
|
WebResponseContent StkRunStatus();
|
|
/// <summary>
|
/// 入库任务状态反馈
|
/// </summary>
|
/// <param name="taskNo">任务号</param>
|
/// <param name="finalAddress">出库、异常排出时,分配的出库点位</param>
|
/// <param name="status">1执行中 2已完成 3 异常完成</param>
|
/// <param name="remark">描述异常信息</param>
|
/// <returns></returns>
|
WebResponseContent TaskResultIn(string taskNo, string finalAddress, int status, string remark);
|
|
/// <summary>
|
/// 出库任务状态反馈
|
/// </summary>
|
/// <param name="taskNo">任务号</param>
|
/// <param name="finalAddress">出库、异常排出时,分配的出库点位</param>
|
/// <param name="status">1执行中 2已完成 3 异常完成</param>
|
/// <param name="remark">描述异常信息</param>
|
/// <returns></returns>
|
WebResponseContent TaskResultOut(string taskNo, string finalAddress, int status, string remark);
|
|
/// <summary>
|
/// 人工完成
|
/// </summary>
|
/// </summary>
|
/// <param name="ids"></param>
|
/// <returns></returns>
|
WebResponseContent CompletedManually(int id,int CompletionType);
|
|
/// <summary>
|
/// 人工手动取消任务
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
WebResponseContent MHWCSTaskCancel(int id);
|
|
|
|
|
}
|
}
|