# 32-进销存管理系统 - 功能说明

# 项目概述

进销存管理系统是一个面向中小企业的全流程库存管理Web应用系统。采用前后端分离架构,基于Vue 3和Spring Boot技术栈,为企业提供从采购管理、销售管理到库存管理的一站式解决方案。系统支持商品分类管理、供应商/客户管理、采购销售订单管理、库存变动记录、智能库存预警、采购/销售退货处理等全流程业务功能,助力企业实现库存的精细化、数字化管理。


# 项目概览

# ✨ 创新点

# 1. 全流程业务闭环

  • 采购-库存-销售一体化:从采购入库到销售出库,全流程数据联动,自动更新库存。
  • 双向退货机制:支持采购退货和销售退货,完整的退货申请、审核、处理流程。
  • 订单状态管理:采购订单(待入库→已完成)、销售订单(待出库→已完成),状态实时追踪。
  • 库存变动记录:每一笔库存变化都有详细记录,包括入库、出库、退货、调整等类型。

# 2. 智能库存预警系统

  • 多级预警机制:支持低库存预警、零库存预警,预警级别分为一般、重要、紧急。
  • 自动检查功能:系统自动定时检查库存状态,触发预警并记录。
  • 灵活配置:支持全局库存阈值配置,商品可单独设置最低库存(min_stock)。
  • 预警处理跟踪:预警状态管理(待处理/已处理),支持手动标记和批量处理。
  • 配置化预警参数:自动检查间隔、全局阈值、紧急预警比例等参数可灵活配置。

# 3. 完善的供应商与客户管理

  • 供应商管理:供应商编码、类型分类、联系方式、状态管理,支持多供应商采购。
  • 客户管理:客户分级(普通/银牌/金牌)、客户类型(代理商/企业客户)、信用额度管理。
  • 关联业务查询:可查询供应商的所有采购订单,客户的所有销售订单。
  • 状态控制:支持启用/停用供应商和客户,确保业务安全。

# 4. 精细化订单管理

  • 订单编号自动生成:采购订单(PO前缀)、销售订单(SO前缀)、退货单(PR/SR前缀)自动生成唯一订单号。
  • 订单详情管理:主表+明细表设计,支持一个订单包含多个商品,每个商品独立记录数量和价格。
  • 分步入库/出库:支持部分入库、部分出库,已入库数量/已出库数量独立追踪。
  • 退货与原订单关联:退货单关联原采购/销售订单,自动匹配原订单商品和价格。
  • 订单金额自动计算:订单总金额根据明细自动汇总计算。

# 5. 数据统计与分析能力

  • 库存实时统计:当前库存数量实时显示,支持按分类、商品查询。
  • 变动记录查询:可按商品、类型、时间范围查询库存变动历史。
  • 采购销售报表:订单汇总统计、商品销量统计、供应商/客户业务统计。
  • 预警数据分析:预警触发频次、商品预警趋势分析。
  • 操作人追溯:所有订单和库存变动都记录操作人,支持操作审计。

# ✨ 项目亮点

# 一、业务功能亮点

  1. 完整的进销存闭环:采购入库→库存管理→销售出库→退货处理,全流程覆盖。
  2. 智能库存预警:自动监控库存状态,多级预警机制,避免缺货和积压。
  3. 灵活的退货处理:采购退货和销售退货独立管理,支持质量问题、数量错误、规格不符等多种退货类型。
  4. 精细化库存记录:每一笔库存变化都有详细记录,变化前后库存、关联单号、操作人全部追溯。
  5. 多维度数据查询:支持按商品、分类、供应商、客户、时间等多维度查询和统计。
  6. 系统公告管理:支持发布系统通知、重要公告、活动信息,公告置顶、优先级、过期时间灵活配置。

