Files
wms-saas/docs/database/06-outbound/wms_package.sql
T
2026-09-30 11:11:54 +08:00

25 lines
1.7 KiB
SQL

-- 表:wms_package
-- 用途:包裹。复核通过后的打包结果。打包不改变库存数量桶。
-- 约定:InnoDB / utf8mb4 / 无外键,表间按业务编码关联。详见 docs/database/00-conventions.md
-- 说明:复核结果在出库单 review_status。本表只表示物理包裹。作废包裹不得再关联发货单。
CREATE TABLE `wms_package` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '内部主键',
`tenant_code` VARCHAR(32) NOT NULL COMMENT '租户编码',
`package_no` VARCHAR(64) NOT NULL COMMENT '包裹号,租户内唯一',
`outbound_no` VARCHAR(64) NOT NULL COMMENT '出库单号',
`warehouse_code` VARCHAR(32) NOT NULL COMMENT '仓库编码',
`status` VARCHAR(32) NOT NULL DEFAULT 'open' COMMENT 'open 打包中,packed 已封箱,shipped 已发货,void 已作废',
`weight` DECIMAL(12,4) NULL COMMENT '实际重量,千克',
`length_cm` DECIMAL(12,4) NULL COMMENT '长,厘米,空表示未维护',
`width_cm` DECIMAL(12,4) NULL COMMENT '宽,厘米,空表示未维护',
`height_cm` DECIMAL(12,4) NULL COMMENT '高,厘米,空表示未维护',
`packed_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '打包人 user_code',
`packed_at` DATETIME(3) NULL COMMENT '封箱时间',
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_package_no` (`tenant_code`, `package_no`),
KEY `idx_tenant_outbound` (`tenant_code`, `outbound_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='包裹';