-- 简化采购独立批次表;只增加结构,不回填旧采购记录,执行需另行授权。 USE baiyue_lastleg; -- 简化采购:独立采购库存,收货、占用和签收扣减均由订单锁串行控制。 CREATE TABLE IF NOT EXISTS ll_procurement_workflow_receipt ( id BIGINT NOT NULL PRIMARY KEY COMMENT '批次主键', order_id BIGINT NOT NULL COMMENT '采购单主键', quantity BIGINT NOT NULL COMMENT '本批次数量', file_ids TEXT NOT NULL COMMENT '本批次关联凭证文件主键列表', received_at DATETIME(3) NOT NULL COMMENT '本批次实收时间', created_by VARCHAR(128) NOT NULL COMMENT '作业人标识', KEY idx_procurement_workflow_receipt (order_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购分批收货照片与实收数量'; CREATE TABLE IF NOT EXISTS ll_procurement_workflow_outbound ( id BIGINT NOT NULL PRIMARY KEY COMMENT '批次主键', order_id BIGINT NOT NULL COMMENT '采购单主键', outbound_no VARCHAR(64) NOT NULL COMMENT '采购出库单号', quantity BIGINT NOT NULL COMMENT '本批次数量', tracking_no VARCHAR(255) NOT NULL COMMENT '物流跟踪号', status VARCHAR(32) NOT NULL COMMENT '批次运输派送及签收状态', file_ids TEXT NOT NULL COMMENT '本批次关联凭证文件主键列表', created_at DATETIME(3) NOT NULL COMMENT '记录创建时间', completed_at DATETIME(3) NULL COMMENT '本批次签收完成时间', created_by VARCHAR(128) NOT NULL COMMENT '作业人标识', UNIQUE KEY uk_procurement_workflow_outbound_no (outbound_no), KEY idx_procurement_workflow_outbound (order_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购分批出库物流与签收凭证'; CREATE TABLE IF NOT EXISTS ll_procurement_workflow_command ( order_id BIGINT NOT NULL COMMENT '采购单主键', command_key VARCHAR(128) NOT NULL COMMENT '本单操作幂等键', request_hash VARCHAR(64) NOT NULL COMMENT '动作及请求参数哈希', operator_id VARCHAR(128) NOT NULL COMMENT '作业人标识', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '记录创建时间', PRIMARY KEY (order_id,command_key) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购操作幂等及审计';