WCS_AgvTaskInfo.cs 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. using SqlSugar;
  2. using System;
  3. using System.ComponentModel;
  4. using System.Runtime.Serialization;
  5. namespace WCS.Entity
  6. {
  7. /// <summary>
  8. /// AGV任务中间表
  9. /// </summary>
  10. [SugarTable(nameof(WCS_AgvTaskInfo) + "_{year}{month}{day}", "AGV任务中间表")]
  11. [SplitTable(SplitType.Month)]//按年分表 (自带分表支持 年、季、月、周、日)
  12. [DataContract]
  13. public class WCS_AgvTaskInfo
  14. {
  15. /// <summary>
  16. /// ID
  17. /// </summary>
  18. [SugarColumn(IsPrimaryKey = true, ColumnDescription = "ID"), DataMember(Order = 0)]
  19. public int ID { get; set; }
  20. /// <summary>
  21. /// AGVID
  22. /// </summary>
  23. [SugarColumn(ColumnDescription = "AGVID", Length = 50, IsNullable = true), DataMember(Order = 1)]
  24. public string AgvID { get; set; }
  25. /// <summary>
  26. /// wcsTaskId
  27. /// </summary>
  28. [SugarColumn(ColumnDescription = "wcsTaskId", IsNullable = true), DataMember(Order = 2)]
  29. public int TaskId { get; set; }
  30. [Navigate(NavigateType.OneToOne, nameof(TaskId))]
  31. public WCS_TaskInfo Task { get; set; }
  32. /// <summary>
  33. /// 任务类型
  34. /// </summary>
  35. [SugarColumn(ColumnDescription = "任务类型")]
  36. [DataMember(Order = 2)]
  37. public AGVTaskType TaskType { get; set; }
  38. /// <summary>
  39. /// WCS AGV任务状态
  40. /// </summary>
  41. [SugarColumn(ColumnDescription = "WCS AGV任务状态")]
  42. [DataMember(Order = 3)]
  43. public AGVTaskStatus Status { get; set; }
  44. /// <summary>
  45. /// AGV自身状态
  46. /// </summary>
  47. [SugarColumn(ColumnDescription = "AGV自身状态")]
  48. [DataMember(Order = 4)]
  49. public AGVTaskStatus AgvStatus { get; set; }
  50. /// <summary>
  51. /// 车间
  52. /// </summary>
  53. [SugarColumn(ColumnDescription = "车间")]
  54. [DataMember(Order = 5)]
  55. public int WorkShop { get; set; }
  56. /// <summary>
  57. /// 站台
  58. /// </summary>
  59. [SugarColumn(ColumnDescription = "站台", Length = 20, IsNullable = true)]
  60. [DataMember(Order = 6)]
  61. public string Station { get; set; }
  62. /// <summary>
  63. /// 位置
  64. /// </summary>
  65. [SugarColumn(ColumnDescription = "位置", Length = 20, IsNullable = true)]
  66. [DataMember(Order = 7)]
  67. public string Position { get; set; }
  68. /// <summary>
  69. /// 货物数量(1.两个位置放1个货物,2.两个位置放2个货物)
  70. /// </summary>
  71. [SugarColumn(ColumnDescription = "货物数量(1.两个位置放1个货物,2.两个位置放2个货物)")]
  72. [DataMember(Order = 11)]
  73. public int GoodsSum { get; set; }
  74. /// <summary>
  75. /// 创建用户
  76. /// 仅记录用户ID
  77. /// </summary>
  78. [SugarColumn(ColumnDescription = "创建用户", Length = 50)]
  79. public string AddWho { get; set; }
  80. /// <summary>
  81. /// 创建时间
  82. /// </summary>
  83. [SugarColumn(ColumnDescription = "创建时间", InsertServerTime = true)]
  84. public DateTime AddTime { get; set; }
  85. /// <summary>
  86. /// AGV更新时间
  87. /// </summary>
  88. [SugarColumn(ColumnDescription = "AGV更新时间", UpdateServerTime = true, IsNullable = true)]
  89. [DataMember(Order = 10)]
  90. public DateTime AgvUpdateTime { get; set; }
  91. /// <summary>
  92. /// 更新用户
  93. /// 仅记录用户ID
  94. /// </summary>
  95. [SugarColumn(ColumnDescription = "更新用户", Length = 50, IsNullable = true)]
  96. public string EditWho { get; set; }
  97. /// <summary>
  98. /// 更新时间
  99. /// </summary>
  100. [SugarColumn(ColumnDescription = "更新时间", IsNullable = true, UpdateServerTime = true)]
  101. public DateTime EditTime { get; set; }
  102. }
  103. /// <summary>
  104. /// AGV任务状态
  105. /// </summary>
  106. public enum AGVTaskStatus
  107. {
  108. /// <summary>
  109. /// 新建
  110. /// </summary>
  111. [Description("新建")]
  112. NewBuild = 0,
  113. /// <summary>
  114. /// 确认
  115. /// </summary>
  116. [Description("确认")]
  117. Confirm = 5,
  118. /// <summary>
  119. /// 执行
  120. /// </summary>
  121. [Description("执行")]
  122. Execution = 10,
  123. /// <summary>
  124. /// 走出储位
  125. /// </summary>
  126. ExitStorage = 11,
  127. /// <summary>
  128. /// 走入储位
  129. /// </summary>
  130. WalkIntoStorage = 12,
  131. /// <summary>
  132. /// 巷道/工位分配申请
  133. /// </summary>
  134. [Description("巷道/工位分配申请")]
  135. RequestOrPermission1 = 20,
  136. /// <summary>
  137. /// 完成巷道/工位分配申请
  138. /// </summary>
  139. [Description("完成巷道/工位分配申请")]
  140. Complete1 = 21,
  141. #region 安全交互
  142. /// <summary>
  143. /// 取站台前安全交互申请
  144. /// </summary>
  145. [Description("取放站台前安全交互申请")]
  146. RequestOrPermission2 = 30,
  147. /// <summary>
  148. /// 完成交互
  149. /// 完成交互
  150. /// </summary>
  151. [Description("取放站台前安全交互申请")]
  152. Complete = 31,
  153. /// <summary>
  154. /// 放站台前安全交互申请
  155. /// </summary>
  156. [Description("取放站台前安全交互申请")]
  157. PutRequestOrPermission = 40,
  158. #endregion 安全交互
  159. /// <summary>
  160. /// 小车离开取货位
  161. /// </summary>
  162. [Description("小车离开取货位")]
  163. LeaveGet = 32,
  164. /// <summary>
  165. /// 小车离开放货位
  166. /// </summary>
  167. [Description("小车离开放货位")]
  168. LeavePut = 33,
  169. /// <summary>
  170. /// 任务完成
  171. /// </summary>
  172. [Description("任务完成")]
  173. MissionCompleted = 99,
  174. /// <summary>
  175. /// 完成扫码
  176. /// </summary>
  177. [Description("完成扫码")]
  178. CompleteScanCode = 100,
  179. /// <summary>
  180. /// 取消
  181. /// </summary>
  182. [Description("取消")]
  183. Cancel = 106
  184. }
  185. /// <summary>
  186. /// AGV任务类型
  187. /// </summary>
  188. public enum AGVTaskType
  189. {
  190. /// <summary>
  191. /// 入库
  192. /// </summary>
  193. [Description("入库")]
  194. EnterDepot = 1,
  195. /// <summary>
  196. /// 背负式补空
  197. /// </summary>
  198. [Description("背负式补空")]
  199. CallForMaterial = 2,
  200. /// <summary>
  201. /// 叉车机台补空任务
  202. /// </summary>
  203. [Description("叉车机台补空任务")]
  204. ForkliftFilling = 3,
  205. /// <summary>
  206. /// 叫料
  207. /// </summary>
  208. [Description("叫料")]
  209. CallMaterial = 4,
  210. /// <summary>
  211. /// 搬运/运输
  212. /// </summary>
  213. [Description("搬运/运输")]
  214. Transport = 5,
  215. }
  216. }