# 二、技术实现亮点

  1. 现代化前端技术栈:Vue 3.4.29 + Element Plus 2.8.4 + Vite 5.3.1,组件化开发高效流畅。
  2. 稳定可靠的后端架构:Spring Boot 3.2.10 + MyBatis Plus 3.5.6,构建企业级后端服务。
  3. 完善的数据库设计:15张核心表,外键约束,utf8mb4字符集,保证数据完整性和一致性。
  4. 安全性设计:JWT Token认证、密码加密存储、操作权限控制。
  5. RESTful API设计:前后端通过标准RESTful接口通信,接口清晰规范。
  6. 代码生成器支持:集成MyBatis Plus Generator,快速生成CRUD代码。

# 三、用户体验亮点

  1. 双端界面设计:
    • 前台:简洁的首页展示,快速访问核心功能。
    • 管理后台:侧边导航,功能模块化,操作集中高效。
  2. 交互优化:
    • 订单新增支持添加多个商品明细。
    • 库存变动实时反馈。
    • 预警信息醒目提示。
    • 表单验证友好提示。
  3. 数据可视化:管理后台提供数据统计图表,库存趋势、销售统计一目了然。
  4. 响应式布局:Element Plus组件库,适配PC端操作。

# 管理员

# 系统管理

管理员管理:管理全部管理员账号,支持新增、编辑、删除、启用/禁用操作,控制管理员权限。

用户管理:管理全部普通用户账号,可修改用户信息、状态,支持重置密码。

# 基础信息管理

商品分类管理:

  • 管理商品分类(数码产品、办公用品、日用品、服装鞋帽、食品饮料等)
  • 分类编码唯一性控制
  • 支持新增、编辑、删除、启用/禁用分类
  • 分类描述信息管理

商品管理:

  • 管理全部商品信息,包括商品编码、名称、规格型号、单位
  • 设置商品分类、采购价、销售价
  • 商品图片上传(支持多图)
  • 设置最低库存(min_stock),用于库存预警
  • 商品描述信息管理
  • 实时查看当前库存数量
  • 支持启用/禁用商品

供应商管理:

  • 管理全部供应商信息
  • 供应商编码唯一性控制
  • 供应商类型分类管理(代理商、生产厂家、批发商等)
  • 联系人、电话、地址信息管理
  • 供应商状态管理(启用/禁用)
  • 备注信息记录

客户管理:

  • 管理全部客户信息
  • 客户编码唯一性控制
  • 客户等级管理(普通/银牌/金牌客户)
  • 客户类型管理(代理商/企业客户/个人客户)
  • 信用额度设置
  • 联系人、电话、地址信息管理
  • 客户状态管理(启用/禁用)

# 采购管理

采购订单管理:

  • 新增采购订单:选择供应商、填写订单日期、添加采购商品明细(商品、数量、单价)
  • 订单编号自动生成(PO+日期序号)
  • 订单总金额自动计算
  • 订单状态管理:待入库、已完成、退款
  • 采购入库操作:支持全部入库或部分入库,自动更新商品库存和库存记录
  • 查看订单详情:商品明细、已入库数量、供应商信息
  • 订单备注信息
  • 创建人和创建时间记录

采购退货管理:

  • 基于已有采购订单发起退货申请
  • 退货单号自动生成(PR+日期序号)
  • 选择退货商品和退货数量
  • 退货类型选择:质量问题、数量错误、规格不符、其他
  • 退货原因描述
  • 退货状态管理:申请中→已审核→已退货→已完成
  • 退货审核:管理员审核退货申请,记录审核人和审核时间
  • 退货处理:确认退货,自动扣减库存,记录库存变动
  • 退货总金额自动计算
  • 查看退货详情和处理进度

# 销售管理

销售订单管理:

  • 新增销售订单:选择客户、填写订单日期、添加销售商品明细(商品、数量、单价)
  • 订单编号自动生成(SO+日期序号)
  • 订单总金额自动计算
  • 订单状态管理:待出库、已完成、退款
  • 销售出库操作:支持全部出库或部分出库,自动扣减商品库存并记录库存变动
  • 查看订单详情:商品明细、已出库数量、客户信息
  • 订单备注信息
  • 创建人和创建时间记录

