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
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;
|
|
}
|