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
198 lines
5.7 KiB
package com.gaotao.modules.check.entity;
|
|
|
|
import com.baomidou.mybatisplus.annotation.IdType;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
import com.baomidou.mybatisplus.annotation.TableId;
|
|
import com.baomidou.mybatisplus.annotation.TableName;
|
|
import lombok.Data;
|
|
|
|
import java.util.Date;
|
|
|
|
/**
|
|
* 盘点主表实体类 - 直接映射数据库表 - rqrq
|
|
*
|
|
* <p><b>数据库表名:</b>count_header</p>
|
|
*
|
|
* <p><b>表索引:</b></p>
|
|
* <ul>
|
|
* <li>PRIMARY KEY: (site, count_no) 联合主键</li>
|
|
* <li>id 自增但非主键</li>
|
|
* </ul>
|
|
*
|
|
* <p><b>核心字段说明:</b></p>
|
|
* <ul>
|
|
* <li><b>count_no</b>:盘点单号,格式:CT + yyyyMMdd + 4位序号</li>
|
|
* <li><b>count_type</b>:盘点类型,CYCLE=循环盘点,MANUAL=手工盘点,DAILY=日常盘点,MID_YEAR=年中盘点,YEAR_END=年末盘点 - rqrq</li>
|
|
* <li><b>status</b>:盘点状态,控制盘点单的生命周期</li>
|
|
* <li><b>count_percent</b>:循环盘点百分比,仅循环盘点使用</li>
|
|
* </ul>
|
|
*
|
|
* <p><b>状态流转:</b></p>
|
|
* <pre>
|
|
* DRAFT(草稿) -> RELEASED(已下达) -> CHECKING(盘点中) -> APPROVED(已审批) -> COMPLETED(已完成)
|
|
* |
|
|
* +---------> CANCELLED(已取消) <----------------------------------------+
|
|
*
|
|
* 审批规则:
|
|
* 1. 点击"已审批":检查是否还有未盘点的栈板,有则不允许审批
|
|
* 2. 已审批状态:不允许创建复核任务
|
|
* 3. 已审批状态:可以处理异常的盘点结果
|
|
* 4. 点击"已完成":检查盘点结果中是否有"结果不是OK且handle_flag=N"的数据,有则不允许完成
|
|
* </pre>
|
|
*
|
|
* @author rqrq
|
|
* @date 2025/12/16
|
|
*/
|
|
@Data
|
|
@TableName("count_header")
|
|
public class CountHeader {
|
|
|
|
/**
|
|
* 自增ID(非主键)
|
|
*/
|
|
@TableId(type = IdType.AUTO)
|
|
private Long id;
|
|
|
|
/**
|
|
* 工厂编码(联合主键)
|
|
*/
|
|
@TableField("site")
|
|
private String site;
|
|
|
|
/**
|
|
* 盘点单号(联合主键)
|
|
* <p>格式:CT + yyyyMMdd + 4位序号</p>
|
|
* <p>示例:CT2025121600001</p>
|
|
*/
|
|
@TableField("count_no")
|
|
private String countNo;
|
|
|
|
/**
|
|
* 盘点类型
|
|
* <p><b>枚举值说明:</b></p>
|
|
* <ul>
|
|
* <li>CYCLE = 循环盘点(按百分比自动选取标签)</li>
|
|
* <li>MANUAL = 手工盘点(用户手动选择物料)</li>
|
|
* <li>DAILY = 日常盘点(如 WCS RFID)</li>
|
|
* <li>MID_YEAR = 年中盘点(年度盘点报告)- rqrq</li>
|
|
* <li>YEAR_END = 年末盘点(年度盘点报告)- rqrq</li>
|
|
* </ul>
|
|
*/
|
|
@TableField("count_type")
|
|
private String countType;
|
|
|
|
/**
|
|
* 盘点状态
|
|
* <p><b>枚举值说明:</b></p>
|
|
* <ul>
|
|
* <li>DRAFT = 草稿(初始状态,可编辑)</li>
|
|
* <li>RELEASED = 已下达(可执行盘点)</li>
|
|
* <li>CHECKING = 盘点中(正在盘点)</li>
|
|
* <li>APPROVED = 已审批(盘点完成待处理异常)</li>
|
|
* <li>COMPLETED = 已完成(盘点结束)</li>
|
|
* <li>CANCELLED = 已取消</li>
|
|
* </ul>
|
|
*/
|
|
@TableField("status")
|
|
private String status;
|
|
|
|
/**
|
|
* 循环盘点百分比(0-50)
|
|
* <p>仅循环盘点时使用,表示本次盘点占立库标签总数的百分比</p>
|
|
*/
|
|
@TableField("count_percent")
|
|
private Integer countPercent;
|
|
|
|
/**
|
|
* 申请人
|
|
*/
|
|
@TableField("apply_user")
|
|
private String applyUser;
|
|
|
|
/**
|
|
* 申请日期
|
|
*/
|
|
@TableField("apply_date")
|
|
private Date applyDate;
|
|
|
|
/**
|
|
* 下达人
|
|
*/
|
|
@TableField("release_user")
|
|
private String releaseUser;
|
|
|
|
/**
|
|
* 下达日期
|
|
*/
|
|
@TableField("release_date")
|
|
private Date releaseDate;
|
|
|
|
/**
|
|
* 完成人
|
|
*/
|
|
@TableField("complete_user")
|
|
private String completeUser;
|
|
|
|
/**
|
|
* 完成日期
|
|
*/
|
|
@TableField("complete_date")
|
|
private Date completeDate;
|
|
|
|
/**
|
|
* 备注
|
|
*/
|
|
@TableField("remark")
|
|
private String remark;
|
|
|
|
/**
|
|
* 创建人
|
|
*/
|
|
@TableField("created_by")
|
|
private String createdBy;
|
|
|
|
/**
|
|
* 创建时间
|
|
*/
|
|
@TableField("created_date")
|
|
private Date createdDate;
|
|
|
|
/**
|
|
* 修改人
|
|
*/
|
|
@TableField("modified_by")
|
|
private String modifiedBy;
|
|
|
|
/**
|
|
* 修改时间
|
|
*/
|
|
@TableField("modified_date")
|
|
private Date modifiedDate;
|
|
|
|
// ==================== 常量定义 ====================
|
|
|
|
/** 盘点类型:循环盘点 */
|
|
public static final String COUNT_TYPE_CYCLE = "CYCLE";
|
|
/** 盘点类型:手工盘点 */
|
|
public static final String COUNT_TYPE_MANUAL = "MANUAL";
|
|
/** 盘点类型:日常盘点(WCS日常RFID盘点)- rqrq */
|
|
public static final String COUNT_TYPE_DAILY = "DAILY";
|
|
/** 盘点类型:年中盘点(年度盘点报告,写入 count_header.count_type)- rqrq */
|
|
public static final String COUNT_TYPE_MID_YEAR = "MID_YEAR";
|
|
/** 盘点类型:年末盘点(年度盘点报告,写入 count_header.count_type)- rqrq */
|
|
public static final String COUNT_TYPE_YEAR_END = "YEAR_END";
|
|
|
|
/** 状态:草稿 */
|
|
public static final String STATUS_DRAFT = "DRAFT";
|
|
/** 状态:已下达 */
|
|
public static final String STATUS_RELEASED = "RELEASED";
|
|
/** 状态:盘点中 */
|
|
public static final String STATUS_CHECKING = "CHECKING";
|
|
/** 状态:已审批(盘点完成待处理异常)- rqrq */
|
|
public static final String STATUS_APPROVED = "APPROVED";
|
|
/** 状态:已完成 */
|
|
public static final String STATUS_COMPLETED = "COMPLETED";
|
|
/** 状态:已取消 */
|
|
public static final String STATUS_CANCELLED = "CANCELLED";
|
|
}
|
|
|