Files
GEAR-OA/script/sql/mysql/item/gear_shipping_order.sql

92 lines
6.0 KiB
MySQL
Raw Normal View History

2026-05-18 17:48:43 +08:00
-- ================================
-- 发货单据(独立于出入库/WMS 单据)
-- 目标:用于“订单管理 -> 发货/发货单据”记录发货信息(发货单名称/收货单位/负责人/物流等)
-- 说明:
-- 1) 一张表存储发货单据主信息;与订单通过 order_id 关联
-- 2) 发货单号 shipping_no 后端自动生成(也可手填/改造)
-- 3) 逻辑删除使用 del_flag0存在 2删除
-- ================================
DROP TABLE IF EXISTS gear_shipping_order;
CREATE TABLE gear_shipping_order (
shipping_id bigint(20) NOT NULL COMMENT '发货单据ID',
shipping_no varchar(64) NOT NULL COMMENT '发货单号(唯一)',
shipping_name varchar(128) DEFAULT '' COMMENT '发货单名称(展示用)',
plan_id bigint(20) DEFAULT NULL COMMENT '发货计划ID gear_shipping_plan.plan_id',
order_id bigint(20) NOT NULL COMMENT '关联订单ID gear_order.order_id',
order_code varchar(64) DEFAULT '' COMMENT '订单编号快照',
receiver_company varchar(128) DEFAULT '' COMMENT '收货单位',
receiver_customer_id bigint(20) DEFAULT NULL COMMENT '收货客户ID gear_customer.customer_id',
ship_time datetime COMMENT '发货时间',
responsible_name varchar(64) DEFAULT '' COMMENT '负责人',
logistics_company varchar(64) DEFAULT '' COMMENT '物流公司',
logistics_no varchar(64) DEFAULT '' COMMENT '运单号',
receiver_name varchar(64) DEFAULT '' COMMENT '收货人',
receiver_phone varchar(32) DEFAULT '' COMMENT '收货电话',
receiver_address varchar(255) DEFAULT '' COMMENT '收货地址',
status char(1) NOT NULL DEFAULT '0' COMMENT '完成状态0未发货 1已打印 2已发货 3已完成',
remark varchar(500) DEFAULT NULL COMMENT '备注',
del_flag char(1) NOT NULL DEFAULT '0' COMMENT '删除标志0存在 2删除',
create_by varchar(64) DEFAULT '' COMMENT '创建者',
create_time datetime COMMENT '创建时间',
update_by varchar(64) DEFAULT '' COMMENT '更新者',
update_time datetime COMMENT '更新时间',
PRIMARY KEY (shipping_id),
UNIQUE KEY uk_shipping_no (shipping_no),
KEY idx_plan_id (plan_id),
KEY idx_order_id (order_id),
KEY idx_shipping_name (shipping_name),
KEY idx_receiver_company (receiver_company),
KEY idx_receiver_customer_id (receiver_customer_id),
KEY idx_logistics_no (logistics_no),
KEY idx_ship_time (ship_time)
) ENGINE=InnoDB COMMENT='发货单据表';
2026-05-21 14:22:42 +08:00
DROP TABLE IF EXISTS gear_shipping_order_detail;
CREATE TABLE gear_shipping_order_detail (
detail_id bigint(20) NOT NULL COMMENT '发货单据明细ID',
shipping_id bigint(20) NOT NULL COMMENT '发货单据ID gear_shipping_order.shipping_id',
product_id bigint(20) NOT NULL COMMENT '产品ID',
product_code varchar(64) DEFAULT '' COMMENT '产品编号快照',
product_name varchar(255) DEFAULT '' COMMENT '产品名称快照',
spec varchar(255) DEFAULT '' COMMENT '规格快照',
model varchar(255) DEFAULT '' COMMENT '型号快照',
quantity decimal(18,4) NOT NULL DEFAULT 0 COMMENT '数量',
unit varchar(32) DEFAULT '' COMMENT '单位',
remark varchar(500) DEFAULT NULL COMMENT '备注',
sort int DEFAULT 0 COMMENT '排序',
del_flag char(1) NOT NULL DEFAULT '0' COMMENT '删除标志0存在 2删除',
create_by varchar(64) DEFAULT '' COMMENT '创建者',
create_time datetime COMMENT '创建时间',
update_by varchar(64) DEFAULT '' COMMENT '更新者',
update_time datetime COMMENT '更新时间',
PRIMARY KEY (detail_id),
KEY idx_shipping_id (shipping_id),
KEY idx_product_id (product_id)
) ENGINE=InnoDB COMMENT='发货单据明细表';
2026-05-18 17:48:43 +08:00
-- ================================
-- 发货计划(独立表)
-- 目标用于“发货单据”左侧计划列表计划下可关联多张发货单据gear_shipping_order.plan_id
-- 说明:
-- 1) 一张表存储计划主信息(计划名称/计划日期/状态)
-- 2) 逻辑删除使用 del_flag0存在 2删除
-- ================================
DROP TABLE IF EXISTS gear_shipping_plan;
CREATE TABLE gear_shipping_plan (
plan_id bigint(20) NOT NULL COMMENT '发货计划ID',
plan_name varchar(128) NOT NULL COMMENT '计划名称',
plan_date date NOT NULL COMMENT '计划日期',
status char(1) NOT NULL DEFAULT '0' COMMENT '状态0未完成 1已完成',
remark varchar(500) DEFAULT NULL COMMENT '备注',
del_flag char(1) NOT NULL DEFAULT '0' COMMENT '删除标志0存在 2删除',
create_by varchar(64) DEFAULT '' COMMENT '创建者',
create_time datetime COMMENT '创建时间',
update_by varchar(64) DEFAULT '' COMMENT '更新者',
update_time datetime COMMENT '更新时间',
PRIMARY KEY (plan_id),
KEY idx_plan_date (plan_date),
KEY idx_plan_name (plan_name)
) ENGINE=InnoDB COMMENT='发货计划表';