提交sql
This commit is contained in:
79
script/sql/mysql/item/gear_stock_io_order.sql
Normal file
79
script/sql/mysql/item/gear_stock_io_order.sql
Normal file
@@ -0,0 +1,79 @@
|
||||
-- ================================
|
||||
-- 出入库单据控制层(新增)
|
||||
-- 说明:
|
||||
-- 1) 业务层先创建“出入库单”,再由单据生成实际的 gear_stock_io / gear_stock_io_detail
|
||||
-- 2) 单据状态控制提交、审核、作废与执行结果
|
||||
-- 3) 通过 source_io_id 关联已生成的实际出入库记录,确保单据可追溯
|
||||
-- ================================
|
||||
|
||||
DROP TABLE IF EXISTS gear_stock_io_order;
|
||||
CREATE TABLE gear_stock_io_order (
|
||||
order_id bigint(20) NOT NULL COMMENT '单据ID',
|
||||
order_code varchar(64) NOT NULL COMMENT '单据编号(唯一)',
|
||||
io_type char(1) NOT NULL COMMENT '出入库类型(I入库 O出库 T调拨)',
|
||||
biz_type varchar(32) NOT NULL COMMENT '业务类型(purchase/sale/return/transfer/other)',
|
||||
source_type varchar(32) DEFAULT '' COMMENT '来源单据类型(采购单/销售单/报工单等)',
|
||||
source_no varchar(64) DEFAULT '' COMMENT '来源单据编号',
|
||||
warehouse_id bigint(20) DEFAULT NULL COMMENT '主仓库ID',
|
||||
from_warehouse_id bigint(20) DEFAULT NULL COMMENT '调出仓库ID',
|
||||
to_warehouse_id bigint(20) DEFAULT NULL COMMENT '调入仓库ID',
|
||||
status char(1) NOT NULL DEFAULT '0' COMMENT '单据状态(0草稿 1已提交 2已审核 3已执行 4已作废)',
|
||||
exec_flag char(1) NOT NULL DEFAULT '0' COMMENT '执行标志(0未执行 1已执行)',
|
||||
audit_by varchar(64) DEFAULT '' COMMENT '审核人',
|
||||
audit_time datetime COMMENT '审核时间',
|
||||
execute_by varchar(64) DEFAULT '' COMMENT '执行人',
|
||||
execute_time datetime COMMENT '执行时间',
|
||||
source_io_id bigint(20) DEFAULT NULL COMMENT '实际出入库单ID(gear_stock_io.stock_io_id)',
|
||||
total_qty decimal(18,4) NOT NULL DEFAULT 0.0000 COMMENT '单据总数量',
|
||||
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 (order_id),
|
||||
UNIQUE KEY uk_order_code (order_code),
|
||||
KEY idx_status (status),
|
||||
KEY idx_exec_flag (exec_flag),
|
||||
KEY idx_biz_type (biz_type),
|
||||
KEY idx_source_no (source_no),
|
||||
KEY idx_create_time (create_time),
|
||||
KEY idx_source_io_id (source_io_id)
|
||||
) ENGINE=InnoDB COMMENT='出入库单据表';
|
||||
|
||||
DROP TABLE IF EXISTS gear_stock_io_order_detail;
|
||||
CREATE TABLE gear_stock_io_order_detail (
|
||||
detail_id bigint(20) NOT NULL COMMENT '明细ID',
|
||||
order_id bigint(20) NOT NULL COMMENT '单据ID',
|
||||
line_no int(11) NOT NULL DEFAULT 1 COMMENT '行号',
|
||||
item_type varchar(32) NOT NULL COMMENT '物料类型(product/material/other)',
|
||||
item_id bigint(20) NOT NULL COMMENT '物料ID',
|
||||
item_name varchar(128) DEFAULT '' COMMENT '物料名称快照',
|
||||
spec_name varchar(128) DEFAULT '' COMMENT '规格型号快照',
|
||||
warehouse_id bigint(20) DEFAULT NULL COMMENT '入库仓库ID',
|
||||
from_warehouse_id bigint(20) DEFAULT NULL COMMENT '出库仓库ID',
|
||||
quantity decimal(18,4) NOT NULL DEFAULT 0.0000 COMMENT '数量',
|
||||
unit varchar(32) DEFAULT '' COMMENT '单位',
|
||||
batch_no varchar(64) DEFAULT '' COMMENT '批次号',
|
||||
unit_price decimal(18,4) NOT NULL DEFAULT 0.0000 COMMENT '单价快照',
|
||||
amount decimal(18,4) NOT NULL DEFAULT 0.0000 COMMENT '金额快照',
|
||||
source_detail_no varchar(64) DEFAULT '' COMMENT '来源明细编号',
|
||||
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 (detail_id),
|
||||
UNIQUE KEY uk_order_line (order_id, line_no),
|
||||
KEY idx_order_id (order_id),
|
||||
KEY idx_item_id (item_id),
|
||||
KEY idx_batch_no (batch_no),
|
||||
KEY idx_source_detail_no (source_detail_no)
|
||||
) ENGINE=InnoDB COMMENT='出入库单据明细表';
|
||||
|
||||
-- 建议补充的业务索引说明:
|
||||
-- 1) 先保存 gear_stock_io_order/gear_stock_io_order_detail 为草稿
|
||||
-- 2) 提交后进入审核
|
||||
-- 3) 审核通过后生成实际 gear_stock_io / gear_stock_io_detail,并回写 source_io_id
|
||||
-- 4) 如果需要严格防重复执行,可在业务层通过 order_code + status / source_io_id 控制幂等
|
||||
Reference in New Issue
Block a user