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