Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

WMS数据库设计文档

📋 概述

本目录包含WMS(仓储管理系统)的完整数据库设计,包括表结构、索引、视图、触发器和初始化数据。

数据库类型: PostgreSQL 15+
字符集: UTF-8
总表数: 40+ 张表
设计日期: 2025-10-06


📁 目录结构

database/
├── schema/                          # 数据库表结构脚本
│   ├── 00_init_database.sql        # 数据库初始化(创建数据库、Schema、函数、枚举)
│   ├── 01_basic_data.sql           # 基础数据模块(仓库、库位、产品、客户、供应商)
│   ├── 02_inventory.sql            # 库存管理模块(库存、流水、预警、快照)
│   ├── 03_inbound.sql              # 入库管理模块(入库单、收货、上架、质检)
│   ├── 04_outbound.sql             # 出库管理模块(出库单、分配、拣货、发货)
│   ├── 05_stocktaking_transfer.sql # 盘点和调拨模块(盘点、调拨、损坏报废)
│   ├── 06_system_finance.sql       # 系统和财务模块(用户、角色、权限、账单)
│   └── 07_kit_management.sql       # 套组管理模块(套组、组装、拆卸、波次)
├── data/                            # 初始化数据脚本
│   └── init_data.sql               # 初始化数据(用户、角色、权限、基础数据)
├── install.sh                       # Linux/Mac安装脚本
├── install.bat                      # Windows安装脚本
└── README.md                        # 本文档


🗄️ 数据库架构

Schema划分

  • wms: 业务数据Schema,包含所有WMS业务表
  • sys: 系统管理Schema,包含用户、角色、权限等系统表
  • public: PostgreSQL默认Schema

核心模块

1. 基础数据模块 (01_basic_data.sql)

  • wms_warehouse - 仓库表
  • wms_area - 库区表
  • wms_location - 库位表
  • wms_product_category - 产品类别表
  • wms_product - 产品表
  • wms_customer - 客户表
  • wms_supplier - 供应商表
  • wms_unit - 单位表
  • wms_carrier - 承运商表

2. 库存管理模块 (02_inventory.sql)

  • wms_inventory - 库存主表
  • wms_inventory_transaction - 库存流水表
  • wms_inventory_alert_config - 库存预警配置表
  • wms_inventory_snapshot - 库存快照表
  • wms_inventory_lock - 库存锁定记录表
  • wms_inventory_adjustment - 库存调整记录表
  • v_inventory_by_product - 按产品汇总库存视图
  • v_inventory_by_location - 按库位汇总库存视图

3. 入库管理模块 (03_inbound.sql)

  • wms_inbound_order - 入库单主表
  • wms_inbound_order_line - 入库单明细表
  • wms_inbound_receive_record - 收货记录表
  • wms_inbound_putaway_record - 上架记录表
  • wms_inbound_quality_check - 质检记录表
  • v_inbound_order_stats - 入库单统计视图

4. 出库管理模块 (04_outbound.sql)

  • wms_outbound_order - 出库单主表
  • wms_outbound_order_line - 出库单明细表
  • wms_outbound_allocation - 出库分配表
  • wms_picking_task - 拣货任务表
  • wms_picking_task_line - 拣货任务明细表
  • wms_picking_record - 拣货记录表
  • wms_shipping_record - 发货记录表
  • v_outbound_order_stats - 出库单统计视图

5. 盘点和调拨模块 (05_stocktaking_transfer.sql)

  • wms_stocktaking_order - 盘点单主表
  • wms_stocktaking_order_line - 盘点单明细表
  • wms_stocktaking_count_record - 盘点记录表
  • wms_transfer_order - 调拨单主表
  • wms_transfer_order_line - 调拨单明细表
  • wms_transfer_move_record - 调拨记录表
  • wms_damage_order - 损坏报废单表
  • wms_damage_order_line - 损坏报废单明细表

6. 系统和财务模块 (06_system_finance.sql)

  • sys_tenant - 租户表
  • sys_user - 用户表
  • sys_role - 角色表
  • sys_permission - 权限表
  • sys_user_role - 用户角色关联表
  • sys_role_permission - 角色权限关联表
  • sys_operation_log - 操作日志表
  • sys_login_log - 登录日志表
  • wms_billing - 财务账单表
  • wms_billing_line - 账单明细表
  • wms_payment_record - 收款记录表
  • wms_rate_config - 费率配置表

