|
|
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization;
namespace Mirle.Component.API.WarehouseExecutionSystem.Models { /// <summary>
/// 檢查載具及物料編號請求類別
/// </summary>
public class TW009CheckCarrierIDRequestDto : CommonMessage { /// <summary>
/// 搬運命令序號
/// </summary>
/// <remarks>W[YYYYMMddHH][Seq * 5]</remarks>
[Required, StringLength(16), JsonPropertyName("cmd_sno"), JsonPropertyOrder(101)] public string CommandSequnceNumber { get; set; } /// <summary>
/// 任務編號
/// </summary>
/// <remarks>A[YYYYMMddHH][Seq * 5]/P[YYYYMMddHH][Seq * 5]</remarks>
[Required, StringLength(16), JsonPropertyName("task_id"), JsonPropertyOrder(102)] public string TaskID { get; set; } /// <summary>
/// 軟體編號
/// </summary>
[Required, StringLength(7), JsonPropertyName("software_id"), JsonPropertyOrder(103)] public string SoftwareID { get; set; } /// <summary>
/// 站點編號
/// </summary>
[Required, StringLength(9), JsonPropertyName("station_id"), JsonPropertyOrder(104)] public string StationID { get; set; } /// <summary>
/// 載具邊號
/// </summary>
[Required, JsonPropertyName("carrier_id"), JsonPropertyOrder(105)] public string CarrierID { get; set; } /// <summary>
/// 物料編號清單
/// </summary>
[JsonPropertyName("material_id"), JsonPropertyOrder(106)] public List<string> MaterialID { get; set; } /// <summary>
/// 物料重量
/// </summary>
/// <remarks>單位: kgs</remarks>
[JsonPropertyName("material_weigth"), JsonPropertyOrder(107)] public int MaterialWeight { get; set; } /// <summary>
/// 取得檢查載具及物料編號請求
/// </summary>
/// <param name="transName">交易名稱</param>
/// <param name="taskID">任務編號</param>
/// <param name="softwareID">軟體編號</param>
/// <param name="stationID">站點編號</param>
/// <param name="carrierID">載具編號</param>
/// <param name="materialID">物料編號清單</param>
/// <param name="materialWeight">物料重量</param>
/// <returns>檢查載具及物料編號請求</returns>
public static TW009CheckCarrierIDRequestDto Get(TransactionName transName, string taskID, string softwareID, string stationID, string carrierID, List<string> materialID = null, int materialWeight = default) { return new TW009CheckCarrierIDRequestDto() { Timetick = DateTime.Now, TransactionName = transName.ToTransactionName(), TaskID = taskID, SoftwareID = softwareID, StationID = stationID, CarrierID = carrierID, MaterialID = materialID, MaterialWeight = materialWeight }; } } /// <summary>
/// 檢查載具及物料編號回應類別
/// </summary>
public class FW010CheckCarrierIDResponseDto : CommonMessage { /// <summary>
/// 搬運命令序號
/// </summary>
/// <remarks>W[YYYYMMddHH][Seq * 5]</remarks>
[Required, StringLength(16), JsonPropertyName("cmd_sno"), JsonPropertyOrder(101)] public string CommandSequnceNumber { get; set; } /// <summary>
/// 任務編號
/// </summary>
/// <remarks>P[YYYYMMDDHH][Sequnce * 5]</remarks>
[Required, StringLength(16), JsonPropertyName("task_id"), JsonPropertyOrder(102)] public string TaskID { get; set; } /// <summary>
/// 軟體編號
/// </summary>
[Required, StringLength(7), JsonPropertyName("software_id"), JsonPropertyOrder(103)] public string SoftwareID { get; set; } /// <summary>
/// 站點編號
/// </summary>
[Required, StringLength(9), JsonPropertyName("station_id"), JsonPropertyOrder(104)] public string StationID { get; set; } /// <summary>
/// 載具邊號
/// </summary>
[Required, JsonPropertyName("carrier_id"), JsonPropertyOrder(105)] public string CarrierID { get; set; } /// <summary>
/// 物料編號清單
/// </summary>
[JsonPropertyName("material_id"), JsonPropertyOrder(106)] public List<string> MaterialID { get; set; } /// <summary>
/// 結果代碼
/// </summary>
/// <value>
/// 0 = Success <br/>
/// 1 = Carrier ID Error <br/>
/// 2 = Material ID Error <br/>
/// </value>
[Required, JsonPropertyName("result_code"), JsonPropertyOrder(107)] public CarrierIDInsepectResultCode ResultCode { get; set; } /// <summary>
/// 取得檢查載具編號及物料編號回應
/// </summary>
/// <param name="transName">交易名稱</param>
/// <param name="commandSequnceNumberm">搬運命令序號</param>
/// <param name="taskID">任務編號</param>
/// <param name="softwareID">軟體編號</param>
/// <param name="stationID">站點編號</param>
/// <param name="carrierID">載具編號</param>
/// <param name="resultCode">結果代碼</param>
/// <param name="materialID">物料編號</param>
/// <returns>檢查載具編號及物料編號回應</returns>
public static FW010CheckCarrierIDResponseDto Get(TransactionName transName, string commandSequnceNumberm, string taskID, string softwareID, string stationID, string carrierID, CarrierIDInsepectResultCode resultCode, List<string> materialID = null) { return new FW010CheckCarrierIDResponseDto() { Timetick = DateTime.Now, TransactionName = transName.ToTransactionName(), CommandSequnceNumber = commandSequnceNumberm, TaskID = taskID, SoftwareID = softwareID, StationID = stationID, CarrierID = carrierID, MaterialID = materialID, ResultCode = resultCode }; } } }
|