using Mirle.Component.API.WarehouseExecutionSystem.Models;
using System.Threading.Tasks;
namespace Mirle.Component.API.WarehouseExecutionSystem.Modules
{
///
/// Warehouse Execution System 商業邏輯介面
///
/// Message direction of warehouse execution system to warehouse control system
public interface IFromWarehouseExecutionSystemModule
{
///
/// 處理建立命令請求
///
/// 請求訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW001_CreateCommandRequestAsync(FW001CreateCommandRequestDto message, string address);
///
/// 處理執行命令回應
///
/// 回應訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW004_ExecuteCommandAckAsync(FW004ExecuteCommandAckDto message, string address);
///
/// 處理完成命令回應
///
/// 回應訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW006_FinishCommandAckAsync(FW006FinishCommandAckDto message, string address);
///
/// 處理取消命令請求
///
/// 請求訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW007_CancelCommandRequestAsync(FW007CancelCommandRequestDto message, string address);
///
/// 處理檢查載具編號及物料編號回應
///
/// 回應訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW010_CheckCarrierIDResponseAsync(FW010CheckCarrierIDResponseDto message, string address);
///
/// 處理棧板供收狀態回應
///
/// 回應訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW012_PalletSupplyStatusAckAsync(FW012PalletSupplyStatusAckDto message, string address);
///
/// 處理心跳包回應
///
/// 回應訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW014_HeartbeatAckAsync(FW014HeartbeatAckDto message, string address);
///
/// 處理量測物料重量請求
///
/// 請求訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW015_MaterialWeightRequestAsync(FW015MaterialWeightRequestDto message, string address);
///
/// 處理緊急應變回應
///
/// 回應訊息
/// 網路位址
/// 已成功完成的工作
public Task Process_FW018_EmergencyEventResponseAsync(FW018EmergencyEventResponseDto message, string address);
}
}