7. 套组管理模块 (07_kit_management.sql)

  • wms_kit - 套组主表
  • wms_kit_component - 套组组成表
  • wms_kit_assembly_order - 套组组装单表
  • wms_kit_disassembly_order - 套组拆卸单表
  • wms_wave_picking - 波次拣货主表
  • wms_wave_picking_order - 波次拣货订单关联表
  • v_kit_available_inventory - 套组可用库存视图

🔧 核心功能

1. 多租户支持

  • 所有业务表包含 tenant_id 字段
  • 数据隔离,确保不同租户数据安全

2. 批次和序列号管理

  • 支持批次号管理 (batch_no)
  • 支持序列号管理 (serial_no)
  • 支持保质期管理 (production_date, expiry_date)

3. 库存分层

  • 总数量 = 可用数量 + 锁定数量
  • 可用数量: 可以被分配出库的数量
  • 锁定数量: 已分配但未出库的数量

4. 完整的业务流程

  • 入库流程: 创建 → 确认 → 收货 → 质检 → 上架 → 完成
  • 出库流程: 创建 → 确认 → 分配 → 拣货 → 发货 → 完成
  • 盘点流程: 创建 → 盘点 → 差异处理 → 调整 → 完成
  • 调拨流程: 创建 → 确认 → 移库 → 完成

5. 库存分配策略

  • FIFO (First In First Out): 先进先出
  • FEFO (First Expired First Out): 保质期先出
  • 手动分配: 人工指定库位

6. 拣货路径优化

  • 按巷道(aisle) → 货架(shelf) → 层(level) → 位(position)排序
  • 支持S型路径、Z型路径等优化算法

7. 财务对账

  • 仓储费、装卸费、增值服务费
  • 支持多种计费方式: 固定、按数量、按重量、按体积、按天
  • 完整的账单和收款记录

🚀 安装步骤

方式一: 使用安装脚本(推荐)

Linux/Mac:

cd database
chmod +x install.sh
./install.sh

Windows:

cd database
install.bat

方式二: 手动执行

# 1. 创建数据库和基础结构
psql -U postgres -f schema/00_init_database.sql

# 2. 创建业务表
psql -U postgres -d wms_db -f schema/01_basic_data.sql
psql -U postgres -d wms_db -f schema/02_inventory.sql
psql -U postgres -d wms_db -f schema/03_inbound.sql
psql -U postgres -d wms_db -f schema/04_outbound.sql
psql -U postgres -d wms_db -f schema/05_stocktaking_transfer.sql
psql -U postgres -d wms_db -f schema/06_system_finance.sql
psql -U postgres -d wms_db -f schema/07_kit_management.sql

# 3. 插入初始化数据
psql -U postgres -d wms_db -f data/init_data.sql

📊 数据库统计

模块 表数量 视图数量 索引数量
基础数据 9 0 15+
库存管理 6 2 20+
入库管理 5 1 15+
出库管理 7 1 20+
盘点调拨 8 0 15+
系统财务 13 0 15+
套组管理 7 1 12+
总计 55 5 112+

🔐 默认账号

安装完成后,系统会创建以下默认账号:

用户名 密码 角色 说明
admin admin123 系统管理员 拥有所有权限
warehouse_manager admin123 仓库经理 仓库管理权限
operator admin123 操作员 基本操作权限

⚠️ 重要: 首次登录后请立即修改默认密码!


📝 注意事项

  1. PostgreSQL版本: 需要PostgreSQL 15或更高版本
  2. 字符集: 必须使用UTF-8编码
  3. 扩展: 需要安装 uuid-ossp, pg_trgm, btree_gin 扩展
  4. 权限: 执行脚本的用户需要有创建数据库和Schema的权限
  5. 备份: 生产环境部署前请做好数据备份

🔄 更新日志

v1.0.0 (2025-10-06)

  • ✅ 完成数据库初始设计
  • ✅ 创建40+张业务表
  • ✅ 创建5个统计视图
  • ✅ 创建112+个索引
  • ✅ 添加初始化数据
  • ✅ 支持多租户架构
  • ✅ 支持批次序列号管理
  • ✅ 完整的业务流程支持

📧 联系方式

如有问题,请联系技术支持团队。


WMS数据库设计 v1.0.0
Copyright © 2025 和智云科技