毕业设计实战:基于SpringBoot+Vue的MES生产制造执行系统,从零到一全流程避坑指南!

131 阅读13分钟

毕业设计实战:基于SpringBoot+Vue的MES生产制造执行系统,从零到一全流程避坑指南!

家人们谁懂啊!当初做MES生产制造系统毕设时,光“生产计划表”和“工艺路线表”的数据关联就折腾了整整4天——一开始没给生产计划表设置“工艺名称”外键,查询某个产品的生产工艺流程时数据全乱套,导师看了直接让我“重构数据库设计”😫 后来踩遍坑才总结出高效落地流程,今天把需求分析、技术选型、功能实现到测试的核心细节说透,学弟学妹们不用熬夜,轻松搞定毕设!

一、先搞懂“MES系统要啥”!需求分析别瞎蒙

刚开始我跳过需求分析就写代码,花一周加了“智能生产排程算法”,结果导师一句“核心是生产计划管理、物料控制、工艺流程管理,不是复杂算法”直接打回重改!后来才明白,MES系统要先抓准“谁用系统、要干啥”,这步做对,少走90%弯路。

1. 核心用户&功能拆解(踩坑后总结版)

系统主要有两类核心用户:管理员、员工(别加“车间主任角色”!我当初加了后权限混乱,车间主任能修改全局工艺参数,删掉才顺畅),功能明确区分:

  • 管理员端(必做功能):
    • 基础数据管理:维护部门信息、员工信息、物料信息、产品信息、客户信息
    • 工艺管理:管理工序信息(添加工序流程、上传附件)、管理工艺路线(配置产品生产工艺流程)
    • 计划管理:制定生产计划(关联产品、工艺、员工)、查看生产计划统计报表
    • 系统监控:查看销售订单统计、物料库存预警、系统操作日志
  • 员工端(核心需求):
    • 生产执行:查看分配的生产计划、查看工序详情、下载工艺附件
    • 客户管理:维护客户信息(新增客户、跟进客户等级)、查看客户统计报表
    • 销售管理:录入销售订单(关联产品、客户)、查看销售业绩
    • 物料查看:查看物料库存信息、物料规格详情

2. 需求分析避坑指南(血泪教训!)

  • 别空想!找2个同学模拟管理员和员工提意见:比如员工说“想快速看到今天要做的工序”,我才加了“今日任务”模块,比瞎加“智能排程”实用多了
  • 一定要画用例图!用DrawIO画“管理员-制定生产计划”“员工-查看工序”“员工-录入销售订单”,跟导师汇报时比光说“我要做MES系统”直观10倍(当初没画,导师听20分钟没理解制造流程)
  • 写“需求规格说明书”!把约束条件写清楚(如“生产数量≥0”“物料库存≥0”“工序时长>0”),编码时对着做,不跑偏

3. 可行性分析别敷衍!3点写清楚就能过

导师超爱问“MES系统可行吗”,别只说“我觉得可行”,从3个角度写,显专业:

  • 技术可行性:SpringBoot、Vue、MySQL都是课堂学过的,图书馆有《SpringBoot实战》《Vue.js企业级开发》,遇到问题能查资料(别用SpringBoot 3.x!我当初试了,跟Vue联调时工艺附件上传接口卡3天,换回2.7才顺利)
  • 经济可行性:工具全免费!Eclipse、MySQL、Navicat官网直接下,答辩时说“开发成本0,还能帮制造企业节约人工统计生产数据的时间成本”,导师会觉得你懂工业4.0
  • 操作可行性:界面参考主流MES系统,常用功能放显眼位置(如“我的任务”在员工首页顶部),找同学测试,8分钟学会查看生产计划、录入销售订单,导师直接认可

二、技术选型别跟风!这套组合稳到爆

刚开始我跟风用SpringBoot 3.x+Vue3+Redis,结果“生产数据缓存”卡2天——Redis配置错,重启后生产进度数据全丢😫 后来换成Java 8+SpringBoot 2.7+MySQL 8.0+Vue2+Tomcat 9,新手友好,调试效率翻倍!