销售退货管理:

  • 基于已有销售订单发起退货申请
  • 退货单号自动生成(SR+日期序号)
  • 选择退货商品和退货数量
  • 退货类型选择:质量问题、客户不满意、规格不符、其他
  • 退货原因描述
  • 退货状态管理:申请中→已审核→已退货→已完成
  • 退款状态管理:未退款、已退款
  • 退款金额设置
  • 退货审核:管理员审核退货申请,记录审核人和审核时间
  • 退货处理:确认退货,自动增加库存,记录库存变动
  • 查看退货详情和处理进度

# 库存管理

库存记录管理:

  • 查看全部库存变动记录
  • 记录类型:采购入库、销售出库、库存调整、采购退货
  • 每条记录包含:商品信息、数量变化、变化前库存、变化后库存、单价、关联单号
  • 操作人和操作时间追溯
  • 备注信息查看
  • 支持按商品、类型、时间范围筛选查询
  • 库存变动趋势分析

库存预警管理:

  • 查看所有库存预警记录
  • 预警类型:低库存预警、零库存预警
  • 预警级别:一般(黄色)、重要(橙色)、紧急(红色)
  • 当前库存和阈值库存对比
  • 预警状态管理:待处理、已处理
  • 支持手动标记预警已处理
  • 支持批量处理预警
  • 预警消息描述
  • 预警创建时间和更新时间
  • 系统预警配置:
    • 启用/禁用自动检查
    • 设置自动检查间隔(分钟)
    • 设置全局低库存阈值
    • 设置紧急预警阈值比例
    • 查看最后检查时间

库存调整:

  • 支持手动调整商品库存(增加/减少)
  • 调整原因记录
  • 自动生成库存变动记录(类型:库存调整)
  • 调整前后库存对比
  • 操作人记录

# 系统管理

公告信息管理:

  • 发布系统公告通知
  • 公告类型:系统通知、重要公告、活动信息
  • 优先级设置:普通、重要、紧急
  • 公告标题和内容(支持富文本)
  • 是否置顶设置
  • 发布时间和过期时间管理
  • 公告状态:下架、发布
  • 创建人记录
  • 查看、编辑、删除公告

# 个人中心

个人信息:修改管理员个人信息(用户名、昵称、头像、电话、邮箱)。

修改密码:修改登录密码。


# 普通用户

# 首页浏览

系统首页:

  • 查看系统公告信息
  • 浏览置顶公告和重要通知
  • 按优先级和发布时间排序
  • 查看公告详情

# 个人中心

个人信息:修改个人信息(用户名、昵称、头像、电话、邮箱)。

修改密码:修改登录密码。


# 功能权限对照表

功能模块 管理员 普通用户
首页 ✓ ✓
管理员管理 ✓ -
用户管理 ✓ -
商品分类管理 ✓ -
商品管理 ✓ -
供应商管理 ✓ -
客户管理 ✓ -
采购订单管理 ✓ -
采购入库 ✓ -
采购退货管理 ✓ -
销售订单管理 ✓ -
销售出库 ✓ -
销售退货管理 ✓ -
库存记录查看 ✓ -
库存预警管理 ✓ -
库存调整 ✓ -
系统预警配置 ✓ -
公告信息管理 ✓ -
公告浏览 ✓ ✓

# 默认账号

# 管理员

用户名: admin
密码: 123456
昵称: 管理员
1
2
3

# 测试用户

用户名: 123456
密码: 123456
昵称: 123456
1
2
3

# 核心业务流程

# 用户注册流程

1. 填写注册信息(用户名、密码、昵称、邮箱)
2. 系统创建用户账号(状态:启用)
3. 跳转到登录页
1
2
3

# 采购入库流程

1. 进入"采购订单管理"页面,点击"新增采购订单"
2. 选择供应商,填写订单日期
3. 添加采购商品明细:
   - 选择商品
   - 填写采购数量
   - 填写采购单价(默认显示商品采购价,可修改)
   - 系统自动计算小计金额
