using Mirle.Component.API.AutomatedGuideVehicleController.Models;
using System.Threading.Tasks;
namespace Mirle.Component.API.AutomatedGuideVehicleController.Modules
{
///
/// Automated Guide Vehicle Contoller 商業邏輯介面
///
/// Message direction of warehouse control system to automated guide vehicle controller
public interface IToAutomatedGuideVehicleControllerModule
{
///
/// 處理發派任務請求
///
/// 請求訊息
/// 已成功完成的工作
/// Process message of 2.1.a
public Task ProcessSetMissionRequestAsync(SetMissionRequestDto message);
///
/// 處理發派任務回應
///
/// 回應訊息
/// 已成功完成的工作
/// Process message of 2.1.d
public Task ProcessSetMissionAckAsync(SetMissionAckDto message);
///
/// 處理控制任務請求
///
/// 請求訊息
/// 已成功完成的工作
/// Process message of 2.2.a
public Task ProcessSetMissionStatusRequestAsync(SetMissionStatusRequestDto message);
///
/// 處理控制任務結果回應
///
/// 回應訊息
/// 已成功完成的工作
/// Process message of 2.2.d
public Task ProcessSetMissionStatusAckAsync(SetMissionStatusAckDto message);
///
/// 處理車輛清單請求
///
/// 請求訊息
/// 已成功完成的工作
/// Process message of 2.3.a
public Task ProcessSetAmrListRequestAsync(SetAmrListRequestDto message);
///
/// 處理車輛清單結果回應
///
/// 回應訊息
/// 已成功完成的工作
/// Process message of 2.3.d
public Task ProcessSetAmrListAckAsync(SetAmrListAckDto message);
///
/// 處理詢問車況請求
///
/// 請求訊息
/// 已成功完成的工作
/// Process message of 2.4.a
public Task ProcessSetAmrHealthRequestAsync(SetAmrHealthRequestDto message);
///
/// 處理詢問車況結果回應
///
/// 回應訊息
/// 已成功完成的工作
/// Process message of 2.4.d
public Task ProcessSetAmrHealthAckAsync(SetAmrHealthAckDto message);
///
/// 處理緊急狀況請求
///
/// 請求訊息
/// 已成功完成的工作
/// Process message of 2.5.a
public Task ProcessSetAmrEmergencyRequestAsync(SetAmrEmergencyRequestDto message);
///
/// 處理緊急狀況結果回應
///
/// 回應訊息
/// 已成功完成的工作
/// Process message of 2.5.d
public Task ProcessSetAmrEmergencyAckAsync(SetAmrEmergencyAckDto message);
}
}