MES系统_AI开发
概述
- 在花了半个多学期学习mes系统的各种文档如何写之后,成功的学废了。虽然也是循序渐进的把一整个流程直接扔过来,但是真是一点都不进脑子。一堆图看了就头疼,虽然非常的规范,emmm,总之,非常完美的脱节了。
- 但非常蛋疼的是,这玩意到最后不写出来是会挂科的,不得不写了
- 既然先写清如何进行开发,再开发mes系统(mom系统) 行不通,那么就倒着来
- 先开发mes系统,我再根据这玩意,倒推着写一个文档出来
- 在压根不会的情况下完成开发,只能借助AI了
环境准备
- AI工具 : opencode + Oh My OpenCode
- IDEA : Pycharm
- 基础框架: RuoYi-fastapi
- python : python3.10
- npm : node22
模型使用免费模型,语言使用python,毕竟比起JAVA,python对于AI来说应该会简单一些,我看着也简单一些。RuoYi-fastapi比java版的多了一个ai功能(也缺了点功能),那么大作业的ai功能就可以不用去写了。
RuoYi-Fastapi
- 这个拿来还需要点设置,直接装需要的库,跑不起
- 需要在config下面添加一个__init__.py,不然运行app.py找不到

- 之后创建数据库,执行sql文件,配置一下.env.dev

- 运行后端再运行前端,就可以用了
AGENTS编写
- 要让它正常的完成要求,需要写好提示
- 提示词怎么写与优化呢,使用GLM
- 就在GLM上问一下,跑通mes系统从下单到发货的全流程的提示词