4. 可添加多个商品明细
5. 系统自动计算订单总金额
6. 填写备注信息(可选)
7. 提交订单,生成订单号(例:PO202509145255),状态:待入库
8. 订单列表中找到该订单,点击"入库"操作
9. 选择入库数量(可全部入库或部分入库)
10. 确认入库:
    - 系统自动增加商品库存(stock_quantity)
    - 生成库存变动记录(类型:采购入库,数量变化为正数)
    - 记录已入库数量(received_quantity)
    - 当全部入库完成时,订单状态自动变为"已完成"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 销售出库流程

1. 进入"销售订单管理"页面,点击"新增销售订单"
2. 选择客户,填写订单日期
3. 添加销售商品明细:
   - 选择商品(需要有足够库存)
   - 填写销售数量
   - 填写销售单价(默认显示商品销售价,可修改)
   - 系统自动计算小计金额
4. 可添加多个商品明细
5. 系统自动计算订单总金额
6. 填写备注信息(可选)
7. 提交订单,生成订单号(例:SO2025091447877),状态:待出库
8. 订单列表中找到该订单,点击"出库"操作
9. 选择出库数量(可全部出库或部分出库)
10. 确认出库:
    - 系统自动扣减商品库存(stock_quantity)
    - 生成库存变动记录(类型:销售出库,数量变化为负数)
    - 记录已出库数量(shipped_quantity)
    - 当全部出库完成时,订单状态自动变为"已完成"
    - 如库存低于阈值,触发库存预警
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 采购退货流程

1. 进入"采购退货管理"页面,点击"新增采购退货"
2. 选择原采购订单(仅显示已入库的订单)
3. 系统自动显示该订单的供应商信息和商品明细
4. 选择退货类型:质量问题、数量错误、规格不符、其他
5. 填写退货原因
6. 选择退货商品和退货数量(不能超过已入库数量)
7. 系统自动计算退货总金额
8. 提交申请,生成退货单号(例:PR202509142935),状态:申请中
9. 管理员审核:
   - 查看退货申请详情
   - 点击"审核通过"或"拒绝"
   - 审核通过后,状态变为"已审核",记录审核人和审核时间
10. 退货处理:
    - 点击"确认退货"
    - 系统自动扣减商品库存
    - 生成库存变动记录(类型:采购退货,数量变化为负数)
    - 记录已退货数量(returned_quantity)
    - 退货状态变为"已退货"
11. 完成退货:状态变为"已完成"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 销售退货流程

1. 进入"销售退货管理"页面,点击"新增销售退货"
2. 选择原销售订单(仅显示已出库的订单)
3. 系统自动显示该订单的客户信息和商品明细
4. 选择退货类型:质量问题、客户不满意、规格不符、其他
5. 填写退货原因
6. 选择退货商品和退货数量(不能超过已出库数量)
7. 系统自动计算退货总金额
8. 设置实际退款金额
9. 提交申请,生成退货单号,状态:申请中
10. 管理员审核:
    - 查看退货申请详情
    - 点击"审核通过"或"拒绝"
    - 审核通过后,状态变为"已审核",记录审核人和审核时间
11. 退货处理:
    - 点击"确认退货"
    - 系统自动增加商品库存
    - 生成库存变动记录(类型:销售退货,数量变化为正数)
    - 记录已退货数量(returned_quantity)
    - 退货状态变为"已退货"
12. 退款处理:
    - 确认退款,退款状态变为"已退款"
13. 完成退货:状态变为"已完成"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 库存预警流程

1. 系统自动检查(根据配置的检查间隔):
   - 定时扫描所有商品库存
   - 判断库存是否低于阈值(商品min_stock或全局阈值)
   - 判断是否为零库存
2. 触发预警:
   - 低库存预警:当前库存 ≤ 最低库存且 > 0,预警级别:重要
   - 零库存预警:当前库存 = 0,预警级别:紧急
   - 生成预警记录,状态:待处理
