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.

142 lines
3.7 KiB

  1. package com.gaotao.modules.check.entity;
  2. import com.baomidou.mybatisplus.annotation.*;
  3. import lombok.Data;
  4. import java.util.Date;
  5. /**
  6. * RFID日常入库盘点主表 - 记录每次入库RFID复核的基本信息 - rqrq
  7. *
  8. * <p><b>数据库表名</b>rfid_count_header</p>
  9. *
  10. * <p><b>表索引</b></p>
  11. * <ul>
  12. * <li>PRIMARY KEY: site + pallet_id + count_time联合主键</li>
  13. * <li>INDEX: idx_is_used - 按使用状态查询查询未使用的复核记录</li>
  14. * <li>INDEX: idx_count_no - 按盘点单号查询</li>
  15. * </ul>
  16. *
  17. * <p><b>核心字段说明</b></p>
  18. * <ul>
  19. * <li><b>pallet_id</b>入库托盘号</li>
  20. * <li><b>count_result</b>复核结果复核成功/复核失败</li>
  21. * <li><b>is_used</b>是否已生成盘点单Y=已生成N=未使用</li>
  22. * <li><b>count_no</b>关联的盘点单号生成盘点结果后填入</li>
  23. * </ul>
  24. *
  25. * <p><b>业务流程</b></p>
  26. * <pre>
  27. * 1. WCS回调 保存主表is_used=N
  28. * 2. 定时任务 填充子表rfid_count_detail和快照表rfid_count_snapshot
  29. * 3. 人工点击 生成盘点单count_result更新is_used=Y和count_no
  30. * </pre>
  31. *
  32. * <p><b>数据来源</b></p>
  33. * <pre>
  34. * WCS日常入库RFID复核回调
  35. * - 每个托盘入库时经过RFID复核
  36. * - WCS推送复核结果到WMS
  37. * - 标签明细由定时任务异步查询pallet_detail表获取
  38. * </pre>
  39. *
  40. * @author rqrq
  41. * @date 2026/03/04
  42. */
  43. @Data
  44. @TableName("rfid_count_header")
  45. public class RfidCountHeader {
  46. /**
  47. * 主键ID自增
  48. */
  49. @TableId(type = IdType.AUTO)
  50. @TableField("id")
  51. private Long id;
  52. /**
  53. * 工厂编码
  54. */
  55. @TableField("site")
  56. private String site;
  57. /**
  58. * 托盘号
  59. */
  60. @TableField("pallet_id")
  61. private String palletId;
  62. /**
  63. * 盘点结果
  64. * <p><b>枚举值说明</b></p>
  65. * <ul>
  66. * <li>盘点成功 = WCS返回trueRFID扫描与系统数据一致</li>
  67. * <li>盘点失败 = WCS返回falseRFID扫描与系统数据不一致</li>
  68. * </ul>
  69. */
  70. @TableField("count_result")
  71. private String countResult;
  72. /**
  73. * 盘点时间WCS复核时间
  74. */
  75. @TableField("count_time")
  76. private Date countTime;
  77. /**
  78. * 标签数量定时任务填充后更新表示该次盘点的标签数量
  79. */
  80. @TableField("label_count")
  81. private Integer labelCount;
  82. /**
  83. * 是否已使用是否已处理
  84. * <p><b>枚举值说明</b></p>
  85. * <ul>
  86. * <li>N = 未处理定时任务会填充明细和快照表</li>
  87. * <li>Y = 已处理定时任务不再处理此记录</li>
  88. * </ul>
  89. * <p><b> 重要说明</b></p>
  90. * <pre>
  91. * is_used='Y'表示定时任务已处理完成填充了子表和快照表
  92. * 后续人工可以基于此数据生成正式盘点单count_result
  93. * </pre>
  94. */
  95. @TableField("is_used")
  96. private String isUsed;
  97. /**
  98. * 关联的盘点单号生成盘点结果后填入
  99. */
  100. @TableField("count_no")
  101. private String countNo;
  102. /**
  103. * 使用时间生成盘点单的时间
  104. */
  105. @TableField("used_time")
  106. private Date usedTime;
  107. /**
  108. * 使用人点击生成盘点的操作人
  109. */
  110. @TableField("used_by")
  111. private String usedBy;
  112. /**
  113. * 备注
  114. */
  115. @TableField("remark")
  116. private String remark;
  117. /**
  118. * 创建人
  119. */
  120. @TableField("created_by")
  121. private String createdBy;
  122. /**
  123. * 创建时间自动填充
  124. */
  125. @TableField(value = "created_date", fill = FieldFill.INSERT)
  126. private Date createdDate;
  127. }