Files
JY1.0/docs/零件改制/06-决策记录.md

152 lines
6.1 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.
# 06-决策记录
## DR-001为什么要新增零件改制流程
现场存在零件改制业务,且现场计件、派工、完工入库、统计追溯都需要系统数据支撑。原线下记录无法满足过程管控和后续核算要求,因此需要将改制订单接入系统。
## DR-002为什么改制订单由技术中心发起
改制通常涉及零件图号、技术要求、加工目标等技术信息。由技术中心发起可以保证改制来源和技术要求准确,再由精工车间承接生产。
## DR-003为什么改制订单编号使用 `BHGZ`
改制订单需要与销售订单、补货订单、普通生产任务区分。使用 `BHGZ` 前缀可以让生产任务、派工、MES 加工端快速识别改制任务。
## DR-004为什么改制记录必须保存原零件名称和原零件图号
如果只保存改制后的名称和图号,后续无法追溯“从哪个零件改成哪个零件”。因此记录表必须同时保存:
```text
原零件名称
原零件图号
改制零件名称
改制零件图号
```
## DR-005为什么前后端都要校验图号不能相同
前端校验用于提高操作体验,避免无效提交。后端校验用于保证数据安全,防止绕过前端调用接口导致无意义改制记录。
## DR-006为什么要回写工艺计划流水号
早期临时方案按 `原基本件流水号` 关联改制记录,但同一个基本件可能多次改制,会导致生产任务重复显示。正式方案改为按 `工艺计划流水号` 关联,保证一条改制记录对应一条生产任务。
## DR-007为什么生产任务视图直接显示改制信息
生产任务查询、车间派工、MES 待加工等多个功能都依赖 `车间生产管理_零件工艺计划_视图`。在视图层统一改为改制信息优先显示,可以减少多个页面重复改造。
决策:
```sql
= ISNULL(, )
= ISNULL(, )
= ISNULL(, )
```
## DR-008为什么默认工艺设置为 `改制`
改制任务通常需要快速进入派工和加工。如果每次都人工制定工艺,会增加车间操作成本。自动添加默认工艺 `改制` 后,任务可以直接进入派工流程。
## DR-009为什么默认工序优先 UPDATE
部分工艺计划生成后可能已经存在一条默认空工序。如果直接 INSERT可能导致多一条工序。最终采用
```text
有默认工序 -> UPDATE 为改制
没有默认工序 -> INSERT 一条改制工序
```
## DR-010为什么动态 SQL 必须统一使用别名
`精工车间_生成任务_查询数据` 中主查询使用:
```sql
FROM _零件工艺计划_视图 AS P
```
因此动态 WHERE 中必须使用 `P.字段名`。继续使用原表名会触发 SQL Server 4104 错误。
## DR-011为什么不在当前阶段处理领料单
当前阶段目标是打通:
```text
技术中心发起 -> 精工生产任务 -> 默认工艺 -> 派工/MES 显示
```
非毛坯物料领料、仓库出库、派工限制会影响仓储流程和现场规则,需要作为后续阶段单独联调。
## DR-012为什么保留历史设计方案和测试报告
本次拆分出的 `01-06` 文档用于后续推进和任务管理,原设计方案、开发说明、测试报告保留作为上下文证据,避免历史决策丢失。
## DR-013为什么发起改制前必须先维护新物料
入库流程最终按 `物料流水号` 写入库存。如果只修改显示用的零件名称和图号,而不切换物料流水号,库存会入到原物料,造成库存台账错误。
因此最终规则调整为:
```text
发起改制前,必须先在物料主文件维护改制后的新物料。
发起改制时,系统使用改制零件名称 + 改制零件图号查询新物料流水号。
查不到新物料时,禁止发起改制。
```
对应查询条件:
```sql
_物料主文件_基本. = @
_物料主文件_基本. = @
= 0
```
## DR-014为什么视图中的物料字段也要优先使用改制物料
现有入库查询、生产任务、派工和 MES 多处依赖 `车间生产管理_零件工艺计划_视图`。如果只在改制记录里保存改制物料流水号,但视图仍返回原物料流水号,入库仍会写错库存。
因此视图中以下字段统一优先取改制物料:
```text
零件名称
零件图号
物料流水号
物料编码
代号
货位流水号
单位
```
这样后续 `仓储管理_自制件入库_查询``仓储管理_自制件入库_循环执行` 不需要大改,就能按新物料入库。
## DR-015为什么发起弹窗不再默认填入原零件名称和图号
如果弹窗默认把原零件名称、原零件图号带入改制目标,用户容易直接提交,虽然有“图号不能相同”的校验,但体验上仍然容易误解为可以在原零件基础上简单修改。
最终决定:
```text
原零件信息只读展示。
改制零件名称和改制零件图号默认置空。
用户必须填写已经在物料信息中维护好的新物料名称和图号。
后端根据名称 + 图号查找改制物料流水号。
```
这样可以强化业务规则:改制目标必须先存在于物料主文件,后续入库才能入到正确物料。
## DR-016为什么零件列表替换显示不直接修改原 BOM
发起改制后,技术中心页面需要让用户看到“这条零件已经改制到哪个目标”,但原 BOM 仍然是订单原始技术数据,直接修改原 BOM 会影响历史追溯和未改制流程。
最终决定:
```text
不修改原 BOM。
零件列表查询时按最新未删除改制记录覆盖显示零件名称和图号。
接口额外返回原零件名称、原零件图号,弹窗继续用于原件校验。
关联条件必须包含原订单流水号、原组件流水号、原基本件流水号,避免同流水号跨组件串件。
```
这样既满足页面可见性,也保证改制记录、生产任务、入库物料各自有清晰依据。
修改人:Ld 修改时间:2026-07-01 14:46:30;