Files
GEAR-OA/script/sql/mysql/item/gear_shipping_order.sql
2026-05-21 14:22:42 +08:00

92 lines
6.0 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ================================
-- 发货单据(独立于出入库/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='发货单据表';
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='发货单据明细表';
-- ================================
-- 发货计划(独立表)
-- 目标用于“发货单据”左侧计划列表计划下可关联多张发货单据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='发货计划表';