package cn.iocoder.yudao.module.mes.dal.dataobject.pro.qrexport; 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 *

* 大批量二维码导出不在请求线程内完成,而是落成任务后由后台线程流式生成 ZIP, * 前端据 {@link #finishedCount}/{@link #totalCount} 展示真实进度,并支持中途取消。 */ @TableName("mes_pro_qr_export_task") @KeySequence("mes_pro_qr_export_task_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class MesProQrExportTaskDO extends BaseDO { @TableId private Long id; /** * 业务类型,见 {@link cn.iocoder.yudao.module.mes.enums.pro.MesProQrExportBizTypeEnum} */ private String bizType; /** * 生成组 UUID(与 batchId 二选一) */ private String uuid; /** * 生产批次编号(与 uuid 二选一) */ private Long batchId; /** * 任务名称(展示用,形如「袋码二维码标签-PC20260818L01001」) */ private String taskName; /** * 状态,见 {@link cn.iocoder.yudao.module.mes.enums.pro.MesProQrExportTaskStatusEnum} */ private Integer status; /** * 标签总张数 */ private Integer totalCount; /** * 已生成张数 */ private Integer finishedCount; /** * 临时 ZIP 文件绝对路径;为空表示尚未落盘或已删除 */ private String filePath; /** * 临时 ZIP 文件大小(字节) */ private Long fileSize; /** * 失败原因 */ private String errorMsg; /** * 完成(完成/取消/失败)时间 */ private LocalDateTime finishTime; }