-- /erp/order/add/new 与 /erp/report/order/new 最小表结构 -- 1) 合并映射表:记录“合并维度 -> 原始行”分配关系 CREATE TABLE IF NOT EXISTS `open_api_order_item_map` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `order_id` bigint NOT NULL COMMENT 'open_api_order.id', `order_code` varchar(45) NOT NULL COMMENT '单号', `source_item_id` bigint NOT NULL COMMENT 'open_api_order_item.id', `source_line_id` varchar(45) DEFAULT NULL COMMENT '原始行号', `merge_matnr_code` varchar(45) NOT NULL COMMENT '合并维度-物料编码', `merge_batch` varchar(110) DEFAULT '' COMMENT '合并维度-批次', `seq_no` int NOT NULL DEFAULT 1 COMMENT '反向分配顺序', `source_qty` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '原始行应完成数量', `allocated_qty` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已分配完成量', `reported_qty` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已回传ERP数量', `status` int NOT NULL DEFAULT 1 COMMENT '状态{1:正常,0:冻结}', `deleted` int NOT NULL DEFAULT 0 COMMENT '是否删除{1:是,0:否}', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), KEY `idx_order_merge` (`order_id`, `merge_matnr_code`, `merge_batch`), KEY `idx_source_item` (`source_item_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='open-api 订单行映射表'; -- 2) 回传事件幂等表:eventId/taskNo/reportNo CREATE TABLE IF NOT EXISTS `open_api_order_report_event` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `event_id` varchar(64) NOT NULL DEFAULT '' COMMENT '事件ID', `task_no` varchar(64) NOT NULL DEFAULT '' COMMENT '任务号', `report_no` varchar(64) NOT NULL DEFAULT '' COMMENT '回传号', `order_code` varchar(45) DEFAULT NULL COMMENT '单号', `payload` text COMMENT '原始报文', `status` int NOT NULL DEFAULT 0 COMMENT '处理状态{0:处理中,1:成功,2:失败}', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_event_task_report` (`event_id`, `task_no`, `report_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='open-api 回传事件幂等表';