You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

77 lines
3.6 KiB

using Mirle.Component.API.AutomatedGuideVehicleController.Models;
using System.Threading.Tasks;
namespace Mirle.Component.API.AutomatedGuideVehicleController.Modules
{
/// <summary>
/// Automated Guide Vehicle Contoller 商業邏輯介面
/// </summary>
/// <remarks>Message dirction of automated guide vehicle controller to warehouse control system</remarks>
public interface IFromAutomatedGuideVehicleControllerModule
{
/// <summary>
/// 處理發派任務回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 2.1.c</remarks>
public Task ProcessSetMissionResultAsync(SetMissionResultDto message, string address);
/// <summary>
/// 處理控制任務回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 2.2.c</remarks>
public Task ProcessSetMissionStatusResultAsync(SetMissionStatusResultDto message, string address);
/// <summary>
/// 處理車輛清單回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 2.3.c</remarks>
public Task ProcessSetAmrListResultAsync(SetAmrListResultDto message, string address);
/// <summary>
/// 處理訊問車況回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 2.4.c</remarks>
public Task ProcessSetAmrHealthResultAsync(SetAmrHealthResultDto message, string address);
/// <summary>
/// 處理緊急狀況結果回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 2.5.c</remarks>
public Task ProcessSetAmrEmergencyResultAsync(SetAmrEmergencyResultDto message, string address);
/// <summary>
/// 處理硬體元件錯誤回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 3.1.alert</remarks>
public Task ProcessComponentFaultAlertAsync(ComponentFaultAlertDto message, string address);
/// <summary>
/// 處理心跳包回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 3.2.Heartbeat</remarks>
public Task ProcessHeartbeatAsync(HeartbeatReportDto message, string address);
/// <summary>
/// 處理系統狀態回報
/// </summary>
/// <param name="message">回報訊息</param>
/// <param name="address">網路位址</param>
/// <returns>已成功完成的工作</returns>
/// <remarks>Process message of 3.3.Online</remarks>
public Task ProcessOnlineAsync(OnlineReportDto message, string address);
}
}