西藏巴青项目

biz_trade_order.sql 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. -- 交易订单管理(主表 + 采购明细子表)
  2. SET NAMES utf8mb4;
  3. CREATE TABLE IF NOT EXISTS `biz_trade_order` (
  4. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  5. `order_no` varchar(11) NOT NULL COMMENT '订单编号YYYYMMDD+3位序号',
  6. `supplier_id` bigint(20) NOT NULL COMMENT '供应商ID',
  7. `distributor_id` bigint(20) NOT NULL COMMENT '承销商ID',
  8. `total_heads` int(11) NOT NULL COMMENT '交易总头数',
  9. `total_amount` decimal(12,2) NOT NULL COMMENT '交易总金额元',
  10. `order_status` char(1) NOT NULL DEFAULT '0' COMMENT '0待支付 1已完成',
  11. `pay_voucher_url` varchar(512) DEFAULT NULL COMMENT '支付凭证URL',
  12. `pay_voucher_path` varchar(512) DEFAULT NULL COMMENT '支付凭证路径',
  13. `finish_time` datetime DEFAULT NULL COMMENT '订单完成时间',
  14. `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '0存在 2删除',
  15. `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  16. `create_time` datetime DEFAULT NULL COMMENT '订单创建时间',
  17. `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  18. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  19. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  20. PRIMARY KEY (`id`),
  21. UNIQUE KEY `uk_order_no` (`order_no`),
  22. KEY `idx_supplier` (`supplier_id`),
  23. KEY `idx_distributor` (`distributor_id`),
  24. KEY `idx_order_status` (`order_status`),
  25. KEY `idx_create_time` (`create_time`),
  26. KEY `idx_del_flag` (`del_flag`)
  27. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交易订单';
  28. CREATE TABLE IF NOT EXISTS `biz_trade_order_line` (
  29. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  30. `order_id` bigint(20) NOT NULL COMMENT '交易订单主表ID',
  31. `supplier_id` bigint(20) NOT NULL COMMENT '供应商ID冗余',
  32. `ear_tag` varchar(32) NOT NULL COMMENT '耳标号',
  33. `weight` decimal(12,2) NOT NULL COMMENT '重量kg',
  34. `amount` decimal(12,2) NOT NULL COMMENT '金额元',
  35. `grade_code` char(1) DEFAULT NULL COMMENT '品质等级编码,保存时按biz_grade_weight_config匹配',
  36. `grade_name` varchar(32) DEFAULT NULL COMMENT '品质等级名称快照,与grade_code同时写入',
  37. PRIMARY KEY (`id`),
  38. UNIQUE KEY `uk_order_ear` (`order_id`,`ear_tag`),
  39. KEY `idx_order_id` (`order_id`),
  40. KEY `idx_supplier` (`supplier_id`),
  41. KEY `idx_ear_tag` (`ear_tag`)
  42. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交易订单采购明细';
  43. -- 已建表时按需执行(新环境无需执行)
  44. -- ALTER TABLE `biz_trade_order_line`
  45. -- ADD COLUMN `grade_code` char(1) DEFAULT NULL COMMENT '品质等级编码,保存时按biz_grade_weight_config匹配' AFTER `amount`,
  46. -- ADD COLUMN `grade_name` varchar(32) DEFAULT NULL COMMENT '品质等级名称快照,与grade_code同时写入' AFTER `grade_code`;
  47. -- 已建表时按需执行:历史明细按重量回填等级(需已执行 sql/biz_grade_weight_config.sql)
  48. -- UPDATE biz_trade_order_line l
  49. -- INNER JOIN biz_grade_weight_config g ON l.weight >= g.min_weight AND l.weight <= g.max_weight
  50. -- SET l.grade_code = g.grade_code, l.grade_name = g.grade_name
  51. -- WHERE l.grade_code IS NULL;
  52. -- 已建表时按需执行(新环境无需执行)
  53. -- ALTER TABLE `biz_trade_order_line`
  54. -- ADD COLUMN `supplier_id` bigint(20) NOT NULL COMMENT '供应商ID冗余' AFTER `order_id`,
  55. -- ADD KEY `idx_supplier` (`supplier_id`);
  56. -- UPDATE biz_trade_order_line l
  57. -- INNER JOIN biz_trade_order o ON o.id = l.order_id SET l.supplier_id = o.supplier_id;