仓储管理系统

软件需求与分析课堂测试九—结构化建模分析II(100分)
(45分钟)

1、需求描述:
请设计一个仓储管理系统原型系统,该系统支持多个仓库的设立。统一设立物资台账,物资台账需包含物资编码、物资名称、规格、材质、供应商、 品牌、物资分类,用户可以自定义物资的物资分类。需限制相同的物资名称、 规格、材质的物资不能设立相同的物资编码。仓库人员可进行入库作业、出 库作业业务。入库单、出库单的业务单据编码系统自动生成,不能手工录入, 可以采用年月日+流水号的方式。系统可查询按物资编码的库存信息、按物资分类汇总的库存信息、入库单信息、出库单信息。
考核内容:
1、结构设计:设计数据库结构,绘制ER图,并写出相应的数据字典。
2、业务开发:(1)绘制功能结构图、上下范围图、业务流程图、数据流图;
(2)绘制主界面及各个子界面的页面原型。

  1. 供应商表 (supplier)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    supplier_id INT 11 ✓ 否 供应商ID,自增
    supplier_code VARCHAR 50 否 供应商编码,唯一
    supplier_name VARCHAR 200 否 供应商名称
    contact_person VARCHAR 50 是 联系人
    phone VARCHAR 50 是 联系电话
    email VARCHAR 100 是 邮箱
    address VARCHAR 500 是 地址
    tax_number VARCHAR 50 是 税号
    bank_account VARCHAR 100 是 银行账号
    status TINYINT 1 否 1 状态(0:禁用,1:启用)
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
  2. 品牌表 (brand)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    brand_id INT 11 ✓ 否 品牌ID,自增
    brand_code VARCHAR 50 否 品牌编码,唯一
    brand_name VARCHAR 100 否 品牌名称
    country VARCHAR 50 是 国家/产地
    description TEXT 是 品牌描述
    status TINYINT 1 否 1 状态(0:禁用,1:启用)
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
  3. 物资分类表 (material_category)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    category_id INT 11 ✓ 否 分类ID,自增
    category_code VARCHAR 50 否 分类编码,唯一
    category_name VARCHAR 100 否 分类名称
    parent_id INT 11 是 0 父分类ID,0为顶级分类
    is_custom TINYINT 1 否 0 是否用户自定义(0:系统,1:用户)
    sort_order INT 11 是 0 排序号
    description VARCHAR 500 是 分类描述
    status TINYINT 1 否 1 状态(0:禁用,1:启用)
    created_by INT 11 是 创建人ID
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
  4. 物资台账表 (material)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    material_id INT 11 ✓ 否 物资ID,自增
    category_id INT 11 ✓ 否 分类ID
    material_code VARCHAR 50 否 物资编码,唯一
    material_name VARCHAR 200 否 物资名称
    specification VARCHAR 500 否 规格
    material_type VARCHAR 100 否 材质
    supplier_id INT 11 ✓ 否 供应商ID
    brand_id INT 11 ✓ 是 品牌ID
    unit VARCHAR 20 否 计量单位
    weight DECIMAL 10,3 是 重量(kg)
    volume DECIMAL 10,3 是 体积(m³)
    color VARCHAR 50 是 颜色
    min_stock DECIMAL 12,3 是 0 最低库存预警
    max_stock DECIMAL 12,3 是 0 最高库存预警
    shelf_life INT 11 是 保质期(天)
    description TEXT 是 物资描述
    is_active TINYINT 1 否 1 是否启用(0:停用,1:启用)
    created_by INT 11 是 创建人ID
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
    唯一约束:uk_material_unique (material_name(100), specification(150), material_type(50))
    确保相同名称、规格、材质的物资不能重复
  5. 仓库表 (warehouse)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    warehouse_id INT 11 ✓ 否 仓库ID,自增
    warehouse_code VARCHAR 50 否 仓库编码,唯一
    warehouse_name VARCHAR 100 否 仓库名称
    location VARCHAR 500 否 仓库位置
    manager VARCHAR 50 是 仓库管理员
    contact_phone VARCHAR 20 是 联系电话
    area DECIMAL 10,2 是 仓库面积(㎡)
    capacity DECIMAL 12,3 是 仓库容量
    temperature_range VARCHAR 50 是 温度范围
    humidity_range VARCHAR 50 是 湿度范围
    is_active TINYINT 1 否 1 是否启用(0:关闭,1:启用)
    created_by INT 11 是 创建人ID
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
  6. 库存表 (inventory)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    inventory_id INT 11 ✓ 否 库存ID,自增
    warehouse_id INT 11 ✓ 否 仓库ID
    material_id INT 11 ✓ 否 物资ID
    quantity DECIMAL 12,3 否 0 当前库存数量
    available_quantity DECIMAL 12,3 否 0 可用库存数量
    locked_quantity DECIMAL 12,3 是 0 锁定库存数量
    min_stock DECIMAL 12,3 是 0 最低库存预警
    max_stock DECIMAL 12,3 是 0 最高库存预警
    location_in_wh VARCHAR 100 是 库内位置
    batch_no VARCHAR 50 是 当前批次号
    last_in_time DATETIME 是 最后入库时间
    last_out_time DATETIME 是 最后出库时间
    is_active TINYINT 1 否 1 是否有效(0:无效,1:有效)
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
    唯一约束:uk_warehouse_material (warehouse_id, material_id)
    同一物资在同一仓库只能有一条库存记录
  7. 入库单表 (stock_in_order)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    in_order_id INT 11 ✓ 否 入库单ID,自增
    order_code VARCHAR 50 否 入库单号,系统生成,唯一
    warehouse_id INT 11 ✓ 否 入库仓库ID
    supplier_id INT 11 ✓ 否 供应商ID
    operator_id INT 11 否 操作员ID
    operator_name VARCHAR 50 是 操作员姓名
    order_date DATE 否 入库日期
    expected_date DATE 是 预计到货日期
    actual_date DATETIME 是 实际入库时间
    total_quantity DECIMAL 14,3 否 0 入库总数量
    total_amount DECIMAL 14,2 否 0 入库总金额
    remark VARCHAR 1000 是 备注
    source_type TINYINT 1 是 1 来源类型(1:采购,2:退货,3:调拨,4:其他)
    reference_no VARCHAR 100 是 参考单号
    status TINYINT 1 否 0 状态(0:待审核,1:已审核,2:已入库,3:已取消)
    auditor_id INT 11 是 审核人ID
    auditor_name VARCHAR 50 是 审核人姓名
    audit_time DATETIME 是 审核时间
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
    单据编码规则:IN + YYYYMMDD + 5位流水号,如:IN2023121500001
  8. 出库单表 (stock_out_order)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    out_order_id INT 11 ✓ 否 出库单ID,自增
    order_code VARCHAR 50 否 出库单号,系统生成,唯一
    warehouse_id INT 11 ✓ 否 出库仓库ID
    recipient VARCHAR 100 否 领用人/部门
    recipient_phone VARCHAR 20 是 领用人电话
    operator_id INT 11 否 操作员ID
    operator_name VARCHAR 50 是 操作员姓名
    order_date DATE 否 出库日期
    expected_date DATE 是 预计出库日期
    actual_date DATETIME 是 实际出库时间
    total_quantity DECIMAL 14,3 否 0 出库总数量
    total_amount DECIMAL 14,2 否 0 出库总金额
    purpose VARCHAR 500 是 出库用途
    remark VARCHAR 1000 是 备注
    out_type TINYINT 1 是 1 出库类型(1:领用,2:销售,3:调拨,4:报废,5:其他)
    reference_no VARCHAR 100 是 参考单号
    status TINYINT 1 否 0 状态(0:待审核,1:已审核,2:已出库,3:已取消)
    auditor_id INT 11 是 审核人ID
    auditor_name VARCHAR 50 是 审核人姓名
    audit_time DATETIME 是 审核时间
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
    单据编码规则:OUT + YYYYMMDD + 5位流水号,如:OUT2023121500001
  9. 用户表 (sys_user)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    user_id INT 11 ✓ 否 用户ID,自增
    username VARCHAR 50 否 用户名,唯一
    password VARCHAR 100 否 密码
    real_name VARCHAR 50 否 真实姓名
    email VARCHAR 100 是 邮箱
    phone VARCHAR 20 是 手机号
    department VARCHAR 100 是 部门
    role_type TINYINT 1 否 1 角色类型(1:管理员,2:仓库管理员,3:普通用户)
    is_active TINYINT 1 否 1 是否启用(0:禁用,1:启用)
    last_login_time DATETIME 是 最后登录时间
    created_by INT 11 是 创建人ID
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间
  10. 供货关系表 (supplier_material)
    字段名 数据类型 长度 主键 外键 允许空 默认值 说明
    id INT 11 ✓ 否 供货关系ID,自增
    supplier_id INT 11 ✓ 否 供应商ID
    material_id INT 11 ✓ 否 物资ID
    is_preferred TINYINT 1 是 0 是否首选供应商(0:否,1:是)
    delivery_days INT 11 是 交货天数
    min_order_quantity DECIMAL 12,3 是 最小订货量
    unit_price DECIMAL 12,2 是 供货单价
    currency VARCHAR 10 是 币种
    valid_from DATE 是 有效期开始
    valid_to DATE 是 有效期结束
    remark VARCHAR 500 是 备注
    status TINYINT 1 否 1 状态(0:无效,1:有效)
    created_by INT 11 是 创建人ID
    created_time DATETIME 否 CURRENT_TIMESTAMP 创建时间
    updated_time DATETIME 否 CURRENT_TIMESTAMP 更新时间

image
image

posted @ 2025-12-08 12:28  f-52Hertz  阅读(9)  评论(0)    收藏  举报