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

package com.gaotao.modules.check.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;
/**
* RFID日常入库盘点主表 - 记录每次入库RFID复核的基本信息 - rqrq
*
* <p><b>数据库表名:</b>rfid_count_header</p>
*
* <p><b>表索引:</b></p>
* <ul>
* <li>PRIMARY KEY: site + pallet_id + count_time(联合主键)</li>
* <li>INDEX: idx_is_used - 按使用状态查询(查询未使用的复核记录)</li>
* <li>INDEX: idx_count_no - 按盘点单号查询</li>
* </ul>
*
* <p><b>核心字段说明:</b></p>
* <ul>
* <li><b>pallet_id</b>:入库托盘号</li>
* <li><b>count_result</b>:复核结果(复核成功/复核失败)</li>
* <li><b>is_used</b>:是否已生成盘点单(Y=已生成,N=未使用)</li>
* <li><b>count_no</b>:关联的盘点单号(生成盘点结果后填入)</li>
* </ul>
*
* <p><b>业务流程:</b></p>
* <pre>
* 1. WCS回调 → 保存主表(is_used=N)
* 2. 定时任务 → 填充子表(rfid_count_detail)和快照表(rfid_count_snapshot)
* 3. 人工点击 → 生成盘点单(count_result),更新is_used=Y和count_no
* </pre>
*
* <p><b>数据来源:</b></p>
* <pre>
* WCS日常入库RFID复核回调:
* - 每个托盘入库时经过RFID复核
* - WCS推送复核结果到WMS
* - 标签明细由定时任务异步查询pallet_detail表获取
* </pre>
*
* @author rqrq
* @date 2026/03/04
*/
@Data
@TableName("rfid_count_header")
public class RfidCountHeader {
/**
* 主键ID(自增)
*/
@TableId(type = IdType.AUTO)
@TableField("id")
private Long id;
/**
* 工厂编码
*/
@TableField("site")
private String site;
/**
* 托盘号
*/
@TableField("pallet_id")
private String palletId;
/**
* 盘点结果
* <p><b>枚举值说明:</b></p>
* <ul>
* <li>盘点成功 = WCS返回true,RFID扫描与系统数据一致</li>
* <li>盘点失败 = WCS返回false,RFID扫描与系统数据不一致</li>
* </ul>
*/
@TableField("count_result")
private String countResult;
/**
* 盘点时间(WCS复核时间)
*/
@TableField("count_time")
private Date countTime;
/**
* 标签数量(定时任务填充后更新,表示该次盘点的标签数量)
*/
@TableField("label_count")
private Integer labelCount;
/**
* 是否已使用(是否已处理)
* <p><b>枚举值说明:</b></p>
* <ul>
* <li>N = 未处理,定时任务会填充明细和快照表</li>
* <li>Y = 已处理,定时任务不再处理此记录</li>
* </ul>
* <p><b>⚠️ 重要说明:</b></p>
* <pre>
* is_used='Y'表示定时任务已处理完成(填充了子表和快照表)
* 后续人工可以基于此数据生成正式盘点单(count_result)
* </pre>
*/
@TableField("is_used")
private String isUsed;
/**
* 关联的盘点单号(生成盘点结果后填入)
*/
@TableField("count_no")
private String countNo;
/**
* 使用时间(生成盘点单的时间)
*/
@TableField("used_time")
private Date usedTime;
/**
* 使用人(点击生成盘点的操作人)
*/
@TableField("used_by")
private String usedBy;
/**
* 备注
*/
@TableField("remark")
private String remark;
/**
* 创建人
*/
@TableField("created_by")
private String createdBy;
/**
* 创建时间(自动填充)
*/
@TableField(value = "created_date", fill = FieldFill.INSERT)
private Date createdDate;
}