| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- -- 交易订单管理(主表 + 采购明细子表)
- SET NAMES utf8mb4;
- CREATE TABLE IF NOT EXISTS `biz_trade_order` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `order_no` varchar(11) NOT NULL COMMENT '订单编号YYYYMMDD+3位序号',
- `supplier_id` bigint(20) NOT NULL COMMENT '供应商ID',
- `distributor_id` bigint(20) NOT NULL COMMENT '承销商ID',
- `total_heads` int(11) NOT NULL COMMENT '交易总头数',
- `total_amount` decimal(12,2) NOT NULL COMMENT '交易总金额元',
- `order_status` char(1) NOT NULL DEFAULT '0' COMMENT '0待支付 1已完成',
- `pay_voucher_url` varchar(512) DEFAULT NULL COMMENT '支付凭证URL',
- `pay_voucher_path` varchar(512) DEFAULT NULL COMMENT '支付凭证路径',
- `finish_time` datetime DEFAULT NULL COMMENT '订单完成时间',
- `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '0存在 2删除',
- `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
- `create_time` datetime DEFAULT NULL COMMENT '订单创建时间',
- `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `remark` varchar(500) DEFAULT NULL COMMENT '备注',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_order_no` (`order_no`),
- KEY `idx_supplier` (`supplier_id`),
- KEY `idx_distributor` (`distributor_id`),
- KEY `idx_order_status` (`order_status`),
- KEY `idx_create_time` (`create_time`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交易订单';
- CREATE TABLE IF NOT EXISTS `biz_trade_order_line` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `order_id` bigint(20) NOT NULL COMMENT '交易订单主表ID',
- `supplier_id` bigint(20) NOT NULL COMMENT '供应商ID冗余',
- `ear_tag` varchar(32) NOT NULL COMMENT '耳标号',
- `weight` decimal(12,2) NOT NULL COMMENT '重量kg',
- `amount` decimal(12,2) NOT NULL COMMENT '金额元',
- `grade_code` char(1) DEFAULT NULL COMMENT '品质等级编码,保存时按biz_grade_weight_config匹配',
- `grade_name` varchar(32) DEFAULT NULL COMMENT '品质等级名称快照,与grade_code同时写入',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_order_ear` (`order_id`,`ear_tag`),
- KEY `idx_order_id` (`order_id`),
- KEY `idx_supplier` (`supplier_id`),
- KEY `idx_ear_tag` (`ear_tag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交易订单采购明细';
- -- 已建表时按需执行(新环境无需执行)
- -- ALTER TABLE `biz_trade_order_line`
- -- ADD COLUMN `grade_code` char(1) DEFAULT NULL COMMENT '品质等级编码,保存时按biz_grade_weight_config匹配' AFTER `amount`,
- -- ADD COLUMN `grade_name` varchar(32) DEFAULT NULL COMMENT '品质等级名称快照,与grade_code同时写入' AFTER `grade_code`;
- -- 已建表时按需执行:历史明细按重量回填等级(需已执行 sql/biz_grade_weight_config.sql)
- -- UPDATE biz_trade_order_line l
- -- INNER JOIN biz_grade_weight_config g ON l.weight >= g.min_weight AND l.weight <= g.max_weight
- -- SET l.grade_code = g.grade_code, l.grade_name = g.grade_name
- -- WHERE l.grade_code IS NULL;
- -- 已建表时按需执行(新环境无需执行)
- -- ALTER TABLE `biz_trade_order_line`
- -- ADD COLUMN `supplier_id` bigint(20) NOT NULL COMMENT '供应商ID冗余' AFTER `order_id`,
- -- ADD KEY `idx_supplier` (`supplier_id`);
- -- UPDATE biz_trade_order_line l
- -- INNER JOIN biz_trade_order o ON o.id = l.order_id SET l.supplier_id = o.supplier_id;
|