3. 预警处理:
   - 管理员查看"库存预警管理"页面
   - 查看待处理的预警列表
   - 根据预警信息安排采购或调整
   - 手动标记预警为"已处理"或批量处理
4. 预警配置:
   - 管理员可配置自动检查间隔(分钟)
   - 配置全局低库存阈值(当商品min_stock为空时使用)
   - 配置紧急预警阈值比例(0表示零库存才紧急)
   - 启用/禁用自动检查功能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 库存调整流程

1. 进入"库存记录管理"或"商品管理"页面
2. 找到需要调整的商品,点击"库存调整"
3. 选择调整类型:增加库存或减少库存
4. 填写调整数量
5. 填写调整原因(例:盘点调整、损耗、其他)
6. 确认调整:
   - 系统自动更新商品库存(增加或减少)
   - 生成库存变动记录(类型:库存调整)
   - 记录变化前后库存
   - 记录调整单号(例:ADJ1757786130013)
   - 记录操作人和操作时间
1
2
3
4
5
6
7
8
9
10
11

# 技术说明

# 系统架构

  • 前端:Vue 3.4.29 + Element Plus 2.8.4 + Vite 5.3.1
  • 后端:Spring Boot 3.2.10 + MyBatis Plus 3.5.6 + MyBatis 3.0.4
  • 数据库:MySQL 8.0+ (兼容5.7+)
  • 认证:JWT Token
  • 其他技术:
    • Hutool 5.7.20(Java工具类库)
    • Fastjson 2.0.53(JSON处理)
    • Lombok(简化代码)
    • ECharts 5.5.1(数据可视化)
    • WangEditor 5.1.14(富文本编辑器)

# 访问地址

  • 后端API:http://localhost:1000
  • 前端页面:http://localhost:5173(开发环境)

# 数据库

  • 数据库名:stockmaster
  • 字符集:utf8mb4
  • 总表数:15张表

# 核心表说明

  • admin:管理员表
  • user:普通用户表
  • categories:商品分类表
  • products:商品表
  • suppliers:供应商表
  • customers:客户表
  • purchase_orders:采购订单表
  • purchase_order_details:采购订单详情表
  • purchase_returns:采购退货表
  • purchase_return_details:采购退货详情表
  • sale_orders:销售订单表
  • sale_order_details:销售订单详情表
  • sale_returns:销售退货表
  • sale_return_details:销售退货详情表
  • inventory_records:库存变动记录表
  • stock_alerts:库存预警记录表
  • system_alert_config:系统预警配置表
  • announcements:公告信息表

# 系统特色

# 库存管理特色

  • 实时库存追踪:每次入库、出库、退货、调整都实时更新库存,确保数据准确性
  • 库存变动全记录:记录类型包括采购入库、销售出库、库存调整、采购退货,每条记录包含变化前后库存对比
  • 智能预警机制:自动监控库存状态,低库存和零库存分级预警,避免缺货
  • 灵活的库存调整:支持手动增加或减少库存,记录调整原因和操作人
  • 多维度库存查询:按商品、分类、时间范围查询库存变动历史

# 订单管理特色

  • 采购销售分离管理:采购订单和销售订单独立管理,流程清晰
  • 订单明细详细记录:主表+明细表设计,一个订单可包含多个商品,每个商品独立记录
  • 分步入库/出库:支持部分入库和部分出库,已入库/已出库数量独立追踪
  • 订单状态自动流转:待入库→已完成(采购)、待出库→已完成(销售),状态自动更新
  • 订单金额自动计算:根据商品明细自动汇总计算订单总金额

# 退货管理特色

  • 双向退货支持:采购退货和销售退货独立管理,流程完整
  • 退货类型多样化:质量问题、数量错误、规格不符、客户不满意等多种退货原因
  • 退货流程规范化:申请→审核→退货→完成,每个环节都有记录
  • 退货与原订单关联:退货单关联原采购/销售订单,自动匹配商品和价格
  • 退货库存自动回退:采购退货扣减库存,销售退货增加库存,自动生成库存变动记录
  • 退款管理:销售退货支持退款金额设置和退款状态管理

