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.

154 lines
6.3 KiB

11 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Text.Json.Serialization;
  5. namespace Mirle.Component.API.WarehouseExecutionSystem.Models
  6. {
  7. /// <summary>
  8. /// 檢查載具及物料編號請求類別
  9. /// </summary>
  10. public class TW009CheckCarrierIDRequestDto : CommonMessage
  11. {
  12. /// <summary>
  13. /// 搬運命令序號
  14. /// </summary>
  15. /// <remarks>W[YYYYMMddHH][Seq * 5]</remarks>
  16. [Required, StringLength(16), JsonPropertyName("cmd_sno"), JsonPropertyOrder(101)]
  17. public string CommandSequnceNumber { get; set; }
  18. /// <summary>
  19. /// 任務編號
  20. /// </summary>
  21. /// <remarks>A[YYYYMMddHH][Seq * 5]/P[YYYYMMddHH][Seq * 5]</remarks>
  22. [Required, StringLength(16), JsonPropertyName("task_id"), JsonPropertyOrder(102)]
  23. public string TaskID { get; set; }
  24. /// <summary>
  25. /// 軟體編號
  26. /// </summary>
  27. [Required, StringLength(7), JsonPropertyName("software_id"), JsonPropertyOrder(103)]
  28. public string SoftwareID { get; set; }
  29. /// <summary>
  30. /// 站點編號
  31. /// </summary>
  32. [Required, StringLength(9), JsonPropertyName("station_id"), JsonPropertyOrder(104)]
  33. public string StationID { get; set; }
  34. /// <summary>
  35. /// 載具邊號
  36. /// </summary>
  37. [Required, JsonPropertyName("carrier_id"), JsonPropertyOrder(105)]
  38. public string CarrierID { get; set; }
  39. /// <summary>
  40. /// 物料編號清單
  41. /// </summary>
  42. [JsonPropertyName("material_id"), JsonPropertyOrder(106)]
  43. public List<string> MaterialID { get; set; }
  44. /// <summary>
  45. /// 物料重量
  46. /// </summary>
  47. /// <remarks>單位: kgs</remarks>
  48. [JsonPropertyName("material_weigth"), JsonPropertyOrder(107)]
  49. public int MaterialWeight { get; set; }
  50. /// <summary>
  51. /// 取得檢查載具及物料編號請求
  52. /// </summary>
  53. /// <param name="transName">交易名稱</param>
  54. /// <param name="taskID">任務編號</param>
  55. /// <param name="softwareID">軟體編號</param>
  56. /// <param name="stationID">站點編號</param>
  57. /// <param name="carrierID">載具編號</param>
  58. /// <param name="materialID">物料編號清單</param>
  59. /// <param name="materialWeight">物料重量</param>
  60. /// <returns>檢查載具及物料編號請求</returns>
  61. public static TW009CheckCarrierIDRequestDto Get(TransactionName transName, string taskID, string softwareID, string stationID,
  62. string carrierID, List<string> materialID = null, int materialWeight = default)
  63. {
  64. return new TW009CheckCarrierIDRequestDto()
  65. {
  66. Timetick = DateTime.Now,
  67. TransactionName = transName.ToTransactionName(),
  68. TaskID = taskID,
  69. SoftwareID = softwareID,
  70. StationID = stationID,
  71. CarrierID = carrierID,
  72. MaterialID = materialID,
  73. MaterialWeight = materialWeight
  74. };
  75. }
  76. }
  77. /// <summary>
  78. /// 檢查載具及物料編號回應類別
  79. /// </summary>
  80. public class FW010CheckCarrierIDResponseDto : CommonMessage
  81. {
  82. /// <summary>
  83. /// 搬運命令序號
  84. /// </summary>
  85. /// <remarks>W[YYYYMMddHH][Seq * 5]</remarks>
  86. [Required, StringLength(16), JsonPropertyName("cmd_sno"), JsonPropertyOrder(101)]
  87. public string CommandSequnceNumber { get; set; }
  88. /// <summary>
  89. /// 任務編號
  90. /// </summary>
  91. /// <remarks>P[YYYYMMDDHH][Sequnce * 5]</remarks>
  92. [Required, StringLength(16), JsonPropertyName("task_id"), JsonPropertyOrder(102)]
  93. public string TaskID { get; set; }
  94. /// <summary>
  95. /// 軟體編號
  96. /// </summary>
  97. [Required, StringLength(7), JsonPropertyName("software_id"), JsonPropertyOrder(103)]
  98. public string SoftwareID { get; set; }
  99. /// <summary>
  100. /// 站點編號
  101. /// </summary>
  102. [Required, StringLength(9), JsonPropertyName("station_id"), JsonPropertyOrder(104)]
  103. public string StationID { get; set; }
  104. /// <summary>
  105. /// 載具邊號
  106. /// </summary>
  107. [Required, JsonPropertyName("carrier_id"), JsonPropertyOrder(105)]
  108. public string CarrierID { get; set; }
  109. /// <summary>
  110. /// 物料編號清單
  111. /// </summary>
  112. [JsonPropertyName("material_id"), JsonPropertyOrder(106)]
  113. public List<string> MaterialID { get; set; }
  114. /// <summary>
  115. /// 結果代碼
  116. /// </summary>
  117. /// <value>
  118. /// 0 = Success <br/>
  119. /// 1 = Carrier ID Error <br/>
  120. /// 2 = Material ID Error <br/>
  121. /// </value>
  122. [Required, JsonPropertyName("result_code"), JsonPropertyOrder(107)]
  123. public CarrierIDInsepectResultCode ResultCode { get; set; }
  124. /// <summary>
  125. /// 取得檢查載具編號及物料編號回應
  126. /// </summary>
  127. /// <param name="transName">交易名稱</param>
  128. /// <param name="commandSequnceNumberm">搬運命令序號</param>
  129. /// <param name="taskID">任務編號</param>
  130. /// <param name="softwareID">軟體編號</param>
  131. /// <param name="stationID">站點編號</param>
  132. /// <param name="carrierID">載具編號</param>
  133. /// <param name="resultCode">結果代碼</param>
  134. /// <param name="materialID">物料編號</param>
  135. /// <returns>檢查載具編號及物料編號回應</returns>
  136. public static FW010CheckCarrierIDResponseDto Get(TransactionName transName, string commandSequnceNumberm, string taskID, string softwareID, string stationID,
  137. string carrierID, CarrierIDInsepectResultCode resultCode, List<string> materialID = null)
  138. {
  139. return new FW010CheckCarrierIDResponseDto()
  140. {
  141. Timetick = DateTime.Now,
  142. TransactionName = transName.ToTransactionName(),
  143. CommandSequnceNumber = commandSequnceNumberm,
  144. TaskID = taskID,
  145. SoftwareID = softwareID,
  146. StationID = stationID,
  147. CarrierID = carrierID,
  148. MaterialID = materialID,
  149. ResultCode = resultCode
  150. };
  151. }
  152. }
  153. }