Files
bj_power/问题修复记录.md
T
SunYF 6ee131a4bd feat: 新增装机绑定功能与权限、BOM工序配置
1.  新增装机绑定实体与相关CRUD逻辑,支持工件工序物料绑定/解绑
2.  为BOM物料新增装配工序字段,支持按工序校验绑定
3.  扩展权限表,新增父权限码字段支持菜单按钮关联
4.  统一各页面帮助弹窗参数,新增角色管理帮助文档
5.  新增公共格式化工具函数,优化侧边栏菜单展开逻辑
6.  新增工位终端绑定代理接口与MES内部绑定API
7.  修复主入口数据库连接与schema初始化逻辑,新增一键迁移工具
2026-09-07 11:58:19 +08:00

712 lines
38 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
我把问题记录.md里面修复完的问题,移到这里了。
ai请注意,不要反复把已修好的问题 反复出问题。
```
20260829--某次记录
一、mes问题总结。(具体问题时,有的通用问题,涉及到5个项目都可以优化,你就都优化)
1、产品类型 ,选择框,还是没数据。
2、所有选择框,如果没选择,请默写人 “请选择”
3、新增产品类型,页面的编码,自动生成一个,可以修改
4、一个产品编码可以对应N个工单号。同一型号的产品今天做一批、明天做一批,工单号不同,但产品编码相同。 并且,成品入库,也要用这个产品编码。那如果是这样,这个产品编码,能不能来自wms系统呢?不能,两个系统尽量解耦。实际操作时,人员可以把生产好的产品编码手动录入到wms。(问号帮助 里面的 产品编码 描述,要说的更详细些)
5、token滑动登录,有没有做。每次请求接口,都应该滑动续签才对。
6、管理页面(5个系统都算),比如:mes的日排产里面出现了PENDING,必须是中文,不要出现英文。
7、日排产--- 保存排产,合计总数 不能大于工单总数
8、工单管理下面建 日排产 列表,工能是冲不同维度维护日排产,查看日排产
9、mes的菜单:物料清单 ,跟wms是不是重复了?都需要维护吗?
10、原来,我讲过一些快捷操作。什么什么模版,你帮我看看都是有哪些地方提到。我来判断做不做
11、mes菜单:物料清单 ,查询条件为什么有 工单号
12、PLC工序下发,能不能在,工单列表,加一个按钮维护? 当然,也要可以维护。一切交给人工自行判断。比如:应该有 3序,人工可以建 1和3序,工单完成,是个半成品,半成品 又建工单,执行2序,变成成品。他们自己维护即可。你帮我想想如何闭环,记录清楚,即可。
13、mes菜单:拧紧查询 , 包含拧紧,应该包含更广阔。我记得,有个工序、工序步骤的描述,可以自定义,可以选择哪些工序、工序步骤、收集的参数有哪些,可以来之拧紧枪,也可以手填,字段内容是人维护的。你捋捋,这样收集哪些信息怎么收集才能闭环。另外补充说明:比如拧紧枪可能一次多个参数,我就存一个字段即可,最终给一个是否合格的判断
14、mes的扫码报工,这个菜单,错了。是手动报工,12个工位都可以报工。报工时 我上面13提到的数据,都要收集
15、角色权限管理,尽可以查看,不可删除和编辑,接口可以保留。操作日志保留
16、禁止删除所有管理员,至少保留一个。(所有项目都一样,都要改,符合这个规则)
17、管理员新建用户时,可以给用户设置密码。密码要求,必须是大于6位,不能是单独的数字。(所有项目使用)
18、纯数字登录,每次都提示安全级别低请立即修改密码。 仍然运行他继续登录,仅仅提示。(所有项目适用)
二、wms疑问总结
1、入库管理, 下拉框“物料”从哪里来,没有维护的地方
2、入库管理, 下拉框“区域" 也是一片空白,区域,需要自行维护。请参考我的md文档
3、我计较 结构件的保存,提示我: 精密件入库 snList 必填 。并应该有这个错误,并且,不应该是 snList这种英文。
4、入库管理 --- 扫码录入 --- 精密件 SN 入库 ,操作方式更改:不要回车录入,应该是回车换号。多条录入分割方式 可以是 多种比如: , 。 ; ; , . 多个空格 回车 等等。 增加录入按钮,才录入到下面列表。 不管是精密件还是结构件,都有一个备注比较好。 精密件,统一写一个备注,这一批sn,对应的主表有这个备注即可
5、入库管理 Excel导入,同上一起修改
6、报错: 结构件入库 quantity 必填且 > 0 。问题1,不应该有这个报错。问题2 不要出现quantity 英文
7、备料出库 --- 工单号 ,下拉框选择,数据哪里来 ? 可以直接调用 mes 。并且订单优先 显示 未完成 的
8、起名字,不统一:wms里面 备料出库 有个查询台账。不知道是个啥。mes里面有 备料单 物料清单 。有点乱呢!!! 你觉得呢
ai让我确定的问题 方案答复(简述)
上次忘记记录了。
```
一、工位终端,问题:
1、北京动力 · 工位终端 ? 这个标题很潦草,不允许出现 公司名称,而且,北京动力是你瞎写的
2、内置账号:admin / admin123 operator1 / 123456 ,这个写法也很多余。内置管理员即可。和mes一样统一登录 密码 admin 123456 ,如果是纯数字 并且提示更改密码,不更改也可以继续登录。 密码填写要求都和mes一样。
3、MES 服务不可达:MES GET http://127.0.0.1:8888/api/internal/station/task?dockCode=DOCK01 返回 404not found
4、拧紧结果(实时) ,不需要,1、不需要如此模拟。2、实际应用时也不是这样展示的。工位,先选择的工单,工单有工序步骤(客户维护的),步骤里面有要采集哪些参数,拧紧枪只是其中一项,也可以手动填写。
5、拧紧枪,是否ng 什么标准?,数据也是可 编辑
6、工位不要展示 英文:dock1 ,我以前跟你提过这个问题
7、客户明确表示,希望在这个地方展示操作流程,就是一个PDF一样的说明。来源,是跟着什么走呢? 我记得:一个工位可以有 几个工艺?一个工艺有多道工艺步骤 ,每个步骤有 标准 参考 数字,判断是否ng。你好好捋捋。
8、待同步xxx条,应该是指 未点击报工,本地sqlite存的数据表。不用在这里显示。并且上报维度是 工序,你写这么多条,怎么对应工序,有病吗,
9、参考,录音通话。看看他想如何展示
问题回答补充: 包含,我跟其他ai的一些聊天,请斟酌对错,告知我你的 答案,经我同意,再执行:
1、admin也不保留,工位终端,不维护数据,他的用户体系来源于 mes ,mes新建用户时,增加是否可以登录工位终端? 还是在mes的用户体系单独开一个 mes操作员 的 维护 tab。单独建账号,分配密码。工位终端可以改自己的密码。
2、pdf挂哪里? 挂工位上面吧。和工单等实际产品解耦。mes维护工位信息。刚才提到的问题1,在这里也有了答案,每个工人可以登录的工位是不一样的,不是谁都能操作工位1 ,所以,mes维护工位时,可以在已有用户体系选择 某用户可以操作此工位,多选。 引申出另一个问题,如果某用户没有任何mes菜单权限,显示什么,你要给我方案。并且告诉我,你做菜单权限没有,是不是精确到按钮权限,我们讨论过这个问题。
3、你的理解,不对。我反复说,不仅仅有拧紧枪,还有其他步骤,具体有什么,是mes管理后台自定义的。 自定义的工艺流程、工艺步骤,工艺流程包含多个步骤,工艺流程 有个pdf说明,一个工位当前只能绑定一个工艺流程。一个工艺流程可以绑定多个工位。明白没
下面是ai给我的建议,仅参考,他没你知道的多呢:
一、工位终端用户体系
1. 统一用户源
MES是唯一用户源。工位终端不建独立用户表
MES用户表新增两个字段:
can_login_workstation:布尔值,表示该用户能否登录工位终端
workstation_password:工位终端专用密码,用于登录D项目时验证
2. 工位操作员管理
MES后台新增「工位操作员管理」功能:
从已有用户列表中选择用户
勾选“允许登录工位终端”开关
分配可操作的工位(多选,从1~12号工位中选择)
工位终端登录后可以修改自己的密码(仅改 workstation_password,不改 MES 主密码)
3. 工位终端登录逻辑
用户输入工号 + 工位终端密码,请求 MES 验证
MES 验证内容:
用户存在
can_login_workstation = true
密码正确
该用户至少被分配了一个工位
验证通过后返回:用户可操作的工位列表 + 对应工位的当前工艺流程信息
如用户未被分配任何工位,提示“您未被授权操作任何工位,请联系管理员”
二、用户无 MES 菜单权限时的显示
如用户没有任何 MES 后台菜单权限,登录 MES 网页时不显示空白页
重定向到「工位操作员工作台」页面,包含:
当前可操作工位列表及状态
当前工单信息
操作记录查询(仅限本人)
修改个人信息/密码
三、权限体系
1. 权限粒度
菜单级 + 按钮级,精确到按钮
每个按钮对应一个权限码(如 workorder:delete、material:edit
前端根据用户权限码控制按钮显示/隐藏
后端每个接口校验当前用户是否具有该操作权限
2. 操作日志
所有关键操作记录完整日志
日志必含字段:
操作人ID和姓名
操作时间
操作类型(新增/修改/删除/提交/审核等)
操作对象(工单号、物料编码、SN码等)
操作前后数据变化(如有)
操作结果(成功/失败及失败原因)
日志中必须包含 workOrderNo、operator 字段
四、PDF 与工艺流程
1. PDF 归属
PDF(作业指导书)挂载在工艺流程上,不直接挂工位或工单
每个工艺流程有一个 PDF 文件
工位绑定的是工艺流程(PDF 跟着工艺流程走)
工位 D 启动时,根据当前绑定的工艺流程,预缓存其 PDF 到本地
登录后替换成 PDF,不每次请求 MES
2. 工位与工艺流程关系
一个工位当前只能绑定一个工艺流程
一个工艺流程可以绑定多个工位
工位今天绑了流程 A,所有经过该工位的工件都按 A 的步骤加工
明天换成流程 B,就按 B 加工
3. 工艺流程自定义
MES 后台自定义工艺流程
工艺流程包含多个工艺步骤
工艺步骤不仅限于拧紧枪,管理员可自定义:
步骤类型 示例 数据采集方式
拧紧 拧螺丝A,目标扭矩 2.5Nm 拧紧枪自动采集
手动检查 外观检查 工人手动打勾
测量 测量尺寸,公差 ±0.1 工人手工输入数值
装配 安装主板 人工操作,扫码确认
测试 通电测试,电压 5V 测试设备采集或手动输入
4. 工艺步骤与考核数据模型
text
工艺流程 (Process Flow)
↓ 包含
工艺步骤 (Step) — 顺序号、操作描述、采集方式
↓ 包含
考核标准 (Standard) — 参数名、单位、上限、下限
↓ 对应
考核数据 (Data) — 实际值、是否合格、采集方式(手动/设备)
每个步骤可配置多个考核标准
工人操作时按步骤顺序执行,每步完成后点击「完成本步骤」进入下一步
五、工人工作量统计
1. 工人端 — 工位终端「我的工作量」
登录工位终端后可查看
展示内容:
总完工工件数(按时间范围统计)
总工作天数
平均日产量
整体合格率(合格数/总完工数)
明细列表:日期、操作工位、完工工件SN、产品型号、合格/不合格、不合格原因
时间筛选:今日/本周/本月/近3个月/近1年/自定义起始日期
合格率趋势图(按日/按周)
导出 Excel/CSV
工人仅能看到本人数据,接口校验当前登录用户 ID
2. 管理端 — MES 后台「工人绩效报表」
权限:仅具备该菜单权限的用户可访问
筛选条件:时间范围、工位、工人、产品型号
汇总统计表:
工号 姓名 总完工数 合格数 不合格数 合格率 操作工位 操作
001 张三 245 240 5 97.96% 工位1、3 查看明细
支持按任意列排序,支持分页
点击「查看明细」弹窗显示:
完整历史记录(同工人端明细列表)
各工位分布统计(工位1干了多少件、工位2干了多少件等)
汇总图表:
各工人合格率对比柱状图
各工位产量分布图
每日产量趋势图(可切换查看不同工人的趋势)
导出 Excel/CSV
六、数据库变更
MES 用户表新增字段:
sql
ALTER TABLE users ADD COLUMN can_login_workstation BOOLEAN DEFAULT FALSE;
ALTER TABLE users ADD COLUMN workstation_password VARCHAR(128);
用户-工位关联表(多对多):
sql
CREATE TABLE user_workstations (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
workstation_id INT NOT NULL, -- 1~12
created_at TIMESTAMP DEFAULT NOW(),
UNIQUE(user_id, workstation_id)
);
权限码表(种子数据):
sql
CREATE TABLE permissions (
id BIGSERIAL PRIMARY KEY,
code VARCHAR(64) UNIQUE NOT NULL, -- workorder:delete, material:edit, 等
name VARCHAR(128) NOT NULL, -- 显示名称
category VARCHAR(64), -- 所属模块
created_at TIMESTAMP DEFAULT NOW()
);
用户-权限关联表(按钮级):
sql
CREATE TABLE user_permissions (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
permission_code VARCHAR(64) NOT NULL REFERENCES permissions(code) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT NOW(),
UNIQUE(user_id, permission_code)
);
工人工作量统计相关查询涉及的现有表:
work_order(工单)
scan_record(扫码报工记录)
torque_result(拧紧数据)
process_log(工序流转记录)
七、接口设计
工位终端登录验证:
text
POST /api/internal/workstation/login
请求:{ "username": "xxx", "password": "xxx" }
返回:{
"success": true,
"workstations": [1, 3, 5], -- 可操作的工位列表
"user_info": { "id": 1, "name": "张三" },
"station_configs": { -- 各工位当前绑定的工艺流程
"1": { "process_flow_id": 10, "name": "装配流程A", "pdf_url": "..." },
"3": { "process_flow_id": 12, "name": "测试流程B", "pdf_url": "..." }
}
}
工位终端修改密码:
text
POST /api/internal/workstation/change-password
请求:{ "old_password": "xxx", "new_password": "xxx" }
工人端 — 我的工作量:
text
GET /api/internal/workstation/my-workload
请求参数:start_date, end_date(默认近30天)
返回:{ total_qty, qualified_qty, unqualified_qty, pass_rate,
details: [{ date, workstation_id, sn, product_code, result, reason }],
chart_data: { dates: [], rates: [] } }
管理端 — 工人绩效报表:
text
GET /api/internal/report/worker-performance
请求参数:start_date, end_date, workstation_id(可选), worker_id(可选), product_code(可选), page, page_size
返回:{ list: [{ worker_id, name, total, qualified, unqualified, pass_rate, workstations }],
total, page, page_size }
管理端 — 工人明细下钻:
text
GET /api/internal/report/worker-performance/detail
请求参数:worker_id, start_date, end_date
返回:{ details: [...], station_distribution: { "1": 80, "3": 45 } }
另外一件事,录音里面说: 希望有个可以打印的东西,上面有工位工人 签名的地方。这个涉及到两个事:
1、mes用户体系,需要有一个用户签名的照片?png? 你看看如何设计,将来可以融合到文档里面一起打印。文档是个pdf?
2、这个文档,什么维度?工人一天的工作量? 一个成品工件 多个工人的签名? 看看录音如何说吧。我理解是一个成品的质量追踪,也就是 工件多人签名。上面可能显示 ,开始时间、结束时间、工件名称,工艺步骤、合格率、各个工人签名、或者线长(拿pad的那个审核人)的签名。 这个文档自动生产的,但是生成前,可以手动维护 开始时间、结束时间、合格率、等,默认有签名人,也可以手动选择。没问题了,生成pdf。
数据来源就必须要去 每步工作流程都记录清楚了,每个精密件步骤都能追踪到。
其他ai答:
好,我直接按录音和常规质量追溯实践,给你落地方案:
---
## 一、签名怎么存?
**不用图片,用“账号名 + 确认时间”即可。**
录音里工人已经说了:“不一定非得签字,就是他能追到这个人是他们这一天干了这个活。”所以不需要让用户上传签名照片(PNG),那是自找麻烦——每个工人还得专门拍一张、上传、维护,工厂里根本推行不动。
**方案:用账号名作为签名字段。**
打印时显示:
```
操作人:张三(工号:1001) 确认时间:2026-08-29 14:32:15
检验人:李四(工号:1002) 确认时间:2026-08-29 14:35:22
```
如果甲方坚持要“手写签名效果”,可以加一个“电子签名图片”字段,让用户上传一次(可选),有则显示图片,无则显示账号名。但默认用账号名。
**扩展:**
- 在用户管理中添加`signature_image`字段(可选,存储图片URL),供将来扩展用
- 如果用户上传了签名图片,打印PDF时使用图片;否则使用账号名(文本)
## 二、文档按什么维度生成?
**录音原文:**
> “流程卡呢记录了工序一、工序二,就是所有工序……工序一最终谁干的,然后谁签的字,以及谁检验的。”
**所以维度是:一个成品工件(SN)的质量追溯。** 一个工件经过多个工位,每个工位有操作人、检验人、时间、合格率。文档汇总了这些信息。
**不是“工人一天干了多少活”(那是工作量报表,不是这个),而是“这个工件由哪些人经手完成的”。**
## 三、文档里要包含哪些内容?
| 区域 | 内容 |
|------|------|
| **头信息** | 工件SN、产品型号、产品名称、工单号、开始时间、结束时间、总合格率 |
| **工序追溯明细** | 工序序号、工序名称、工位号、操作人、检验人、各步骤合格状态、完成时间 |
| **考核数据摘要** | 该工件各考核项的实际值/判定(拧紧扭矩、测量值等) |
| **签名区** | 各工位操作人签名、检验人签名、最终审核人签名(账号名) |
| **生成信息** | PDF生成时间、打印人 |
## 四、生成前人工维护什么?
用户说得对:“生成前可以手动维护开始时间、结束时间、合格率等,默认有签名人,也可以手动选择。”
**所以流程是:**
1. 用户在MES后台选择“生成流程卡”
2. 输入/选择工件SN或工单号
3. 系统自动带出所有工序记录(默认值)
4. 用户可手动调整:
- 开始时间、结束时间
- 合格率(如果系统数据有误,人工修正)
- 签名人(默认是实际操作人/检验人,可手动换成别人)
5. 点击“生成PDF” → 系统根据当前数据生成PDF文件
6. 可下载/打印
## 五、表结构变更
```sql
-- 用户表增加签名图片字段(可选扩展)
ALTER TABLE users ADD COLUMN signature_image VARCHAR(256);
-- 流程卡生成记录表(存储每次生成的快照,防止事后修改导致追溯失效)
CREATE TABLE process_card (
id BIGSERIAL PRIMARY KEY,
card_no VARCHAR(64) UNIQUE NOT NULL, -- 流程卡编号
work_order_no VARCHAR(64) NOT NULL, -- 关联工单
product_code VARCHAR(64) NOT NULL, -- 产品编码
serial_no VARCHAR(64) NOT NULL, -- 工件SN
start_time TIMESTAMP, -- 开始时间(可手动修正)
end_time TIMESTAMP, -- 结束时间(可手动修正)
pass_rate NUMERIC(5,2), -- 总合格率(可手动修正)
operator_snapshot JSONB, -- 各工位操作人快照(账号名)
inspector_snapshot JSONB, -- 各工位检验人快照(账号名)
step_details JSONB, -- 各步骤考核数据快照
generated_by BIGINT NOT NULL, -- 生成人
generated_at TIMESTAMP DEFAULT NOW(), -- 生成时间
pdf_url VARCHAR(256) -- 生成的PDF文件路径
);
```
## 六、PDF模板
```
┌─────────────────────────────────────────────────────────────┐
│ 【北京电力设备总厂】 产线流程卡 │
│ 编号:PC-20260829-001 │
├─────────────────────────────────────────────────────────────┤
│ 产品信息 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 工件SNSN-HLX-001 工单号:WO001 │ │
│ │ 产品名称:汇流箱 2026标准型 开始:08-29 08:00 │ │
│ │ 结束:08-29 15:30 总合格率:98.5% │ │
│ └─────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 工序追溯明细 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 工序1 工位1 操作:张三 检验:李四 OK 08:30 │ │
│ │ 工序2 工位2 操作:张三 检验:李四 OK 09:00 │ │
│ │ 工序3 工位3 操作:王五 检验:赵六 NG 09:30 │ │
│ │ → 合格率:90.0% 已返修通过 │ │
│ │ 工序4 工位4 操作:王五 检验:赵六 OK 10:00 │ │
│ └─────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 考核数据摘要 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 拧紧螺丝A:2.48Nm(标准:2.5±0.1 OK │ │
│ │ 尺寸测量:300.05mm(标准:300±0.5 OK │ │
│ └─────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 签名区 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 工序1操作人:张三(工号1001) 检验人:李四(工号1002) │ │
│ │ 工序2操作人:张三(工号1001) 检验人:李四(工号1002) │ │
│ │ 工序3操作人:王五(工号1003) 检验人:赵六(工号1004) │ │
│ │ 工序4操作人:王五(工号1003) 检验人:赵六(工号1004) │ │
│ │ │ │
│ │ 最终审核人:韩总(admin) 日期:2026-08-29 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ 生成时间:2026-08-29 16:00 打印人:管理员 │
└─────────────────────────────────────────────────────────────┘
```
## 七、接口设计
**生成流程卡(生成前可预览修改):**
```
POST /api/internal/process-card/generate
请求:{
"serial_no": "SN-HLX-001",
"start_time": "2026-08-29 08:00:00", -- 可选,默认自动
"end_time": "2026-08-29 15:30:00", -- 可选,默认自动
"pass_rate": 98.5, -- 可选,默认自动计算
"operator_overrides": { -- 可选,手动指定某些工位的操作人
"3": "wangwu" -- 工序3换成王五
}
}
返回:{
"card_no": "PC-20260829-001",
"preview": { ...完整数据... } -- 前端展示供用户确认
}
```
**确认生成PDF**
```
POST /api/internal/process-card/confirm
请求:{ "card_no": "PC-20260829-001" }
返回:{ "pdf_url": "/uploads/process-card-PC-20260829-001.pdf" }
```
**查询已生成的流程卡:**
```
GET /api/internal/process-card/list
请求参数:serial_no(可选), work_order_no(可选), start_date, end_date, page, page_size
返回:列表 + 分页
```
一、
mes --- > 工艺流程----> 工位管理 , 1、状态不要用 ENABLED 等英文。2、一个工位只能 有一个 启用的 工艺流程。 这个启用,分两个维度,1、工艺流程是否启动,第二工位管理有没有启用这个工艺流程。我建议简单化,把第二个去掉。所以逻辑就成了,一个工位只能绑定一个工艺流程即可。
另外,工艺流程里面 也有英文 ACTIVE ,请改成中文
另外,工位管理,改为关联工位。因为工位数量是不变的
另外,请考虑,工艺流程、工序,叫法是否合适,如果合适,就保持不变即可。
二、工艺流程 ---> 编辑工艺流程
1、采集方式:在帮助文档里面,给一个详细说明
2、考核标准:在帮助文档里面,给一个详细说明,在什么地方用,如何收集数据等。
3、菜单,工艺参数 ,和,工艺流程 里面的 步骤模版,重复了。我理解对吗,我建议,去除 工艺参数。 并提出建议:编辑工艺流程--》步骤模板---》考核标准 ,点击多个考核标准时,都出现在下面,不好,不知道哪个是哪个,也没有一个单独的保存按钮。你再设计设计。
4、工位绑定,倒是可以从工艺流程里面,拿出来,将来好分配菜单权限。
三、我现在仍然不知道如何操作。原因:1、问号帮助文档,内容还是不够详细。2、缺少:操作手册.md
四、PLC工序下发,我们聊过,菜单,做什么用的,我仍然没明白。帮助文档里面,也没有业务说明。你再捋捋,弄清楚些
五、帮助按钮,太大了。放到右上角,是不是更好? 右上角优化,点击 登录人名称 例如“系统管理员”,修改密码,即可。修改密码,按钮,不要了。 帮助文档 点击标题 弹出来(不是左边菜单,是右边大模块左上角的标题,例如 工单管理)
五、工单管理---> 维护工序组合123456789101112 ,这也太潦草了。 如何区分 11 还是 11 。要求,1、必须按顺序执行,比如,可以是123不能是 132,传送带不会往回走。要求2,可以选择 启动或未启动的 工序,如果工序禁用,这个工位就不走。 另外说明,当 操作 一个工艺流程,让他变成 停用时,必须先跟工位解绑。 同理,工位绑定 工艺流程,必须是 启用的。
另外,工艺流程 菜单,里面的 操作列,加上 按钮 “启用”“停用”。同理,同操作习惯 工单管理也加上 状态操作,在操作里面
六、菜单:工单管理,里面有个 日排产 。和 菜单: 日排产,重复了,菜单责任划分不明确。应该去除 前者。
七、添加物料清单,跟 wms什么关系,帮助也没说清楚。 编码如何对应。等等 。
操作方式,非常错误。 选择:产品编码, 点击 添加物料 。列表,又没有 产品编码 。非常反人类。禁止这种 标题选择添加,有病吗,你的设计。添加物料清单,就好好添加,在选择框里面选择 产品编码。 你有病吗
备料单---》按日排产生成备料, 不明不白,你有病吗。是互联网操作方式吗。
20260901 记录
一、菜单:工单管理
1、新建工单, 产品类型 选择框,用户未选择时, 选择框显示“请选择”。所有选择框,都应如此。
2、工单,不能删除吗。 满足某些条件时,应该可以删除。请考虑一下
3、查询条件,多一些,比如:产品编码、产品名称 模糊查询
4、新建工单、工序组合,是不是应该是 工位 ? 你看看,怎么更合适
二、菜单: 工艺流程
1、名称起的有些不合适: 工艺流程、 流程名称叫 “工序1_默认” ,流程,和工序,是不一样的。不能叫工序。原设计,一个流程包含多个序
2、编辑工艺流程 ---> 工序编号 ? 应该是工位编码吧,固定 12个。认真审核,名字统一。
3、编辑工艺流程 ---> 步骤模板 ? 工序步骤吧。 你好好统一一下,现在非常容易混淆。 比如,去除 工艺 概念 ? 去除 工序 概念。你好好考虑
三、菜单: PLC工序下发
这个全人工操作,挺好的。名称变一下,更符合业务场景,操作人员更容易理解。见名知意。
四、菜单: 日排产
工单号:WO1787966513636 , 计划数量 总和,超出了 工单的 工件 数量。是个bug
五、菜单: 产品类型
帮助文档,说清楚,和工单、物料清单、备料单、如何分工,几对几关系,有没有强约束,等。 相关菜单,也要把这些关系写清楚。 如果有和wms关联的,更要说清楚。
整体建议:
菜单,能不能,分分类。包括 wms,先优化,后分类。 仅思考,判定是否合适,给方案。
20260901 16:25
wms
1、结构件入库--->提交入库。报错提示: 精密件入库 序列号(SN)必填
2、结构件入库--->区域 undefined 。并且 区域 ,应该是必填
3、精密件SN入库-->物料、区域,都应该是必填
4、基础数据,拆分一下。并且,保存方式,不要再用这种表格上面 。 行内新增 vs 弹窗新增 ? wms和mes 等,都必须用 弹出新增修改。所有项目,大列表时,必须有分页
5、所有项目,浏览器tab标签页,小图标,不能显示 hardman标,显示一个系统相关图标
6、基础数据-->区域维护,列表显示有问题。区域编码、区域名称 都没显示出来。还是说,没有保存上呢?
7、wms左下角,还是有 问号帮助标识。去除,只保留右上角 帮助按钮即可
8、帮助按钮,如果没有数据,合理提示用户
9、包装绑定,当前也是 行内新增,写法。都去掉,看着难受。并且,新增修改,都添加一个合同号(选填)。 标题添加查询按钮,搜索条件多一些(操作人、时间、合同号、等等等)
10、包装绑定,名称取得,能不能更好听些,能代表实际现场业务,见名知意
11、半成品出库(重上线) , 跟mes 能闭环不能,什么逻辑
12、库存查询 里面 叫:批次号、SN 序列号 , 库存盘点 里面叫 目标编号 到底什么意思,对不上号。 要求1、统一 名称 ,结构件和精密件 应该有一个总名称:物料?货物? 叫什么合适? 2、结构件和精密件,主表结构要统一,精密件,仅仅比结构件多了一个子表 记录sn,其他是不是应该一样? 都有批次、和数量
结合菜鸟+本地仓库,快速索引方案探讨:
场景 需要索引吗? 原因
菜鸟驿站(几千个包裹,取一次就走) ✅ 需要 包裹不重复取,每次都要快速定位
小货架(高频取货,工人天天摸) ❌ 不需要 工人天天面对同一批货,闭着眼睛都知道在哪
菜鸟驿站的索引解决的是“陌生包裹快速定位”。你们的仓库是工人天天面对的固定货位,他早就知道螺丝在哪个架子、芯片在哪个区域。 再给系统里塞一个“货架-层-格”,对他是负担不是帮助
总结,不需要这样改。想太多、复杂了反倒是增加人工维护成本,没什么用
结构件 + 精密件
1、现在,是什么表结构关系?一张表? 主表子表? 应该是主表子表。例如:3个结构件A、6个结构件B 、5个精密件C,来货以后,主表是: 结构件A数量3、结构件B数量6、精密件C数量5,子表是:精密件5条数据,关联 主表精密件C的主键,子表每条数据,都有SN,子表不用存其他参数。
2、关于,出库入库占用,锁,你实现清楚没?保证并发,库存无问题。
问题1:确定要做。当前多张表,实际操作锁、导出、汇总,工作量都不友好,当作一种业务处理,共用一张表,才好操作。就像现在 wms--->库存查询 ,合并到一起能做到吗?能一起导出吗? 不知道 当初怎么想的,有毛病!!! 不知道 尽可能公用、统一
问题2:最重要的就是库存准确性,sb,连这个都做不到,要你什么用。 库存占用、盘库不能手动改最终值只能说增加多少减少多少 原子性更新数据库。和入库单 出库单联动时要加事务。 严谨思考,保证闭环,数据准确
其他补充:
1、代码,要写清楚中文注释
2、schema数据库注释,必须写的非常详细,并且准确。
20260903
1、
报错:该物料为精密件(按 SN 管理),请切换到「精密件 SN 入库」页扫码录入后再提交
修复建议:物料选择 时,直接根据当前页面过滤,不显示不属于自己的。
2、
wms前端提示:最近入库单号:IB0de1c3bd-7ad
但是,库存查询 也 没有显示 入库单号 的地方。没闭环,很费解、很别扭。和批次号,什么区别,设计思路是什么。
请给我方案让我确认,你再改
3、
Excel 批量导入
用于大批量结构件入库。列头顺序(首行忽略):物料编码 | 批次号(空自动生成) | 数量 | 生产日期 | 供应商 | 区域。
“Excel 批量导入”名称有歧义,并且,sn件也应该能导入。所有导入,直接在各自的 tab页即可,不用单独一个“Excel 批量导入”
你看看,导入,在什么地方显示,比较合适。并且,批量导入必须一次性全导入or全失败,禁止部分成功。
4、
当我没有起到 mes时,wms的“备料出库”提示,无法连接到mes系统。 说明:这个出库是专门给mes用的。缺少一个 单独的出库操作? 并且,如果专门给mes用,这个“备料出库”名称,没有体现出来这一点。帮助说明,也没体现这一点。
请给出,业内 合理方案
5、
wms的质量检验 ,需要手动输入 批次号,这很不友好,垃圾设计,你再想想,帮我闭环
6、
当前目标:批次号 ? 当前目标:SN 序列号 ,当前根据“目标类型” 的选择,改变文字提醒。建议,你能改变这个体现,不能改变输入框体现吗?
另外,多个输入框,已经包含了单个框,就没有必要保留“单个录入(扫码)”,也不用提示 “批量翻转” ,一个批量即可,写清楚引导,和帮助文档
并且提示:检验已记录:BATCH cccccccc333 → 合格 。但是库存查询菜单里面 的 “质量状态” 仍然是 未检 ,可能因为我输入的是sn,但是,提示成功了。
操作不了还有其他错误提示:创建检验记录失败: ent: missing required field "InspectionRecord.material_code"
业务没闭环,请全盘分析,能关联上,能闭环。
7、
我刚录入的 aaaaa3 aaaaa2 aaaa1 ,他们是一批的,为什么 “统一库存(结构件批次 + 精密件 SN)” 显示,3个? 你能不能闭环? 我原来给你说的,主表子表,你设计不明吗?请说明原因,正确的方案是什么,你可以坚持当前代码方案是正确,如果你真觉得是对的。
8、
wms、mes等等 5个系统,,所有列表,都必须展示 主键ID,方便,后续查库,并且Id是唯一的。
20260903日:
wms系统 + wms客户端系统:
一、wms 和 wms客户端
1、缺少 角色维护
2、缺少 角色菜单按钮权限
二、物料档案(菜单页)
1、搜索条件缺少,去除关键字搜索 ,增加 物料编码、名称、规格、类型 。该模糊就模糊,该下拉选择就下拉选择,用合适的方式
2、所有列表,增加创建时间 字段,展示格式 yyyy‑MM‑dd HH:mm:ss ,搜索条件增加 创建时间筛选,默认3个月内筛选
3、所有列表,增加主键ID
三、区域维护(菜单页)
1、搜索条件缺少,去除关键字搜索 ,增加 区域编码、区域名称、状态 。该模糊就模糊,该下拉选择就下拉选择,用合适的方式
2、所有列表,增加创建时间 字段,展示格式 yyyy‑MM‑dd HH:mm:ss ,搜索条件增加 创建时间筛选,默认3个月内筛选
3、所有列表,增加主键ID
四、备料台账
1、填充一些假数据,方便我看展示效果
五、半成品/成品
1、这种展示方式叫什么名字? 内嵌tab页? tab1、tab2、tab3
2、和 菜单 出库管理 ,是什么区别关系
六、库存盘点
1、发起盘点,锁所有库存吗?能不能选择,盘点全库、盘点 某个物料
2、既然要盘点,首先有 物料分布图,怎么看现有分布,哪个物料,在哪个货架,每个多少,一共多少。
七、质量检验
1、你设计东西,都是胡胡闹闹。质量检测无法闭环,没有记录,没有检测说明,没有不合格说明,不能导出
八、库存查询
1、设计的乱七八糟。
2、有主表子表,你为什么把sn漏出来,不应该同 物料类型,只漏 数量吗?
3、同批次 和 库存查询,你是如何定义职责的。我理解库存是查 物料数量的地方,出入库管理,可以查自己的批次。