# 32-进销存管理系统 - 功能说明
# 项目概述
进销存管理系统是一个面向中小企业的全流程库存管理Web应用系统。采用前后端分离架构,基于Vue 3和Spring Boot技术栈,为企业提供从采购管理、销售管理到库存管理的一站式解决方案。系统支持商品分类管理、供应商/客户管理、采购销售订单管理、库存变动记录、智能库存预警、采购/销售退货处理等全流程业务功能,助力企业实现库存的精细化、数字化管理。
# 项目概览
# ✨ 创新点
# 1. 全流程业务闭环
- 采购-库存-销售一体化:从采购入库到销售出库,全流程数据联动,自动更新库存。
- 双向退货机制:支持采购退货和销售退货,完整的退货申请、审核、处理流程。
- 订单状态管理:采购订单(待入库→已完成)、销售订单(待出库→已完成),状态实时追踪。
- 库存变动记录:每一笔库存变化都有详细记录,包括入库、出库、退货、调整等类型。
# 2. 智能库存预警系统
- 多级预警机制:支持低库存预警、零库存预警,预警级别分为一般、重要、紧急。
- 自动检查功能:系统自动定时检查库存状态,触发预警并记录。
- 灵活配置:支持全局库存阈值配置,商品可单独设置最低库存(min_stock)。
- 预警处理跟踪:预警状态管理(待处理/已处理),支持手动标记和批量处理。
- 配置化预警参数:自动检查间隔、全局阈值、紧急预警比例等参数可灵活配置。
# 3. 完善的供应商与客户管理
- 供应商管理:供应商编码、类型分类、联系方式、状态管理,支持多供应商采购。
- 客户管理:客户分级(普通/银牌/金牌)、客户类型(代理商/企业客户)、信用额度管理。
- 关联业务查询:可查询供应商的所有采购订单,客户的所有销售订单。
- 状态控制:支持启用/停用供应商和客户,确保业务安全。
# 4. 精细化订单管理
- 订单编号自动生成:采购订单(PO前缀)、销售订单(SO前缀)、退货单(PR/SR前缀)自动生成唯一订单号。
- 订单详情管理:主表+明细表设计,支持一个订单包含多个商品,每个商品独立记录数量和价格。
- 分步入库/出库:支持部分入库、部分出库,已入库数量/已出库数量独立追踪。
- 退货与原订单关联:退货单关联原采购/销售订单,自动匹配原订单商品和价格。
- 订单金额自动计算:订单总金额根据明细自动汇总计算。
# 5. 数据统计与分析能力
- 库存实时统计:当前库存数量实时显示,支持按分类、商品查询。
- 变动记录查询:可按商品、类型、时间范围查询库存变动历史。
- 采购销售报表:订单汇总统计、商品销量统计、供应商/客户业务统计。
- 预警数据分析:预警触发频次、商品预警趋势分析。
- 操作人追溯:所有订单和库存变动都记录操作人,支持操作审计。
# ✨ 项目亮点
# 一、业务功能亮点
- 完整的进销存闭环:采购入库→库存管理→销售出库→退货处理,全流程覆盖。
- 智能库存预警:自动监控库存状态,多级预警机制,避免缺货和积压。
- 灵活的退货处理:采购退货和销售退货独立管理,支持质量问题、数量错误、规格不符等多种退货类型。
- 精细化库存记录:每一笔库存变化都有详细记录,变化前后库存、关联单号、操作人全部追溯。
- 多维度数据查询:支持按商品、分类、供应商、客户、时间等多维度查询和统计。
- 系统公告管理:支持发布系统通知、重要公告、活动信息,公告置顶、优先级、过期时间灵活配置。
# 二、技术实现亮点
- 现代化前端技术栈:Vue 3.4.29 + Element Plus 2.8.4 + Vite 5.3.1,组件化开发高效流畅。
- 稳定可靠的后端架构:Spring Boot 3.2.10 + MyBatis Plus 3.5.6,构建企业级后端服务。
- 完善的数据库设计:15张核心表,外键约束,utf8mb4字符集,保证数据完整性和一致性。
- 安全性设计:JWT Token认证、密码加密存储、操作权限控制。
- RESTful API设计:前后端通过标准RESTful接口通信,接口清晰规范。
- 代码生成器支持:集成MyBatis Plus Generator,快速生成CRUD代码。
# 三、用户体验亮点
- 双端界面设计:
- 前台:简洁的首页展示,快速访问核心功能。
- 管理后台:侧边导航,功能模块化,操作集中高效。
- 交互优化:
- 订单新增支持添加多个商品明细。
- 库存变动实时反馈。
- 预警信息醒目提示。
- 表单验证友好提示。
- 数据可视化:管理后台提供数据统计图表,库存趋势、销售统计一目了然。
- 响应式布局:Element Plus组件库,适配PC端操作。
# 管理员
# 系统管理
管理员管理:管理全部管理员账号,支持新增、编辑、删除、启用/禁用操作,控制管理员权限。
用户管理:管理全部普通用户账号,可修改用户信息、状态,支持重置密码。
# 基础信息管理
商品分类管理:
- 管理商品分类(数码产品、办公用品、日用品、服装鞋帽、食品饮料等)
- 分类编码唯一性控制
- 支持新增、编辑、删除、启用/禁用分类
- 分类描述信息管理
商品管理:
- 管理全部商品信息,包括商品编码、名称、规格型号、单位
- 设置商品分类、采购价、销售价
- 商品图片上传(支持多图)
- 设置最低库存(min_stock),用于库存预警
- 商品描述信息管理
- 实时查看当前库存数量
- 支持启用/禁用商品
供应商管理:
- 管理全部供应商信息
- 供应商编码唯一性控制
- 供应商类型分类管理(代理商、生产厂家、批发商等)
- 联系人、电话、地址信息管理
- 供应商状态管理(启用/禁用)
- 备注信息记录
客户管理:
- 管理全部客户信息
- 客户编码唯一性控制
- 客户等级管理(普通/银牌/金牌客户)
- 客户类型管理(代理商/企业客户/个人客户)
- 信用额度设置
- 联系人、电话、地址信息管理
- 客户状态管理(启用/禁用)
# 采购管理
采购订单管理:
- 新增采购订单:选择供应商、填写订单日期、添加采购商品明细(商品、数量、单价)
- 订单编号自动生成(PO+日期序号)
- 订单总金额自动计算
- 订单状态管理:待入库、已完成、退款
- 采购入库操作:支持全部入库或部分入库,自动更新商品库存和库存记录
- 查看订单详情:商品明细、已入库数量、供应商信息
- 订单备注信息
- 创建人和创建时间记录
采购退货管理:
- 基于已有采购订单发起退货申请
- 退货单号自动生成(PR+日期序号)
- 选择退货商品和退货数量
- 退货类型选择:质量问题、数量错误、规格不符、其他
- 退货原因描述
- 退货状态管理:申请中→已审核→已退货→已完成
- 退货审核:管理员审核退货申请,记录审核人和审核时间
- 退货处理:确认退货,自动扣减库存,记录库存变动
- 退货总金额自动计算
- 查看退货详情和处理进度
# 销售管理
销售订单管理:
- 新增销售订单:选择客户、填写订单日期、添加销售商品明细(商品、数量、单价)
- 订单编号自动生成(SO+日期序号)
- 订单总金额自动计算
- 订单状态管理:待出库、已完成、退款
- 销售出库操作:支持全部出库或部分出库,自动扣减商品库存并记录库存变动
- 查看订单详情:商品明细、已出库数量、客户信息
- 订单备注信息
- 创建人和创建时间记录
销售退货管理:
- 基于已有销售订单发起退货申请
- 退货单号自动生成(SR+日期序号)
- 选择退货商品和退货数量
- 退货类型选择:质量问题、客户不满意、规格不符、其他
- 退货原因描述
- 退货状态管理:申请中→已审核→已退货→已完成
- 退款状态管理:未退款、已退款
- 退款金额设置
- 退货审核:管理员审核退货申请,记录审核人和审核时间
- 退货处理:确认退货,自动增加库存,记录库存变动
- 查看退货详情和处理进度
# 库存管理
库存记录管理:
- 查看全部库存变动记录
- 记录类型:采购入库、销售出库、库存调整、采购退货
- 每条记录包含:商品信息、数量变化、变化前库存、变化后库存、单价、关联单号
- 操作人和操作时间追溯
- 备注信息查看
- 支持按商品、类型、时间范围筛选查询
- 库存变动趋势分析
库存预警管理:
- 查看所有库存预警记录
- 预警类型:低库存预警、零库存预警
- 预警级别:一般(黄色)、重要(橙色)、紧急(红色)
- 当前库存和阈值库存对比
- 预警状态管理:待处理、已处理
- 支持手动标记预警已处理
- 支持批量处理预警
- 预警消息描述
- 预警创建时间和更新时间
- 系统预警配置:
- 启用/禁用自动检查
- 设置自动检查间隔(分钟)
- 设置全局低库存阈值
- 设置紧急预警阈值比例
- 查看最后检查时间
库存调整:
- 支持手动调整商品库存(增加/减少)
- 调整原因记录
- 自动生成库存变动记录(类型:库存调整)
- 调整前后库存对比
- 操作人记录
# 系统管理
公告信息管理:
- 发布系统公告通知
- 公告类型:系统通知、重要公告、活动信息
- 优先级设置:普通、重要、紧急
- 公告标题和内容(支持富文本)
- 是否置顶设置
- 发布时间和过期时间管理
- 公告状态:下架、发布
- 创建人记录
- 查看、编辑、删除公告
# 个人中心
个人信息:修改管理员个人信息(用户名、昵称、头像、电话、邮箱)。
修改密码:修改登录密码。
# 普通用户
# 首页浏览
系统首页:
- 查看系统公告信息
- 浏览置顶公告和重要通知
- 按优先级和发布时间排序
- 查看公告详情
# 个人中心
个人信息:修改个人信息(用户名、昵称、头像、电话、邮箱)。
修改密码:修改登录密码。
# 功能权限对照表
| 功能模块 | 管理员 | 普通用户 |
|---|---|---|
| 首页 | ✓ | ✓ |
| 管理员管理 | ✓ | - |
| 用户管理 | ✓ | - |
| 商品分类管理 | ✓ | - |
| 商品管理 | ✓ | - |
| 供应商管理 | ✓ | - |
| 客户管理 | ✓ | - |
| 采购订单管理 | ✓ | - |
| 采购入库 | ✓ | - |
| 采购退货管理 | ✓ | - |
| 销售订单管理 | ✓ | - |
| 销售出库 | ✓ | - |
| 销售退货管理 | ✓ | - |
| 库存记录查看 | ✓ | - |
| 库存预警管理 | ✓ | - |
| 库存调整 | ✓ | - |
| 系统预警配置 | ✓ | - |
| 公告信息管理 | ✓ | - |
| 公告浏览 | ✓ | ✓ |
# 默认账号
# 管理员
用户名: admin
密码: 123456
昵称: 管理员
1
2
3
2
3
# 测试用户
用户名: 123456
密码: 123456
昵称: 123456
1
2
3
2
3
# 核心业务流程
# 用户注册流程
1. 填写注册信息(用户名、密码、昵称、邮箱)
2. 系统创建用户账号(状态:启用)
3. 跳转到登录页
1
2
3
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
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
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
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
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
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
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组件库,界面美观,操作流畅
# 系统扩展建议
# 功能扩展方向
- 仓库管理:支持多仓库管理,仓库之间调拨
- 批次管理:商品批次追踪,生产日期、有效期管理
- 条码管理:商品条码生成和扫码入库/出库
- 供应商评价:采购质量评价,供应商绩效管理
- 客户信用:客户信用额度控制,欠款管理
- 报表中心:更丰富的统计报表,数据分析看板
- 移动端支持:开发移动端App,随时随地查看库存
- 打印功能:订单打印、出库单打印、标签打印
# 技术优化方向
- Redis缓存:热点数据缓存,提升查询性能
- 消息队列:异步处理预警检查,提高系统响应速度
- 定时任务:Spring Task或Quartz,优化自动预警检查
- 数据导出:Excel导出功能,方便数据备份和分析
- 日志记录:操作日志完整记录,审计追溯
- 权限细化:角色权限管理,不同岗位不同权限