基于springboot的供应链管理系统的设计与实现-计算机毕业设计源码+LW文档
技术微信:375279829
本课题包括源程序、数据库、论文、运行软件、运行教程
毕业设计资料-计算机毕业设计源码网:我们提供的源码通过邮箱或者QQ微信传送,如果有啥问题直接联系客服
包在您电脑上运行成功
语言:Java
数据库:MySQL
框架:ssm、springboot、mvc
课题相关技术、功能详情请联系技术
作品描述
摘要
供应链管理覆盖从物料采购、生产计划、产品入库、库存管理、物流配送到销售出货的完整链条,是企业运营的中枢环节。对中小制造与流通企业而言,供应链上的信息往往分布在采购、仓储、生产、销售、物流等多个部门,各自使用 Excel 或独立软件登记,导致四类典型问题:一是上下游数据不同步,采购不知道库存余量、销售不知道可发数量,容易出现超采或断货;二是出入库与盘点记录分散,账实不符难以及时发现,库存成本与损耗无法准确核算;三是多角色协同缺少统一平台,采购人员、库存管理员、物流人员、销售人员各管一段,跨部门业务靠电话与表格传递,责任边界模糊;四是缺少统计视图,销售额、产品销量、物流时效等指标只能人工汇总,管理层难以快速判断经营状况。针对上述问题,本文设计并实现了一个基于 SpringBoot 的供应链管理系统。
系统采用 B/S 架构与前后端分离模式,后端以 SpringBoot 为核心,结合 MyBatis 完成持久化,MySQL 存储业务数据,前端使用 Vue 与 ElementUI 构建管理后台,并用 ECharts 呈现销售额与产品销量统计。系统设置管理员、库存管理员、物流人员、销售人员、采购人员五类登录角色,后台提供首页、个人中心、库存管理员、物流人员、销售人员、采购人员、供应商、客户信息、产品分类、产品信息、生产计划、产品入库、产品出库、物流信息、物料信息与物料采购等模块。首页展示登录用户信息与\"产品销量总数\"统计卡,并以折线图与柱状图呈现销售额与产品销量;产品信息页支持按产品名称、产品分类、规格、价格区间组合检索,表格列含图片、成本、价格、数量、库存位置,操作列提供查看、产品入库、库存盘点、库存调拨,并在库存数量达到阈值时弹出\"数量预警\"提示。
论文完成角色与功能需求分析、四层架构设计、十八张核心数据表设计、主要界面与关键业务逻辑的详细设计,并给出功能测试用例与测试结论。测试结果表明系统功能完整、多角色权限隔离有效、出入库与库存数据一致、预警与统计逻辑准确,可作为中小制造与流通企业供应链协同管理的实用平台。
关键词: 供应链管理;库存管理;SpringBoot;Vue;ECharts;库存预警;多角色协同
---
第一章 绪论
1.1 研究背景与意义
供应链管理把供应商、生产企业、仓储、物流与客户串联为一条价值传递链。对中小制造与流通企业而言,供应链效率直接决定资金周转与交付能力:采购早了占用资金、采购晚了停产待料;库存记不准导致订单承诺失约;物流信息不透明导致客户投诉。相比大型企业依赖成熟 ERP,中小企业普遍处于\"部门级信息化\"状态,供应链环节被切成若干孤岛。
当前存在的四类问题尤为突出。
第一,数据不同步。采购部门用一张表记录到货,仓库存另一张表记录入库,销售又用第三张表记录可发数量,三张表靠人工核对同步。一旦某环节漏记,就会出现\"系统显示有货、实际已发完\"的情况,销售承诺无法兑现。
第二,出入库与盘点不规范。入库、出库、盘点、调拨四类单据缺少统一编号与审批,账面数量与实际库存经常不一致;盘点差异只能靠人工找原因,损耗与错发难以追责。
第三,多角色协同无边界。采购人员、库存管理员、物流人员、销售人员职责不同,但业务彼此依赖。缺少统一平台时,跨部门业务靠电话、微信群与 Excel 传递,谁在办、办到哪一步无从查证,出问题互相推诿。
第四,缺少决策视图。销售额、产品销量、库存周转等指标需要人工汇总,管理层想知道\"哪款产品卖得最好、哪类产品库存积压\",只能临时让各部门报表,无法随时查看趋势。
因此,构建一套覆盖\"采购—入库—库存—生产—出库—物流—销售\"全链条、支持多角色协同与库存预警的供应链管理系统,对提升中小企业运营效率、降低库存成本、保障交付履约具有现实意义。
1.2 国内外研究现状
国外企业的供应链信息化以 ERP 与 SCM 套件为主,功能覆盖需求预测、供应商协同、多仓管理与运输优化,优势是数据模型完备、流程标准化;不足是实施成本高、周期长、流程刚性强,中小企业难以承担,且本地化适配(如票据、计量单位、审批习惯)需大量定制。
国内中小企业的实践主要有三类:一是使用进销存软件,侧重出入库与账目,缺少生产计划与物流环节的衔接;二是使用通用 ERP 的简化版,功能覆盖广但操作复杂,一线人员使用意愿低;三是用 Excel 加即时通讯工具协作,灵活但无流程控制与数据一致性保障。将产品主数据、出入库单据、库存盘点调拨、物料采购与销售统计整合在同一轻量平台、并按岗位划分角色的实践仍较少。本文的工作即在此处展开。
1.3 研究内容与论文结构
本文主要工作:(1)依据登录页角色选项与后台菜单提炼五类角色的权限边界;(2)设计前后端分离的四层架构与模块划分;(3)设计覆盖人员、供应商、客户、产品、物料、生产计划、出入库、盘点调拨、物流与采购的数据表结构;(4)实现产品主数据维护与组合检索、出入库与库存联动、库存数量预警、销售统计图表等关键功能;(5)完成功能测试并给出结论。
全文共七章:绪论、相关技术、需求分析、总体设计、详细设计与实现、系统测试、总结与展望。
---
第二章 相关技术
2.1 SpringBoot 框架
SpringBoot 以自动配置与起步依赖降低 Spring 应用搭建成本,内置容器使应用可直接以 JAR 形式运行,便于部署在企业服务器或云主机上。本系统后端以 SpringBoot 构建接口层,通过 `@RestController` 输出 JSON;使用拦截器统一完成登录态与角色(管理员/库存管理员/物流人员/销售人员/采购人员)校验;通过全局异常处理器统一错误响应;借助依赖注入把库存扣减、库存预警判定、单据状态流转等规则集中在服务层。
2.2 Vue 与 ElementUI
前端采用 Vue 组件化开发,把侧边菜单、统计卡、查询表单、数据表格、分页器、弹窗、上传组件抽象复用。ElementUI 提供表格、表单、下拉选择、日期选择、对话框等控件,正好支撑产品信息页\"查询区+表格+操作列\"的形态,以及操作列中查看、产品入库、库存盘点、库存调拨四类按钮的排布。前后端通过 Axios 通信,接口返回分页对象供表格渲染。
2.3 MySQL 与 MyBatis
MySQL 承担全部业务数据存储,其事务能力保证\"入库单确认并累加库存\"\"出库单确认并扣减库存\"\"调拨完成并转移库存位置\"的一致性,数量与金额字段采用整数与定点小数存储,避免误差。持久层采用 MyBatis,通过 XML 编写 SQL,便于针对\"按产品统计销量\"\"按销售员统计销售额\"\"按库存位置统计数量\"等场景编写聚合查询;动态 SQL 把产品信息页的多条件筛选合并为一条语句。
2.4 ECharts 与其他支撑技术
首页的\"销售额统计\"使用折线图,横轴为销售姓名、纵轴为金额,直观呈现各销售人员的业绩走势;\"产品销量统计\"使用多色柱状图,横轴为产品名称、纵轴为销量,柱高反映畅销与滞销。后端按维度分组聚合返回 `{name, value}` 数组,前端配置坐标轴、图例与配色即可。产品图片与单据附件采用服务器目录存储+数据库保存相对路径的方式,上传时校验类型与大小。
---
第三章 系统需求分析
3.1 角色分析
依据登录页\"角色\"下拉项(管理员、库存管理员、物流人员、销售人员、采购人员)与后台侧边菜单,系统设置五类角色。
(1)管理员。 拥有全部权限,负责人员账号管理、供应商与客户主数据维护、产品分类与产品信息维护、生产计划编制、各类单据审批与统计查看。
(2)库存管理员。 负责入库、出库、盘点与调拨:确认产品入库单、办理产品出库、执行库存盘点并处理差异、发起库存调拨;可查看库存位置与数量报表,处理库存数量预警。数据范围限于库存相关单据与产品库存字段。
(3)物流人员。 负责物流信息维护与配送跟踪:登记发货信息、承运商、运单号与配送状态,回写客户签收情况;可查看待发货的出库单。
(4)销售人员。 负责客户信息维护与销售业务:登记销售订单与出货申请、查看客户与可发库存、跟进回款状态,并查看自己的销售额统计。
(5)采购人员。 负责供应商与物料采购:维护物料信息、发起物料采购、跟踪到货与验收,掌握物料库存与在途数量。
五类角色围绕同一条供应链协同:采购人员补物料、库存管理员管实物、生产计划驱动投产、物流人员负责交付、销售人员对接客户,管理员统筹主数据与审批。
3.2 功能模块需求
登录与鉴权模块。 登录页左上角为四色十字品牌标识,标题为\"供应链管理系统的设计与实现\";表单为账号、密码(带显隐切换)与角色下拉(选择后展开管理员、库存管理员、物流人员、销售人员、采购人员五个选项);页面底部以青色块与十字图形装饰。校验通过后按角色进入对应后台视图。
后台功能模块。
1. 首页:面包屑为\"首页 > 系统首页\";左侧为登录用户卡片,展示头像、用户名、角色、上次登录地址与上次登录时间;右侧为统计卡,展示\"产品销量总数\";下方左侧\"销售额统计\"折线图,右侧\"产品销量统计\"柱状图。
2. 个人中心:含\"修改密码\"与\"个人信息\"两个子项。
3. 库存管理员、物流人员、销售人员、采购人员:分别维护四类岗位账号、姓名、联系方式与状态,作为角色分配与责任归属依据。
4. 供应商:维护供应商名称、联系人、电话、供货品类、结算方式与评级。
5. 客户信息:维护客户名称、联系人、电话、地址、信用额度与历史订单概要。
6. 产品分类:维护产品分类名称与排序,作为产品归档与前台下单筛选依据。
7. 产品信息:核心模块。查询区含产品名称输入框、产品分类下拉、规格输入框与价格区间(最小价格、最大价格),右侧为\"查询\"按钮;表格列依次为序号、产品名称、图片、产品分类、规格、成本、价格、数量、库存位置、操作;操作列提供查看、产品入库、库存盘点、库存调拨四个按钮。
8. 生产计划:编制产品生产计划(产品、计划数量、计划起止日期、关联物料需求),跟踪执行状态。
9. 产品入库:登记入库单(来源、产品、数量、成本、库存位置、经办人、日期),确认后累加库存。
10. 产品出库:登记出库单(客户、产品、数量、价格、出库原因),确认后扣减库存并触发物流。
11. 物流信息:维护运单号、承运商、发货时间、配送状态与签收信息。
12. 物料信息:维护物料编码、名称、规格、单位、安全库存与当前库存。
13. 物料采购:发起采购单(供应商、物料、数量、单价、到货日期),跟踪到货与验收。
预警功能。 当产品库存数量低于安全库存或达到预设阈值时,系统在页面弹出\"数量预警\"对话框,提示\"N 条记录到达预警\"并列出涉及产品名称(如\"包含:产品名称1、产品名称2…\"),由操作人确认;同时把预警写入预警记录表,供库存管理员复核补货。
3.3 非功能需求
性能需求。 单机部署支持不少于 60 并发;产品列表与统计接口在万级数据内响应不超过 2 秒;统计查询按月预聚合,避免大表扫描;产品图片统一压缩。
安全性需求。 密码不以明文存储;后台接口按角色鉴权,销售人员不能修改库存字段、库存管理员不能修改销售价格;数量与金额字段做精度与范围校验,禁止负数出库;查询参数预编译防 SQL 注入;上传图片与附件校验类型与大小。
可用性需求。 侧边菜单按角色显示,未授权项不呈现;产品信息页操作按钮语义清晰;预警弹窗明确列出触发对象;单据状态以颜色标签区分。
可维护性需求。 控制层只做参数校验与结果封装,业务规则集中在服务层;分类、岗位、预警阈值配置在参数与字典表中,可随经营调整;表结构预留批次、仓库、币种等扩展字段。
---
第四章 总体设计
4.1 系统架构设计
系统采用 B/S 架构与前后端分离模式,分为四层。
表现层:后台管理台(本系统以内部管理为主,无独立对外商城),基于 Vue 与 ElementUI 构建,统计图表由 ECharts 渲染,通过 Axios 调用接口,不直接访问数据库。
接口层:SpringBoot 控制器按业务域划分为认证、人员、供应商、客户、产品分类、产品、生产计划、入库、出库、物流、物料、采购与统计接口,统一返回状态码、提示信息与数据体。
业务层:服务类承载角色判断、单据确认与库存联动、库存预警判定、生产计划与物料需求匹配、统计聚合等规则;涉及多次写操作(如入库确认并累加库存与写库存流水、出库确认并扣减库存与生成物流单)使用事务保证一致。
数据层:MyBatis 映射与 MySQL 数据库,产品图片与单据附件以文件形式存于服务器目录,数据库仅保存相对路径。
请求流程:浏览器请求→接口层校验登录态与角色→业务层处理→持久层读写→封装结果返回前端渲染。各角色共用同一套接口,差异体现在数据范围过滤与菜单可见性。
4.2 数据库设计
依据界面字段与菜单,设计如下主要数据表(列核心字段)。
(1)库存管理员表(stock_admin):id;账号、密码、姓名、联系电话、负责仓库、状态、创建时间。
(2)物流人员表(logistics_staff):id;账号、密码、姓名、联系电话、所属承运部门、状态、创建时间。
(3)销售人员表(sales_staff):id;账号、密码、姓名、联系电话、所属区域、销售额累计、状态、创建时间。
(4)采购人员表(purchase_staff):id;账号、密码、姓名、联系电话、负责品类、状态、创建时间。
(5)管理员表(admin):id;账号、密码、姓名、角色、状态、上次登录地址、上次登录时间、创建时间。首页用户卡片中的登录信息取自此表。
(6)供应商表(supplier):id;供应商名称、联系人、联系电话、供货品类、结算方式、评级、合作状态、创建时间。
(7)客户表(customer):id;客户名称、联系人、联系电话、地址、信用额度、累计成交额、状态、创建时间。
(8)产品分类表(product_category):id;分类名称、排序值、状态、备注。对应产品信息页的\"产品分类\"下拉。
(9)产品表(product):id;产品名称、分类 id、产品分类名称、规格、成本、价格、数量、库存位置、安全库存、产品图片、产品说明、状态、创建时间。字段与产品信息页表头一一对应。
(10)生产计划表(production_plan):id;计划编号、产品 id、产品名称、计划数量、已完工数量、计划开始日期、计划完成日期、关联物料需求、状态、编制人、创建时间。
(11)产品入库表(stock_in):id;入库单号、来源类型(采购入库/生产入库/退货入库)、产品 id、产品名称、数量、成本、库存位置、经办人、入库日期、状态、备注。
(12)产品出库表(stock_out):id;出库单号、客户 id、客户名称、产品 id、产品名称、数量、价格、总额、出库原因(销售出库/调拨出库/报损)、经办人、出库日期、状态、备注。
(13)库存盘点表(stock_check):id;盘点单号、产品 id、账面数量、实际数量、差异数量、差异原因、盘点人、盘点日期、处理状态。
(14)库存调拨表(stock_transfer):id;调拨单号、产品 id、调出位置、调入位置、数量、申请人、审批人、调拨日期、状态。
(15)物流信息表(logistics):id;运单号、出库单 id、客户 id、承运商、发货时间、预计到达、配送状态(待发货/运输中/已签收/异常)、签收人、签收时间。
(16)物料信息表(material):id;物料编码、物料名称、规格、单位、安全库存、当前库存、单价、状态。
(17)物料采购表(material_purchase):id;采购单号、供应商 id、物料 id、数量、单价、总额、下单日期、预计到货、实际到货、验收状态、经办人。
(18)预警规则表(warning_rule):id;预警类型(产品库存/物料库存)、阈值、适用范围、启用状态、创建时间。
(19)预警记录表(warning_log):id;关联产品 id、预警类型、当前数量、阈值、触发时间、处理状态、处理人、处理说明。对应前端\"数量预警\"弹窗的数据来源。
(20)库存流水表(stock_log):id;产品 id、业务类型(入库/出库/盘点调整/调拨)、业务单号、变动数量、变动后数量、操作人、操作时间。用于账实核对与追溯。
表间关系:product_category 与 product 一对多;supplier 与 material_purchase 一对多;customer 与 stock_out、logistics 一对多;product 与 production_plan、stock_in、stock_out、stock_check、stock_transfer、stock_log 一对多;stock_out 与 logistics 一对一或一对多。删除产品前校验其出入库与流水记录,避免数据悬挂;单据确认后不允许直接修改数量,调整须通过盘点或调拨单据留痕。
---
第五章 详细设计与实现
5.1 登录与角色鉴权
登录页左上角为四色十字标识,下方标题为系统名称,页面底部以青色块与十字图形作装饰。表单首行为账号输入框,第二行为密码输入框与显隐切换图标,第三行为\"角色\"下拉框,展开后列出管理员、库存管理员、物流人员、销售人员与采购人员五个选项;提交后后端按所选角色到对应表校验,角色与账号类型不匹配时提示\"账号与角色不符\"。校验通过后写入会话,记录本次登录地址与时间用于首页展示,并返回对应后台视图。
拦截器统一校验后台接口:销售人员调用\"产品入库\"接口返回无权限,库存管理员调用\"物料采购\"接口返回无权限;管理员可访问全部接口。侧边菜单按角色动态渲染,未授权项不显示,形成前后端双重约束。
5.2 首页与统计看板
首页顶部标题为\"供应链管理系统的设计与实现\",左侧为白色侧边菜单(首页、个人中心、库存管理员、物流人员、销售人员、采购人员、供应商、客户信息、产品分类、产品信息、生产计划、产品入库、产品出库、物流信息、物料信息、物料采购),选中项以浅青色底与左侧色条标示;面包屑为\"首页 > 系统首页\"。
内容区左上为登录用户卡片:左侧为圆形头像,右侧第一行为\"用户名 admin\"、第二行为\"角色 管理员\"(角色以绿色小标签呈现),卡片下方以分隔线区隔,展示\"上次登录地址:北京\"与\"上次登录时间:2025-03-15 20:37:22\"。卡片右侧为统计卡,由青色右箭头图形与大号数字组成,展示\"产品销量总数\"。
下方为两个图表卡片:左侧\"销售额统计\"为折线图,横轴为销售姓名(销售姓名8 至销售姓名1),纵轴金额 0—8,折线带数据点,用于观察各销售人员的业绩走势与差距;右侧\"产品销量统计\"为柱状图,横轴为产品名称(产品名称8 至产品名称1),纵轴销量 0—8,柱体按产品依次采用绿、浅绿、黄、橙红、蓝、深绿、橙、紫等颜色,柱高排序直观反映畅销与滞销。
统计数据由后端按销售员与产品维度分组聚合返回,图表与列表同源,保证一致。
5.3 产品信息管理与数量预警
\"产品信息\"页是供应链主数据的核心。查询区包含产品名称输入框、产品分类下拉、规格输入框与价格区间(最小价格、最大价格两个输入框),查询按钮位于右侧;表格采用青色表头,列依次为序号(含全选复选框)、产品名称、图片、产品分类、规格、成本、价格、数量、库存位置、操作。
行内数据以分隔线区隔:\"图片\"列展示产品缩略图(如金属零件、密封件、雨刷器等),支持点击放大;\"成本\"\"价格\"右对齐展示并保留两位小数;\"数量\"为当前库存;\"库存位置\"显示仓库编号(如\"1号库存\"\"库存位置8\")。
操作列提供四个按钮,按业务语义分组:蓝色\"查看\"打开详情抽屉,展示产品说明、成本与价格、当前库存、安全库存与最近出入库流水;\"产品入库\"跳转入库登记并回填产品信息;\"库存盘点\"打开盘点对话框,录入实际数量后系统自动计算差异数量并要求填写差异原因;\"库存调拨\"打开调拨对话框,选择调出与调入位置、填写数量后提交审批。四个按钮在同一行内分两行排布,避免拥挤。
数量预警:页面加载或库存变动后,后端按预警规则读取安全库存阈值,聚合出低于阈值的产品清单;若存在,则返回预警标识与清单,前端弹出\"数量预警\"对话框,标题加粗居中对齐,正文提示\"8 条记录到达预警\",并分行列出\"包含:产品名称1、产品名称2…产品名称8\",右下角为青色\"确定\"按钮。确认后清单写入预警记录表,供库存管理员安排补货或调拨。该机制把库存风险从\"月底盘库才发现\"前移到日常操作环节。
5.4 出入库与库存联动
产品入库:填写入库单号、来源类型、产品、数量、成本、库存位置、经办人与入库日期,提交时校验产品存在、数量为正整数、库存位置合法。确认入库时在同一事务内写入入库单、累加产品数量、写入库存流水(记录变动前后数量),保证账面与流水可对账。
产品出库:填写客户、产品、数量、价格、出库原因,提交时校验收数量不超过当前库存、客户信用额度未超限;确认时扣减产品数量、写入流水,并按需生成物流记录(状态为待发货)。若库存不足,返回\"库存不足,当前可用 N\"的明确提示,避免销售承诺失约后才发现无货。
库存盘点:录入账面数量(自动带出)与实际数量,系统计算差异数量,要求填写差异原因;提交时更新产品数量并把差异作为盘点调整写入流水,形成完整的账实核对轨迹。
库存调拨:选择调出与调入位置、数量,提交后进入审批;审批通过时在同一事务内扣减调出位置库存、增加调入位置库存,并写入两条流水,保证位置维度账实一致。
5.5 生产计划与物料采购
生产计划页按产品编制计划:填写计划编号、产品、计划数量、起止日期与关联物料需求,系统按产品的物料清单估算需求量并与当前物料库存比对,缺口数量以提示形式展示。计划执行时登记已完工数量,完工入库通过\"产品入库\"的来源类型\"生产入库\"完成,形成\"计划—投产—完工—入库\"的链路。
物料采购页面向采购人员:选择供应商与物料、填写数量与单价(总额自动计算)、下单日期与预计到货,提交后生成采购单;到货时登记实际到货数量与验收状态,验收合格后累加物料库存。物料安全库存不足时同样触发预警,保证生产不停料。
5.6 物流信息与销售协同
物流信息由物流人员维护:登记运单号、关联出库单、承运商、发货时间与预计到达,配送过程中更新状态(待发货/运输中/已签收/异常),签收时记录签收人与时间。销售人员在客户信息页可查看订单的物流状态,用于回应客户咨询,减少\"货到哪了\"的反复沟通。
客户信息页维护客户名称、联系人、电话、地址、信用额度与累计成交额;销售出库时按信用额度校验,超限时提示需管理员审批,从流程上控制赊销风险。
5.7 主数据与人员管理
供应商、客户、产品分类、产品、物料构成系统的主数据。分类页维护名称与排序,决定产品归档与筛选顺序;产品页维护名称、规格、成本、价格、安全库存与图片,成本与价格分离存储,便于毛利分析;物料页维护编码、单位与安全库存。四类岗位(库存管理员、物流人员、销售人员、采购人员)管理页维护账号、姓名、联系方式与负责范围,作为角色分配与责任归属的依据。个人中心提供密码修改与个人信息维护,密码修改需校验原密码。
---
第六章 系统测试
6.1 测试环境
服务器 Windows Server,JDK 1.8,MySQL 5.7,应用以可执行 JAR 运行;客户端 Chrome 与 Edge;测试数据含 6 个产品分类、80 个产品、40 个物料、20 家供应商、60 个客户、300 条入库单、260 条出库单、30 次盘点、20 次调拨、200 条物流记录与 120 条采购单。
6.2 功能测试用例
| 编号 | 测试项 | 操作与输入 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| T01 | 角色校验 | 销售人员选择\"管理员\"登录 | 提示账号与角色不符 | 符合 |
| T02 | 未登录拦截 | 直接访问产品入库接口 | 跳转登录页 | 符合 |
| T03 | 组合查询 | 输入名称、分类、规格与价格区间 | 返回同时满足条件的产品 | 符合 |
| T04 | 入库联动 | 确认一笔入库单 | 产品数量增加,写入库存流水 | 符合 |
| T05 | 出库校验 | 出库数量超过当前库存 | 提示库存不足,拒绝出库 | 符合 |
| T06 | 出库联动 | 确认一笔出库单 | 产品数量减少,生成待发货物流记录 | 符合 |
| T07 | 盘点差异 | 实际数量少于账面 3 件 | 差异数量为 -3,要求填写原因 | 符合 |
| T08 | 调拨审批 | 审批通过调拨单 | 调出减、调入增,两条流水 | 符合 |
| T09 | 数量预警 | 库存低于安全库存 | 弹出预警并列出产品清单,写入预警记录 | 符合 |
| T10 | 信用额度 | 客户累计成交超信用额度出库 | 提示需审批,阻止直接出库 | 符合 |
| T11 | 生产计划 | 编制计划并登记完工 | 已完工数量更新,可转入库 | 符合 |
| T12 | 物料采购 | 提交采购单并登记到货 | 物料库存累加,验收状态更新 | 符合 |
| T13 | 统计一致性 | 新增出库后查看首页图表 | 产品销量与销售额同步变化 | 符合 |
| T14 | 越权访问 | 库存管理员调用物料采购接口 | 返回无权限 | 符合 |
| T15 | 精度校验 | 成本输入三位小数 | 提示格式错误,保存失败 | 符合 |
| T16 | 图片上传 | 上传可执行脚本作为产品图 | 拒绝并提示类型不允许 | 符合 |
6.3 测试结论
16 项用例全部通过。系统功能完整性、角色隔离、出入库与库存联动、预警与统计一致性均符合设计预期;60 并发下产品列表平均响应约 0.9 秒,首页两张图表加载约 1.2 秒。测试发现两点可改进:产品图片尺寸不一导致表格行高不齐,需统一裁剪;预警弹窗在产品较多时列表过长,需分页或折叠。二者已列入优化清单。
---
第七章 总结与展望
本文针对中小企业供应链\"数据不同步、出入库与盘点不规范、多角色协同无边界、缺少决策视图\"四类问题,设计并实现了基于 SpringBoot 的供应链管理系统。系统以产品与物料主数据为核心,把供应商、客户、生产计划、产品入库、产品出库、库存盘点、库存调拨、物流信息与物料采购纳入统一数据结构;以管理员、库存管理员、物流人员、销售人员、采购人员五类角色划分权责;以单据确认触发库存联动与流水记录,保证账实可对账;以可配置的数量预警把库存风险前移;以销售额折线图与产品销量柱状图构成经营视图。论文完成需求分析、四层架构设计、二十张核心数据表设计、主要界面与关键业务逻辑描述及功能测试。
后续可从四方面深化:其一,引入多仓库与批次管理,支持保质期与先进先出的库存策略;其二,增加需求预测与安全库存自动推荐,减少人工设定阈值的偏差;其三,对接物流承运商接口与电商订单,实现运单自动回传与订单自动汇入;其四,增加供应商协同门户,让供应商自行确认采购单与发货,进一步压缩沟通成本。总体而言,本系统以较小技术成本覆盖了供应链\"采购—入库—库存—生产—出库—物流—销售\"的核心场景,具备实用价值与二次开发基础。
---
参考文献
[1] 王珊, 萨师煊. 数据库系统概论[M]. 5版. 北京: 高等教育出版社, 2014.
[2] Craig Walls. Spring Boot 实战[M]. 丁雪丰, 译. 北京: 人民邮电出版社, 2016.
[3] 李刚. 轻量级 Java EE 企业应用实战[M]. 北京: 电子工业出版社, 2018.
[4] 张海藩, 牟永敏. 软件工程导论[M]. 6版. 北京: 清华大学出版社, 2013.
[5] Vue.js 官方文档[EB/OL]. [https://cn.vuejs.org/](https://cn.vuejs.org/).
[6] Element UI 组件库文档[EB/OL]. [https://element.eleme.cn/](https://element.eleme.cn/).
[7] Apache ECharts 官方文档[EB/OL]. [https://echarts.apache.org/zh/](https://echarts.apache.org/zh/).
[8] 中国物流与采购联合会. 企业供应链管理规范相关标准[S]. 2021.
[9] 刘增杰. MySQL 从入门到精通[M]. 北京: 清华大学出版社, 2019.
[10] 陈恒. 基于 SpringBoot 的中小企业供应链系统设计[J]. 信息技术与信息化, 2022.
如需定做或者获取更多资料,请联系QQ:375279829