|
|
@@ -0,0 +1,92 @@
|
|
|
+# 上传参数解析配置 — 使用文档
|
|
|
+
|
|
|
+## 1. 背景
|
|
|
+
|
|
|
+工位上传检测结果时,系统需要从报文(ps 字段)中解析出参数值,写入生产记录(`mes_product_record`)。
|
|
|
+
|
|
|
+**旧逻辑(已废弃)**:哪些产线、哪些工位、解析报文第几段、写入哪个工艺,全部硬编码在 Java 代码里,只支持 XT 线的 OP010(底板码)和 OP060/OP100/OP130(程序名)。新线 OP035 等工位的参数因此存不进去。
|
|
|
+
|
|
|
+**新逻辑**:解析规则改为存放在配置表 `mes_param_parse_config` 中,通过后台页面维护。**新增工位解析规则不需要改代码、不需要重新发版**,页面保存后立即生效。
|
|
|
+
|
|
|
+## 2. 涉及代码
|
|
|
+
|
|
|
+| 文件 | 说明 |
|
|
|
+|---|---|
|
|
|
+| `entity/MesParamParseConfig.java` | 配置实体 |
|
|
|
+| `dao/MesParamParseConfigDao.java` | DAO |
|
|
|
+| `service/MesParamParseConfigService.java` | 查询(带缓存)、保存、停用、删除 |
|
|
|
+| `web/MesParamParseConfigController.java` | 后台维护界面入口 |
|
|
|
+| `views/modules/mes/mesParamParseConfigList.html` | 列表页 |
|
|
|
+| `views/modules/mes/mesParamParseConfigForm.html` | 新增/编辑表单 |
|
|
|
+| `service/MesProductRecordService.java` → `getQualityParamsXz` | 上传解析主逻辑(改为读配置) |
|
|
|
+| `../db/mes_param_parse_config.sql` | 建表 + 种子数据 + 菜单 + 角色授权(一键执行) |
|
|
|
+
|
|
|
+## 3. 数据库部署
|
|
|
+
|
|
|
+在目标库(如 `mes_cloud_xz`)执行一次:
|
|
|
+
|
|
|
+```
|
|
|
+sql/mes_param_parse_config.sql
|
|
|
+```
|
|
|
+
|
|
|
+脚本包含 4 部分(均可重复执行前先检查是否已存在):
|
|
|
+
|
|
|
+1. 建表 `mes_param_parse_config`
|
|
|
+2. 种子数据:迁移原 XT 线 5 条硬编码规则
|
|
|
+3. 后台菜单:插入"生产管理 → 上传参数解析配置"
|
|
|
+4. 角色授权:凡拥有"生产管理"菜单的角色自动授予新菜单
|
|
|
+
|
|
|
+执行后需**重启应用**(新增的 Controller/页面代码才生效),并**清除缓存 + 重新登录**(菜单树才刷新)。
|
|
|
+
|
|
|
+## 4. 页面入口
|
|
|
+
|
|
|
+登录后左侧菜单:**生产管理 → 上传参数解析配置**(目录最后一项)
|
|
|
+
|
|
|
+或直接访问:`http://系统地址/a/mes/mesParamParseConfig/list`
|
|
|
+
|
|
|
+所需权限:`mes:mesParamParseConfig:view`(查看)、`mes:mesParamParseConfig:edit`(编辑)。
|
|
|
+
|
|
|
+## 5. 配置字段说明
|
|
|
+
|
|
|
+| 字段 | 说明 | 示例 |
|
|
|
+|---|---|---|
|
|
|
+| 产线编号 | 上传报文所属产线编号;填 `*` 表示对所有产线生效 | `XT`、`XZ` |
|
|
|
+| 工位号 | 工位号,**不带尾缀字母**(OP035A 的上传会按 OP035 匹配) | `OP035` |
|
|
|
+| 工艺编码 | 解析出的值写入 `mes_product_record.craft` 对应的记录,**必须与建档模板中该工位的工艺一致** | `400005` |
|
|
|
+| ps报文位置 | 上传报文按竖线 `\|` 分割后的段序号,从 1 开始 | `1` |
|
|
|
+| 结果模式 | `取报文Y/N`:该段首字符 Y=OK、N=NG;`固定OK`:不论首字符结果一律 OK(底板码等绑定类参数用) | `固定OK` |
|
|
|
+| 描述 | 备注说明 | `底板码1` |
|
|
|
+| 状态 | 正常=生效;停用/删除=不生效(保存/停用/删除会自动清缓存) | 正常 |
|
|
|
+
|
|
|
+## 6. 解析规则细节
|
|
|
+
|
|
|
+- 每段报文格式:`Y值内容` 或 `N值内容`,首字符为结果,其余为参数值。
|
|
|
+- 一个工位可以配置多行(多个 ps 位置、多个工艺),解析时逐行处理。
|
|
|
+- 匹配规则:**产线精确匹配或 `*`** + **工位号精确匹配**(工位号先经 `formatOprno` 规范化,如去掉尾缀字母)。
|
|
|
+- 未配置任何规则 = 该工位不解析任何参数(与原 XT 线行为一致,XT 的规则已作为种子数据保留)。
|
|
|
+
|
|
|
+## 7. 新线 OP035 配置示例
|
|
|
+
|
|
|
+假设新线产线编号为 `XZ`,OP035 上传底板码在报文第 1 段,建档模板中 OP035 的工艺为 `400005`:
|
|
|
+
|
|
|
+| 产线编号 | 工位号 | 工艺编码 | ps报文位置 | 结果模式 | 描述 |
|
|
|
+|---|---|---|---|---|---|
|
|
|
+| XZ | OP035 | 400005 | 1 | 固定OK | OP035底板码 |
|
|
|
+
|
|
|
+保存即生效,无需重启。
|
|
|
+
|
|
|
+## 8. 常见问题
|
|
|
+
|
|
|
+**Q:配置加了,但上传后值还是没存进去?**
|
|
|
+A:解析只是第一步。落库时系统按 `条码 + 工位 + 工艺编码` 查找**已存在**的生产记录再更新——如果建档模板(打码建档/单台建档)里没有该工位+该工艺的记录,值无处可写。请确认:
|
|
|
+1. 配置里的"工艺编码"与建档模板中该工位的工艺完全一致;
|
|
|
+2. 该产品的建档模板包含 OP035 的这条工艺记录。
|
|
|
+
|
|
|
+**Q:菜单看不到?**
|
|
|
+A:清除缓存(系统管理→缓存管理→清除全部缓存)并重新登录;确认账号角色已被授予该菜单(拥有"生产管理"的角色已自动授权)。
|
|
|
+
|
|
|
+**Q:改了配置需要重启吗?**
|
|
|
+A:不需要。保存/停用/删除会自动清除解析缓存,立即生效。
|
|
|
+
|
|
|
+**Q:XT 线原来的规则还在吗?**
|
|
|
+A:在。已作为种子数据迁入配置表(OP010 底板码×2 固定OK、OP060/OP100/OP130 程序名取Y/N),行为与改造前一致。
|