仓储域完整设计(算法版)
一、仓储域的核心职责与业务边界
1. 业务定位
仓储域作为库存管理中心,负责管理商品入库、出库、调拨、盘点等核心仓储流程,确保库存数据的准确性和实时性,同时为销售域提供库存保障。
2. 核心职责
- 
库存管理:实时库存查询、库存调整、库存预留
 - 
入库管理:采购入库、退货入库、调拨入库
 - 
出库管理:销售出库、退货出库、调拨出库
 - 
库存调拨:仓库之间的商品调拨
 - 
库存盘点:定期盘点、差异调整
 - 
库位管理:仓库内库位管理
 - 
库存成本核算:移动加权平均成本计算
 
二、仓储域表结构ER设计
-- 创建仓储域数据库
CREATE DATABASE inventory_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE inventory_db;
-- 1. 仓库表
CREATE TABLE warehouses (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    warehouse_code VARCHAR(50) NOT NULL UNIQUE COMMENT '仓库编码',
    warehouse_name VARCHAR(100) NOT NULL COMMENT '仓库名称',
    warehouse_type ENUM('中心仓', '区域仓', '门店仓', '虚拟仓') DEFAULT '中心仓',
    
    -- 位置信息
    address VARCHAR(500) COMMENT '仓库地址',
    contact_person VARCHAR(100) COMMENT '联系人',
    contact_phone VARCHAR(20) COMMENT '联系电话',
    
    -- 容量信息
    total_capacity DECIMAL(15,2) COMMENT '总容量',
    used_capacity DECIMAL(15,2) DEFAULT 0 COMMENT '已用容量',
    
    -- 状态控制
    status ENUM('启用', '停用', '维护中') DEFAULT '启用',
    is_active BOOLEAN DEFAULT TRUE,
    
    created_by VARCHAR(50) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    INDEX idx_warehouse_code (warehouse_code),
    INDEX idx_status (status)
) COMMENT '仓库表';
-- 2. 库位表
CREATE TABLE storage_locations (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    warehouse_id BIGINT NOT NULL,
    location_code VARCHAR(50) NOT NULL COMMENT '库位编码',
    location_name VARCHAR(100) NOT NULL COMMENT '库位名称',
    location_type ENUM('货架', '平面', '冷藏', '冷冻') DEFAULT '货架',
    
    -- 容量信息
    total_capacity DECIMAL(15,2) COMMENT '总容量',
    used_capacity DECIMAL(15,2) DEFAULT 0 COMMENT '已用容量',
    
    -- 位置信息
    area VARCHAR(50) COMMENT '区域',
    shelf VARCHAR(50) COMMENT '货架',
    level INT COMMENT '层数',
    position INT COMMENT '位置',
    
    -- 状态控制
    status ENUM('空置', '部分占用', '已满', '停用') DEFAULT '空置',
    
    created_by VARCHAR(