package cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.time.LocalDateTime; /** * MES 袋码批量生成任务 DO *
* 几十万条袋码不在请求线程内完成:提交后落任务,由后台线程分段落库, * 前端据 {@link #finishedCount}/{@link #totalCount} 展示进度,并支持取消。 */ @TableName("mes_pro_bag_code_generate_task") @KeySequence("mes_pro_bag_code_generate_task_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class MesProBagCodeGenerateTaskDO extends BaseDO { @TableId private Long id; /** * 幂等键:前端每次提交生成一个 UUID,网络重试复用同一个值 */ private String requestId; /** * 业务类型,见 {@link cn.iocoder.yudao.module.mes.enums.pro.MesProBagCodeGenerateBizTypeEnum} */ private String bizType; /** * 生成组 UUID(提交时生成,失败/取消后据此清理部分数据) */ private String uuid; /** * 品种编号 */ private Long itemId; /** * 品种编码(快照) */ private String itemCode; /** * 品种名称(快照) */ private String itemName; /** * 计量单位类型(吨 / 48袋 / 100袋) */ private String unitType; /** * 每托盘袋数(吨类型为 0) */ private Integer perPallet; /** * 托盘数(原始数据为 0) */ private Integer palletCount; /** * 袋码总数 */ private Integer totalCount; /** * 已生成袋码数 */ private Integer finishedCount; /** * 状态,见 {@link cn.iocoder.yudao.module.mes.enums.pro.MesProBagCodeGenerateTaskStatusEnum} */ private Integer status; /** * 备注(写入生成的袋码) */ private String remark; /** * 失败原因 */ private String errorMsg; /** * 完成/终止时间 */ private LocalDateTime finishTime; }