1. 技术栈核心选择(附避坑提醒)

别盲目选“最新技术”,稳定比炫酷重要!核心工具选择理由和坑点直接抄:

技术工具为啥选它避坑提醒!
Java 8语法简洁,SpringBoot 2.7兼容性最佳,学习资料多别用Java 11+!部分工业类库支持差,易出“类加载失败”
SpringBoot 2.7简化配置,自带Tomcat,支持自动装配,开发效率比SSM高40%别用3.x版本!与Vue2、MySQL 8.0兼容性差
MySQL 8.0支持事务/外键,存生产计划、物料、工艺数据足够用,utf8mb4编码解决生僻字乱码安装设“utf8mb4”编码!我当初用默认编码,物料名称含特殊符号乱码,查3小时才好
Vue2上手简单,响应式数据绑定,适合做生产数据看板别用Vue3!组合式API对新手不友好,生产数据绑定易出错
Tomcat 9轻量级服务器,适合中小型MES系统,与SpringBoot适配性好别用10+版本!部分Java类包路径变化,启动报错“类找不到”
Eclipse免费开源,插件丰富,适合学生开发使用装“Spring Tools”插件,不然SpringBoot项目创建卡顿

2. 开发环境搭建(step by step 实操)

很多同学卡“环境配置”,跟着步骤来,一次成功:

  1. 装JDK 1.8:记安装路径(如D:\Java\jdk1.8),配置“JAVA_HOME”环境变量,cmd输“java -version”显“1.8.x”即成
  2. 装Eclipse 2022:勾选“Enterprise Java”版本,安装“Spring Tools 4”插件
  3. 装MySQL 8.0:用Navicat建数据库“mes_production”,编码设“utf8mb4”,排序“utf8mb4_general_ci”
  4. 建SpringBoot项目:Eclipse用Spring Starter Project,勾选“Web”“MyBatis”“MySQL”依赖,自动生成结构
  5. 配前端环境:用Vue CLI创建Vue2项目,引入Element-UI实现工业风格布局,编写生产计划、工艺路线页面
  6. 联调测试:在application.properties配置数据库连接(url=jdbc:mysql://localhost:3306/mes_production?useSSL=false&serverTimezone=UTC),写“查询生产计划”接口,前端调用能显示数据即完成

三、数据库设计:别让表关联坑了你

这是MES系统“核心骨架”,我当初没关联“生产计划表”和“工艺路线表”,查“某个产品的生产工艺”要写多层嵌套SQL,调试到深夜😫 后来按“实体-属性-关系”设计,终于理清。

1. 核心实体&属性(附ER图技巧)

先确定“实体”(员工、部门、产品、物料、工序、工艺路线、生产计划、销售订单、客户),再想“属性”,别漏关键字段!必做10张表,直接画ER图:

  • 员工表(employee):id(主键)、yuangonggonghao(员工工号)、mima(密码)、yuangongxingming(员工姓名)、bumen(部门)、zhiwei(职位)、lianxifangshi(联系方式)
  • 产品表(product):id(主键)、chanpinbianhao(产品编号)、chanpinmingcheng(产品名称)、chanpinleixing(产品类型)、shuliang(数量)、jiage(价格)、chanpinguige(产品规格)
  • 生产计划表(production_plan):id(主键)、chanpinbianhao(关联产品)、shengchanshuliang(生产数量)、gongyimingcheng(关联工艺)、gongxumingcheng(关联工序)、yuangonggonghao(关联员工)、dengjishijian(登记时间)
  • 工艺路线表(process_route):id(主键)、chanpinbianhao(关联产品)、gongyimingcheng(工艺名称)、gongyiliucheng(工艺流程)、jiagongyuanliao(加工原料)

画ER图用Visio/亿图,记3规则:

  1. 矩形=实体(如“产品”“生产计划”)
  2. 椭圆=属性(如产品“编号”“规格”,生产计划“数量”“时间”)
  3. 菱形=关系(如“产品-生产计划”一对多,一个产品可有多条生产计划;“产品-工艺路线”一对一,一个产品对应一套工艺) 避坑提醒:别把“工序附件、物料图片”存数据库!我当初存二进制导致数据库崩溃,改成存路径(如/static/process/附件1.pdf、/static/material/img1.jpg)才对。

2. 表关联测试!别等编码才发现错

建表后一定要测:在“产品表”插数据(id=1,编号=“CP001”,名称=“智能传感器”,数量=100),“工艺路线表”插数据(id=1,产品编号=“CP001”,工艺名称=“装配工艺”,加工原料=“电路板、外壳”),“生产计划表”插关联数据(产品编号=“CP001”,生产数量=50,工艺名称=“装配工艺”,员工工号=“YG001”),用JOIN查“某产品生产详情”:

SELECT p.chanpinmingcheng, pr.gongyimingcheng, pp.shengchanshuliang, pp.dengjishijian, e.yuangongxingming
FROM production_plan pp
JOIN product p ON pp.chanpinbianhao = p.chanpinbianhao
JOIN process_route pr ON pp.gongyimingcheng = pr.gongyimingcheng
JOIN employee e ON pp.yuangonggonghao = e.yuangonggonghao
WHERE p.chanpinbianhao = 'CP001';

能查出“产品名+工艺名+生产数量+登记时间+负责员工”说明关联对;若报错“Cannot add or update a child row”,大概率外键错,赶紧检查表结构。

四、功能实现:核心模块操作+页面设计

不用做所有功能!先搞定3个核心模块,答辩足够出彩,附操作逻辑和页面要点:

1. 管理员端:生产计划管理模块(必做!)

核心是“制定生产计划”,重点“产品-工艺-员工关联”和“数量合法性校验”,别漏这两步!

  • 操作逻辑
    1. 制定计划前校验“产品必选”“生产数量>0”“工艺路线必选”“负责员工必选”“登记时间非空”,缺一项提示“完善计划信息”
    2. 设置“计划状态”,进行中计划自动在员工端“我的任务”显示
    3. 修改计划时,若生产数量>产品库存原料,提示“原料不足,请先补充物料”
  • 页面设计(Vue2+Element-UI工业风格)
    • 筛选区:产品编号(模糊查)、工艺名称(下拉选)、员工工号(下拉选)、状态(下拉选:待执行/执行中/已完成)、查询/新增按钮
    • 计划列表:显示产品编号、产品名称、工艺名称、生产数量、负责员工、登记时间、状态,操作列“编辑/删除/状态更新”
    • 新增弹窗:产品选择(下拉选关联产品表)、生产数量(数字框,>0)、工艺选择(下拉选关联工艺表)、员工选择(下拉选关联员工表)、登记时间(日期时间选择器)

2. 员工端:生产执行模块(核心需求!)

员工核心操作是“执行生产任务”,流程别复杂:查看我的任务→查看工序详情→下载工艺附件→更新任务状态,我当初漏了“工序附件下载”,导致员工不知道怎么做,补半天逻辑才好。

  • 操作逻辑
    1. 查看任务前校验“员工已登录”“有分配任务”,无任务提示“暂无生产任务”
    2. 点击工序查看详情,显示工序操作流程、适用机器、注意事项
    3. 可下载工序附件(PDF/Word),点击“开始执行”更新任务状态为“执行中”
  • 页面设计
    • 今日任务区:显示分配给当前员工的生产任务(产品名称、工艺名称、生产数量、计划完成时间)、状态标签(不同颜色区分状态)
    • 工序详情区:点击任务后显示工序详细信息(工序名称、工序类型、工序时长、操作流程、注意事项)、附件下载按钮
    • 执行操作区:“开始执行”按钮(蓝色)、“完成”按钮(绿色,完成后任务从列表移除)

3. 管理员端:统计报表模块(答辩亮点!)

体现“MES数据分析能力”,导师超爱问!核心“生产统计-销售统计-物料统计”,别漏“可视化图表展示”。

  • 操作逻辑
    1. 生产统计:按产品/时间统计生产数量,用柱状图展示各产品产量对比
    2. 销售统计:按产品/客户统计销售额,用饼图展示各产品销售占比
    3. 物料统计:按物料类型统计库存,用表格展示库存预警(库存<安全库存标红)
  • 页面设计
    • 报表导航:Tab页切换(生产报表/销售报表/物料报表)
    • 图表展示区:ECharts柱状图/饼图,显示统计数据,鼠标悬停显示具体数值
    • 数据筛选区:时间范围选择(本月/本季度/自定义)、产品筛选(多选)、导出Excel按钮 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

五、测试别敷衍!这3步让答辩不翻车

很多同学觉得“功能能跑就行”,答辩时评委一测就出问题!我当初没测“生产数量超过物料库存”,导致能制定生产1000件但物料只够100件,导师说“不符合生产管理逻辑”,当场扣分😫 测试要针对性做:

1. 功能测试(必测3模块)

重点测核心功能,整理测试用例表,直接填结果:

测试场景操作步骤预期结果
制定超库存生产计划管理员选产品→生产数量填1000→物料库存仅100→保存计划提示“物料库存不足,当前库存:100,请调整生产数量或补充物料!”
员工执行未分配任务员工A登录→查看“我的任务”→系统未分配任务给A显示“暂无生产任务,请联系管理员分配”
销售订单统计展示管理员进销售报表→选择时间范围→选择多个产品→查看图表正确显示各产品销售额柱状图,数据与数据库一致

2. 兼容性测试(容易忽略)

别只在自己电脑测!答辩评委可能用不同设备和浏览器:

  • 浏览器:Chrome、Firefox、Edge(重点测Edge,企业常用)
  • 设备:电脑(1920×1080、1440×900分辨率)、平板(测试生产看板显示)
  • 要求:图表渲染正常,表格数据对齐,附件下载功能正常

3. 测试报告要写好!答辩加分

整理“测试报告”,含“目的、范围、用例、结果、问题总结”:

  • 问题总结:“Edge下ECharts图表不显示,加兼容性代码修复;生产计划可超库存制定,加物料校验修复;工序附件下载404,修正文件存储路径修复”
  • 测试结论:“核心功能无严重bug,兼容性问题已修复,满足MES生产制造系统管理需求”

六、答辩准备:3个加分小技巧

  1. 演示流程顺畅:提前录演示视频(怕现场工厂环境模拟不好),按“管理员制定生产计划→分配任务→员工查看任务→执行工序→管理员查看统计报表”流程来,重点展示数据关联和状态流转
  2. 讲“解决的工业痛点”:比如“一开始生产数据孤岛,通过表关联实现生产全流程追溯;生产计划脱节实际物料,加物料库存校验解决;传统纸质工艺卡易丢失,改电子化附件管理解决”,比光说“用了SpringBoot”有亮点
  3. 准备常见问题:导师可能问“系统怎么保证生产数据实时性?”,答“关键数据表设置更新时间戳;前端定时轮询生产状态;采用WebSocket实现工序完成实时通知”

最后:毕设通关小私心

以上就是基于SpringBoot+Vue的MES生产制造执行系统从0到1的避坑干货!毕设不难,别瞎做复杂功能(如智能排程、AI质检),把生产计划管理、工艺路线管理、生产执行跟踪做扎实,答辩就能过。

需要核心源码(带详细注释,导入即用)、数据库脚本(含测试生产数据)、ER图源文件的同学,评论区扣“MES生产系统”,我私发你;卡在某个模块(如生产计划制定、工艺路线配置),也可以留言,看到必回!

点赞收藏,下次找流程不迷路~祝同学们毕设顺利,答辩一次过!😘