-- /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 回传事件幂等表';
|