- 提示词不太一样,但流程是一样的,以下是使用的提示词
# mes_system — AGENTS1.0.md## 语言
这是回答时使用的语言。
- 使用中文,进行回答而不是英文## 在我们开始之前:
这是开始代码编写前,必须执行的步骤,回复使用中文,禁止使用英文回复
1. 先用你自己的话说说你理解的——我要解决什么问题、交付物是什么。标出你拿不准但自己做了假设的地方。如果你觉得有更好的技术方案,直接说,我来决定。
2. 然后向我提问——每次最多 3 个最关键的问题,直到你对以下三点有 100% 的把握:- 我真正想要达成的目标是什么(而不是我字面上说的)- 有哪些我没说出口的约束或偏好(技术栈、性能要求、需要兼容的现有代码、不能动的部分)- 你计划怎么实现——核心思路是什么、为什么选这个方案
3. 在没有得到我明确的「可以开始」之前,不要写任何代码或修改任何文件。## 在得到开始命令后
1. 先添加一个详细的 mes开发进度.md 文件,对完整的任务进行划分
2. 这个md文档需要根据你代码编写的进度进行更改,完成相对应的任务后,记录入这个文档中# mes_system — AGENTS.md## 1. 项目愿景与目标
构建一个**极简的 MOM(制造运营管理)系统**,作为 RuoYi-FastAPI 的业务扩展模块。
核心目标不是功能的深度,而是**业务流程的连通**:必须跑通从"订单下达" -> "工单生成" -> "生产报工" -> "质检入库" -> "成品出库"的全流程闭环。## 2. 技术栈与基座
- **后端**: Python + FastAPI (基于社区开源 RuoYi-FastAPI 二次开发)
- **前端**: 若依原生前端 (Vue2/3 + Element UI/Plus,在后台框架内新增 MES 菜单和页面)
- **数据库**: MySQL (与若依共用数据库,表前缀严格使用 `mes_`,与 `sys_` 隔离)
- **依赖**: 不对接外部 ERP、IoT 设备或复杂排产算法,数据完全自闭环。## 3. 核心业务流程 (MVP)
1. **订单下达**: 创建销售订单(关联产品、数量)。
2. **工单生成**: 订单确认后,生成生产工单(1订单 = 1工单,极简)。
3. **生产报工**: 点击报工,消耗原材料库存,产出成品(状态变为待检)。
4. **质量检验**: 录入质检结果。合格 -> 自动入库(增加成品库存);不合格 -> 不入库。
5. **成品出库**: 订单发货出库(扣减成品库存),订单状态完结。## 4. 核心数据模型 (6张表)
- `mes_product` (产品/物料表,含简易 BOM:生产1单位成品需消耗的原料数)
- `mes_inventory` (库存表,记录原料与成品的当前存量)
- `mes_order` (销售订单表)
- `mes_work_order` (生产工单表)
- `mes_production` (生产报工记录表)
- `mes_quality` (质检记录表)## 5. 开发约束与原则
- **流程连通 > 单一功能**:如果某个功能细节耗时过长,优先保证主流程能走通,砍掉非必要字段和校验。
- **不改动若依底层**:只利用其用户、权限、菜单体系,业务逻辑在 `mes` 独立模块中完成。
- **极简 CRUD**:所有管理页面只做基础的增删改查和状态流转,不做复杂的 UI 交互。## 6. 上下文恢复机制 (重要)
**当上下文溢出或工作中断时,AI 必须首先阅读此文件及 `mes开发进度.md`。**
为了快速恢复上下文,需要遵循以下规则:
1. 阅读本文件(AGENTS.md),理解项目边界、核心流程和数据模型。
2. 每完成一个阶段性任务(如:完成某张表的后端接口、完成某个页面的前端对接),必须更新 `mes开发进度.md`。
3. 如果项目架构、表结构、核心流程发生变更,必须同步更新本文件(`AGENTS.md`)的第 3、4 节。
4. 恢复工作时,AI 的第一步行动必须是:读取 `mes开发进度.md`,确认当前断点,然后继续未完成的任务,绝不重复已完成的工作。## 文件提供与参考优先级
参考文档: mes系统初步开发文档/MES系统-初始开发文档.docx(仅参考业务概念,不得照搬其复杂的字段和逻辑)
参考 SQL: 示例-messql/mes_system2.sql(仅参考表命名规范,必须按本文件第 4 节的 6 表极简模型重新设计,不得照抄建表)
基座代码: RuoYi-Vue3-FastAPI-1.9.0(在此基础上修改)
修改范围: 主要修改 ruoyi-fastapi-backend 与 ruoyi-fastapi-frontend
数据库操作: 使用 MySQL。基于若依的 SQLAlchemy 机制进行 ORM 操作,如有必要可单独编写 SQL 初始化脚本。
### ⚠️ 参考优先级强约束:
当参考文档/SQL 的复杂度与本文件第 3、4 节定义的"极简 MOM 闭环"冲突时,无条件以本文件的极简定义为准。宁可少写字段,绝不增加额外模块。
opencode代码编写
- 在对应文件夹打开opencode,让opencode阅读AGENTS.md理解需求,它会再问3个问题就可以开干了

版本迭代
- 在基础的功能有了之后就可以在这个基础不停的添加功能,修复BUG(肯定都是AI干)
- 小小的测试一下功能是否有问题,列一个文档给AI

- 在我的版本中
- V1.0.0:订单→工单→报工→质检→出库
- V1.1.0:将一些数字展示替换为对应名称(例如 显示从原料ID 变成 原料的名称)
- v1.1.1:AI在替换过程中写出BUG,修BUG
- v1.1.2:接着修BUG
- v1.2.0:添加工艺
到1.2.0版本,mes系统的完整性就大致差不多了,整体也就花了个差不多一天时间,AI也就写了一个多小时,多的时间拿来写提示词去了
效果展示
- 添加产品

- 添加原料

- 添加效果

- 添加工艺


- 添加效果

- 添加BOM




- 原料购买



- 原料入库

- 下单


- 工单



- 报工


- 质检


- 成品入库

- 发货



做出来的效果都在上面了,也不知道拿来敷衍大作业够不够,应该起码不会挂科了吧。
仓库地址
如果感兴趣的可以来仓库看看
账号: admin
密码: admin123
链接: https://gitee.com/lucze/mes-system-ai
综上所述,祈祷一下,别挂科就行。
