# 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;