-- 二维码大批量导出任务:临时 ZIP 落盘 + 进度/取消
|
-- 说明:大批量导出不在请求线程内完成,改为落任务后由后台线程流式生成 ZIP,
|
-- 前端轮询真实进度并支持取消;ZIP 下载完成后立即删除,异常残留由定时任务清理。
|
|
CREATE TABLE IF NOT EXISTS `mes_pro_qr_export_task` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`biz_type` VARCHAR(32) NOT NULL COMMENT '业务类型(BAG_LABEL/BAG_BUSINESS/PALLET_LABEL/PALLET_BUSINESS/BATCH_LABEL/BATCH_BUSINESS)',
|
`uuid` VARCHAR(64) DEFAULT NULL COMMENT '生成组 UUID(与批次编号二选一)',
|
`batch_id` BIGINT DEFAULT NULL COMMENT '生产批次编号(与 UUID 二选一)',
|
`task_name` VARCHAR(128) DEFAULT NULL COMMENT '任务名称(展示用)',
|
`status` TINYINT NOT NULL COMMENT '状态(10 排队中 20 生成中 30 待下载 40 已取消 50 已失败 60 已下载)',
|
`total_count` INT NOT NULL DEFAULT 0 COMMENT '标签总张数',
|
`finished_count` INT NOT NULL DEFAULT 0 COMMENT '已生成张数',
|
`file_path` VARCHAR(512) DEFAULT NULL COMMENT '临时 ZIP 绝对路径(为空表示未落盘或已删除)',
|
`file_size` BIGINT DEFAULT NULL COMMENT '临时 ZIP 大小(字节)',
|
`error_msg` VARCHAR(512) DEFAULT NULL COMMENT '失败原因',
|
`finish_time` DATETIME DEFAULT NULL COMMENT '完成时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_status` (`status`),
|
KEY `idx_create_time` (`create_time`)
|
) ENGINE = InnoDB COMMENT = 'MES 二维码导出任务';
|