1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.task;
 
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockTakingTaskStatusEnum;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockTakingTypeEnum;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
 
import java.time.LocalDateTime;
import cn.iocoder.yudao.module.mes.enums.DictTypeConstants;
 
/**
 * MES 盘点任务 DO
 *
 * @author 超级管理员
 */
@TableName("mes_wm_stock_taking_task")
@KeySequence("mes_wm_stock_taking_task_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MesWmStockTakingTaskDO extends BaseDO {
 
    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 任务编码
     */
    private String code;
    /**
     * 任务名称
     */
    private String name;
    /**
     * 盘点日期
     */
    private LocalDateTime takingDate;
 
    /**
     * 盘点类型
     *
     * 字典 {@link DictTypeConstants#MES_WM_STOCK_TAKING_TYPE}
     * 枚举 {@link MesWmStockTakingTypeEnum}
     */
    private Integer type;
    /**
     * 盘点人编号
     *
     * 关联 AdminUserDO 的 id 字段
     */
    private Long userId;
 
    /**
     * 盘点计划编号
     *
     * 关联 {@link MesWmStockTakingPlanDO#getId()}
     */
    private Long planId;
 
    /**
     * 是否盲盘
     */
    private Boolean blindFlag;
    /**
     * 是否冻结库存
     */
    private Boolean frozen;
 
    /**
     * 开始时间
     */
    private LocalDateTime startTime;
    /**
     * 结束时间
     */
    private LocalDateTime endTime;
 
    /**
     * 任务状态
     *
     * 字典 {@link DictTypeConstants#MES_WM_STOCK_TAKING_TASK_STATUS}
     * 枚举 {@link MesWmStockTakingTaskStatusEnum}
     */
    private Integer status;
 
    /**
     * 审核人用户编号
     *
     * 审核人由「系统管理 - 审批配置」按业务类型统一配置(业务编码 stock_taking_result_approve),
     * 提交时不指定;此处记录实际执行审核的用户。审核不通过后保留,表示结果审批已被处理过。
     */
    private Long reviewerId;
    /**
     * 审核人姓名(审核时冗余记录,避免列表展示再查用户)
     */
    private String reviewerName;
    /**
     * 结果审批提交时间 / 审核时间
     *
     * 本任务的状态 2(盘点中)同时承载「盘点中」与「盘点结果审批中」两个阶段,
     * 故用本字段区分阶段:
     * <ul>
     *     <li>提交结果审批时写入提交时间,审核人与审核意见为空 —— 结果审批已提交、等待审核;</li>
     *     <li>审核时更新为实际审核时间 —— 与 reviewerId 一同非空,表示本轮结果审批已处理完毕;</li>
     *     <li>两者皆空表示本轮结果审批尚未提交,可继续录入实盘数量。</li>
     * </ul>
     */
    private LocalDateTime reviewTime;
    /**
     * 审核意见(审核通过时的意见 / 审核不通过时的原因)
     */
    private String reviewRemark;
 
    /**
     * 备注
     */
    private String remark;
 
}