# 预警管理特色

  • 自动预警检查:系统定时自动检查库存状态,无需人工干预
  • 多级预警级别:一般、重要、紧急三级预警,预警信息醒目提示
  • 灵活的预警配置:全局阈值配置,商品可单独设置最低库存,检查间隔可自定义
  • 预警处理跟踪:预警状态管理(待处理/已处理),支持手动标记和批量处理
  • 预警历史记录:所有预警记录保留,支持历史查询和趋势分析

# 基础数据管理特色

  • 供应商客户分级:客户分级(普通/银牌/金牌)、供应商类型分类,精细化管理
  • 编码唯一性控制:商品编码、供应商编码、客户编码唯一性校验,避免重复
  • 商品分类层级:商品分类管理,支持按分类查询和统计
  • 商品规格管理:商品规格型号、单位、价格独立管理
  • 商品图片支持:商品支持上传多张图片,图片路径存储

# 系统公告特色

  • 多类型公告:系统通知、重要公告、活动信息,类型分类管理
  • 优先级和置顶:公告优先级(普通/重要/紧急)、是否置顶设置,重要信息优先展示
  • 公告生命周期:发布时间和过期时间管理,自动过期控制
  • 公告状态管理:下架/发布状态切换,灵活控制公告显示

# 项目优势

# 1. 解决企业痛点

  • 库存混乱:手工记账容易出错,系统自动记录每一笔库存变化,数据准确可追溯
  • 缺货问题:智能预警机制,提前提醒补货,避免缺货影响销售
  • 库存积压:实时库存统计,及时发现滞销商品,优化库存结构
  • 退货管理:规范退货流程,自动回退库存,避免库存数据不准确
  • 数据统计难:自动生成各类报表,采购销售库存一目了然

# 2. 业务流程规范化

  • 采购流程:订单→入库→完成,流程清晰规范
  • 销售流程:订单→出库→完成,操作简单高效
  • 退货流程:申请→审核→退货→完成,每个环节可追溯
  • 库存管理:自动更新、实时预警、手动调整,灵活可靠

# 3. 数据安全可靠

  • 操作人追溯:所有订单和库存变动都记录操作人,责任明确
  • 数据完整性:外键约束,保证数据一致性
  • 状态管理:订单状态、预警状态、退货状态,流程控制严格
  • 备注信息:支持添加备注,记录特殊情况

# 4. 技术实现完善

  • 前后端分离:开发效率高,维护方便,前后端独立部署
  • RESTful API:接口规范,易于扩展和对接
  • 组件化开发:Vue 3组合式API,代码复用性高
  • 数据库设计规范:15张表,关系清晰,字段完整

# 5. 用户体验优秀

  • 操作简单:界面清晰,流程顺畅,易学易用
  • 实时反馈:库存实时更新,预警及时提示,数据变化即时可见
  • 数据可视化:图表展示,库存趋势、销售统计直观明了
  • 响应式设计:Element Plus组件库,界面美观,操作流畅

# 系统扩展建议

# 功能扩展方向

  1. 仓库管理:支持多仓库管理,仓库之间调拨
  2. 批次管理:商品批次追踪,生产日期、有效期管理
  3. 条码管理:商品条码生成和扫码入库/出库
  4. 供应商评价:采购质量评价,供应商绩效管理
  5. 客户信用:客户信用额度控制,欠款管理
  6. 报表中心:更丰富的统计报表,数据分析看板
  7. 移动端支持:开发移动端App,随时随地查看库存
  8. 打印功能:订单打印、出库单打印、标签打印

# 技术优化方向

  1. Redis缓存:热点数据缓存,提升查询性能
  2. 消息队列:异步处理预警检查,提高系统响应速度
  3. 定时任务:Spring Task或Quartz,优化自动预警检查
  4. 数据导出:Excel导出功能,方便数据备份和分析
  5. 日志记录:操作日志完整记录,审计追溯
  6. 权限细化:角色权限管理,不同岗位不同权限

Java导航网   |