基于SpringBoot+Vue的常规应急物资管理系统设计与实现(SpringBoot+MyBatis-Plus+MySQL)
面向政府与企事业单位应急管理部门的物资管理系统:防护用品、医疗器械、生活物资、通信设备四大类应急物资的库存管理、申领审批与运输调度,配套员工打卡与部门管理,是应急管理体系信息化的典型切片。
一、前言
应急物资"平时管不好、急时找不到"是应急管理的通病:口罩、防护服、卫星电话分散在不同库房,账面与实物对不上,紧急调拨时才发现短缺。这个常规应急物资管理系统把物资的"入库 — 库存 — 申领 — 运输"全链路数字化:库存一键增减,员工申领走审批流,物资运输状态全程跟踪。
项目采用 SpringBoot + MyBatis-Plus 后端,管理端 Vue2 + ElementUI(已构建 dist),共 10 张数据表,字典驱动设计。
二、技术栈与系统架构
| 层次 | 技术选型 |
|---|---|
| 后端框架 | SpringBoot 2.x + MyBatis-Plus,jar 部署 |
| 管理端 | Vue2 + ElementUI(已构建 dist) |
| 数据库 | MySQL(10 张表,字典驱动) |
| 附加功能 | 员工打卡考勤 |
三、功能设计
管理端:
| 模块 | 能力 |
|---|---|
| 物资管理 | 物资登记、库存一键增减、类型筛选、报表导出 |
| 物资申领管理 | 员工申领审批(待审核/同意/拒绝) |
| 物资运输管理 | 运输单状态跟踪(在装车/运输中/已送达) |
| 部门与员工管理 | 组织架构与账户维护 |
| 打卡管理 | 员工考勤打卡记录 |
用户端:浏览物资库存、提交申领申请、查看审批与运输状态。
物资管理列表提供库存一键增减、报表导出等运营操作;物资类型由字典驱动(防护用品/医疗器械/生活物资/通信设备),申领单与运输单分别走独立的状态机,审批与物流两段清晰解耦。
四、数据库设计
数据库共 10 张表:
| 表名 | 说明 |
|---|---|
| wuzi | 应急物资(名称/类型/库存/单位/介绍) |
| wuzishenqing | 物资申领(审批状态机:待审核-同意-拒绝) |
| wuziyunshu | 物资运输(运输状态跟踪) |
| yonghu / bumen | 用户与部门 |
| daka | 员工打卡考勤 |
| dictionary | 数据字典(物资类型/申请状态/运输状态) |
| config / token / users | 轮播、令牌、管理员 |
物资申领与运输分离成两张单据,中间以字典状态衔接,审批权和物流状态互不干扰——这是物资管理系统里最实用的解耦设计。
五、系统演示
- 管理员维护物资类型字典,登记应急物资(N95 口罩、防护服、AED 等);
- 员工提交物资申领申请;
- 管理员审批(同意/拒绝);
- 审批通过后创建运输单,跟踪运输状态直至送达;
- 员工日常打卡考勤,管理员查看报表。
六、小结
这套应急物资管理系统的看点在于"申领审批与运输调度的双单据解耦"和"字典驱动的类型扩展":物资种类、审批状态、运输状态全部可配置,业务成长不需要改代码。SpringBoot + Vue 的轻量组合也便于部署到政务内网环境。
完整资源已整理上传(含全部源码、数据库脚本与部署说明):
应急物资管理系统源码(SpringBoot+Vue,申领审批+运输跟踪)
如果在实现类似系统时遇到问题,欢迎评论区交流。