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.

198 lines
5.7 KiB

  1. package com.gaotao.modules.check.entity;
  2. import com.baomidou.mybatisplus.annotation.IdType;
  3. import com.baomidou.mybatisplus.annotation.TableField;
  4. import com.baomidou.mybatisplus.annotation.TableId;
  5. import com.baomidou.mybatisplus.annotation.TableName;
  6. import lombok.Data;
  7. import java.util.Date;
  8. /**
  9. * 盘点主表实体类 - 直接映射数据库表 - rqrq
  10. *
  11. * <p><b>数据库表名</b>count_header</p>
  12. *
  13. * <p><b>表索引</b></p>
  14. * <ul>
  15. * <li>PRIMARY KEY: (site, count_no) 联合主键</li>
  16. * <li>id 自增但非主键</li>
  17. * </ul>
  18. *
  19. * <p><b>核心字段说明</b></p>
  20. * <ul>
  21. * <li><b>count_no</b>盘点单号格式CT + yyyyMMdd + 4位序号</li>
  22. * <li><b>count_type</b>盘点类型CYCLE=循环盘点MANUAL=手工盘点DAILY=日常盘点MID_YEAR=年中盘点YEAR_END=年末盘点 - rqrq</li>
  23. * <li><b>status</b>盘点状态控制盘点单的生命周期</li>
  24. * <li><b>count_percent</b>循环盘点百分比仅循环盘点使用</li>
  25. * </ul>
  26. *
  27. * <p><b>状态流转</b></p>
  28. * <pre>
  29. * DRAFT(草稿) -> RELEASED(已下达) -> CHECKING(盘点中) -> APPROVED(已审批) -> COMPLETED(已完成)
  30. * |
  31. * +---------> CANCELLED(已取消) <----------------------------------------+
  32. *
  33. * 审批规则
  34. * 1. 点击"已审批"检查是否还有未盘点的栈板有则不允许审批
  35. * 2. 已审批状态不允许创建复核任务
  36. * 3. 已审批状态可以处理异常的盘点结果
  37. * 4. 点击"已完成"检查盘点结果中是否有"结果不是OK且handle_flag=N"的数据有则不允许完成
  38. * </pre>
  39. *
  40. * @author rqrq
  41. * @date 2025/12/16
  42. */
  43. @Data
  44. @TableName("count_header")
  45. public class CountHeader {
  46. /**
  47. * 自增ID非主键
  48. */
  49. @TableId(type = IdType.AUTO)
  50. private Long id;
  51. /**
  52. * 工厂编码联合主键
  53. */
  54. @TableField("site")
  55. private String site;
  56. /**
  57. * 盘点单号联合主键
  58. * <p>格式CT + yyyyMMdd + 4位序号</p>
  59. * <p>示例CT2025121600001</p>
  60. */
  61. @TableField("count_no")
  62. private String countNo;
  63. /**
  64. * 盘点类型
  65. * <p><b>枚举值说明</b></p>
  66. * <ul>
  67. * <li>CYCLE = 循环盘点按百分比自动选取标签</li>
  68. * <li>MANUAL = 手工盘点用户手动选择物料</li>
  69. * <li>DAILY = 日常盘点 WCS RFID</li>
  70. * <li>MID_YEAR = 年中盘点年度盘点报告- rqrq</li>
  71. * <li>YEAR_END = 年末盘点年度盘点报告- rqrq</li>
  72. * </ul>
  73. */
  74. @TableField("count_type")
  75. private String countType;
  76. /**
  77. * 盘点状态
  78. * <p><b>枚举值说明</b></p>
  79. * <ul>
  80. * <li>DRAFT = 草稿初始状态可编辑</li>
  81. * <li>RELEASED = 已下达可执行盘点</li>
  82. * <li>CHECKING = 盘点中正在盘点</li>
  83. * <li>APPROVED = 已审批盘点完成待处理异常</li>
  84. * <li>COMPLETED = 已完成盘点结束</li>
  85. * <li>CANCELLED = 已取消</li>
  86. * </ul>
  87. */
  88. @TableField("status")
  89. private String status;
  90. /**
  91. * 循环盘点百分比0-50
  92. * <p>仅循环盘点时使用表示本次盘点占立库标签总数的百分比</p>
  93. */
  94. @TableField("count_percent")
  95. private Integer countPercent;
  96. /**
  97. * 申请人
  98. */
  99. @TableField("apply_user")
  100. private String applyUser;
  101. /**
  102. * 申请日期
  103. */
  104. @TableField("apply_date")
  105. private Date applyDate;
  106. /**
  107. * 下达人
  108. */
  109. @TableField("release_user")
  110. private String releaseUser;
  111. /**
  112. * 下达日期
  113. */
  114. @TableField("release_date")
  115. private Date releaseDate;
  116. /**
  117. * 完成人
  118. */
  119. @TableField("complete_user")
  120. private String completeUser;
  121. /**
  122. * 完成日期
  123. */
  124. @TableField("complete_date")
  125. private Date completeDate;
  126. /**
  127. * 备注
  128. */
  129. @TableField("remark")
  130. private String remark;
  131. /**
  132. * 创建人
  133. */
  134. @TableField("created_by")
  135. private String createdBy;
  136. /**
  137. * 创建时间
  138. */
  139. @TableField("created_date")
  140. private Date createdDate;
  141. /**
  142. * 修改人
  143. */
  144. @TableField("modified_by")
  145. private String modifiedBy;
  146. /**
  147. * 修改时间
  148. */
  149. @TableField("modified_date")
  150. private Date modifiedDate;
  151. // ==================== 常量定义 ====================
  152. /** 盘点类型:循环盘点 */
  153. public static final String COUNT_TYPE_CYCLE = "CYCLE";
  154. /** 盘点类型:手工盘点 */
  155. public static final String COUNT_TYPE_MANUAL = "MANUAL";
  156. /** 盘点类型:日常盘点(WCS日常RFID盘点)- rqrq */
  157. public static final String COUNT_TYPE_DAILY = "DAILY";
  158. /** 盘点类型:年中盘点(年度盘点报告,写入 count_header.count_type)- rqrq */
  159. public static final String COUNT_TYPE_MID_YEAR = "MID_YEAR";
  160. /** 盘点类型:年末盘点(年度盘点报告,写入 count_header.count_type)- rqrq */
  161. public static final String COUNT_TYPE_YEAR_END = "YEAR_END";
  162. /** 状态:草稿 */
  163. public static final String STATUS_DRAFT = "DRAFT";
  164. /** 状态:已下达 */
  165. public static final String STATUS_RELEASED = "RELEASED";
  166. /** 状态:盘点中 */
  167. public static final String STATUS_CHECKING = "CHECKING";
  168. /** 状态:已审批(盘点完成待处理异常)- rqrq */
  169. public static final String STATUS_APPROVED = "APPROVED";
  170. /** 状态:已完成 */
  171. public static final String STATUS_COMPLETED = "COMPLETED";
  172. /** 状态:已取消 */
  173. public static final String STATUS_CANCELLED = "CANCELLED";
  174. }