23 KiB
零件改制功能设计方案
0. 需求背景
0.1 需求提出
本需求由罗总牵头,组织技术中心、精工车间、仓储等相关部门讨论后提出。
0.2 提出原因
当前现场存在零件改制业务,但改制过程尚未完整纳入系统管理。由于现场计件、派工生产、完工入库和后续统计都需要明确的数据来源,原有线下记录或零散流转方式无法满足计件核算、过程追溯和部门协同要求。
因此,需要在系统内补充零件改制订单流程,将改制订单从技术中心发起、精工车间派工生产到完工入库的全过程纳入系统管理。
0.3 应用场景
本功能主要应用于以下场景:
- 技术中心根据现场或订单需求发起零件改制订单。
- 精工车间根据改制订单制定工艺、派工生产。
- 改制订单涉及非毛坯物料时,由系统生成领料单并交由仓库出库。
- 改制加工完成后,按现有流程办理入库。
- 现场计件、生产统计、入库记录和后续追溯均以系统内改制订单数据为依据。
1. 需求目标
基于项目现有精工车间生产流程,新增“零件改制”业务。
本次方案调整为:
- 在技术中心新增组件发起改制订单。
- 改制订单生成后进入现有精工车间生产任务流程。
- 精工车间生产任务查询组件可以查看改制订单。
- 车间派工组件可以查看改制订单并继续派工。
- 新增改制记录查询,用于查看改制订单的发起、生产、派工、领料和完工状态。
- 领料时根据改制订单和物料来源判断是否生成领料单。
核心原则:
- 技术中心负责发起改制订单。
- 精工车间复用现有生产任务、工艺、派工、加工流程。
- 仓储只在需要额外领用非毛坯物料时介入。
- 改制记录独立查询,但状态关联现有生产任务状态。
2. 现有流程承接关系
根据项目现有页面,改制订单应承接以下流程:
| 流程节点 | 现有承接页面 | 说明 |
|---|---|---|
| 技术发起 | 技术中心新增页面 | 发起改制订单,填写改制要求 |
| 生成任务 | 精工车间生产任务查询 | 改制订单进入生产任务列表 |
| 制定工艺 | 精工车间制定工艺 | 可复用或复制原工艺后调整 |
| 车间派工 | 精工车间车间派工 | 工艺完成后派工 |
| 领料判断 | 领料/仓储出库流程 | 根据物料类型决定是否生成领料单 |
| 加工执行 | 精工车间现有加工流程 | 扫码、报工、质检等复用现有逻辑 |
| 入库 | 仓储入库流程 | 改制完工后按现有流程办理入库 |
| 记录查询 | 改制记录查询 | 查看改制全流程 |
3. 页面设计
3.1 技术中心新增页面:改制订单发起
建议路径:
src/views/TechnologyCenter/PartModificationOrder/index.vue
页面名称:
改制订单发起
归属模块:
技术中心
主要功能:
- 查询需要改制的原订单、原零件或原自制件。
- 发起改制订单。
- 填写改制后零件信息、改制数量、改制原因、技术要求。
- 指定是否使用原件改制、毛坯改制或其他物料改制。
- 提交后生成改制订单,并进入精工车间生产任务查询。
3.2 精工车间修改页面:生产任务查询
现有路径:
src/views/SeikoWorkshop/ProductionTaskQuery/index.vue
需要支持:
- 查询改制订单生成的生产任务。
- 增加任务类型筛选。
- 增加任务类型列。
- 改制任务显示
改制标识。 - 改制任务继续使用现有
工艺、派工按钮。
3.3 精工车间修改页面:车间派工
现有路径:
src/views/SeikoWorkshop/WorkshopAssignment/index.vue
需要支持:
- 查询改制订单对应的待派工任务。
- 增加任务类型筛选。
- 增加任务类型列。
- 复用现有已派工查询、待派工工序查询、派工、取消派工逻辑。
3.4 新增页面:改制记录查询
建议路径:
src/views/TechnologyCenter/PartModificationRecord/index.vue
也可以放在精工车间模块,建议最终按业务归属确认。
页面名称:
改制记录查询
主要功能:
- 查询改制订单记录。
- 查看改制订单状态。
- 查看是否生成领料单。
- 查看仓库是否已出库。
- 查看精工生产任务、工艺、派工、完工状态。
- 支持跳转生产任务查询、车间派工、零件追溯。
4. 改制订单类型
改制订单需要明确物料来源,建议增加字段:
改制来源类型
建议枚举:
| 改制来源类型 | 说明 | 是否生成领料单 |
|---|---|---|
| 原现自制订单 | 使用原现有自制订单零件进行改制 | 否 |
| 毛坯改制 | 直接使用已有毛坯进行改制 | 否 |
| 非毛坯物料改制 | 使用仓库其他物料、半成品或成品改制 | 是 |
说明:
- “原现自制订单”指当前已经存在的自制订单或自制零件,改制时不需要额外从仓库领料。
- “毛坯改制”指直接使用毛坯进行改制,不额外生成领料单。
- “非毛坯物料改制”指改制需要领用库存中的非毛坯物料,需要生成领料单并由仓库出库。
5. 领料规则
5.1 领料判断条件
领料时增加判断:
如果是改制订单,并且使用的物料不是毛坯,则生成领料单,由仓库物料出库。
如果是原现自制订单改制,或者直接使用毛坯改制,则不生成领料单。
规则可表达为:
是否生成领料单 =
是否改制订单 === 1
且 改制来源类型 === 非毛坯物料改制
且 是否毛坯 !== 1
5.2 生成领料单场景
以下场景需要生成领料单:
- 改制订单使用库存半成品。
- 改制订单使用库存成品。
- 改制订单使用其他非毛坯物料。
- 改制订单指定的物料需要仓库出库。
生成后流程:
- 技术中心发起改制订单。
- 系统判断需要领料。
- 生成领料单。
- 仓库根据领料单出库。
- 出库完成后,精工车间继续生产、工艺、派工。
5.3 不生成领料单场景
以下场景不生成领料单:
- 原现自制订单改制。
- 直接使用毛坯改制。
- 改制对象已经在精工车间现场,不需要仓库出库。
不生成领料单时:
- 改制订单直接进入精工生产任务。
- 生产任务查询可查看。
- 车间派工可查看并派工。
5.4 领料状态字段
建议改制订单增加以下字段:
| 字段名 | 说明 |
|---|---|
| 是否需要领料 | 1 是,0 否 |
| 是否已生成领料单 | 1 是,0 否 |
| 领料单号 | 生成的领料单编号 |
| 领料状态 | 未生成、待出库、已出库、已取消 |
| 出库日期 | 仓库出库日期 |
| 出库人 | 仓库操作人 |
6. 业务流程
6.1 技术中心发起改制订单
用户进入技术中心“改制订单发起”页面。
查询原始数据:
- 订单编号
- 产品/部件名称
- 零件名称
- 图号
- 原自制订单
- 库存物料
- 毛坯物料
发起改制时填写:
- 改制订单号
- 原订单编号
- 原零件名称
- 原零件图号
- 改制零件名称
- 改制零件图号
- 改制数量
- 改制来源类型
- 是否毛坯
- 物料编号
- 物料名称
- 改制原因
- 改制要求
- 技术备注
- 精工期限
提交时校验:
- 改制数量必须大于 0。
- 改制来源类型不能为空。
- 改制原因不能为空。
- 改制要求不能为空。
- 精工期限不能为空。
- 如果来源类型为非毛坯物料改制,必须选择物料编号。
6.2 后端生成改制订单
提交后,后端需要同时处理:
- 写入改制订单主记录。
- 根据改制来源类型判断是否生成领料单。
- 生成精工车间生产任务。
- 写入任务类型为
改制。 - 关联改制订单号和新工艺计划流水号。
6.3 进入精工车间生产任务查询
改制订单生成后,应能在现有接口中查到:
精工车间_生成任务_查询数据
建议返回字段增加:
- 任务类型
- 是否改制
- 改制订单号
- 改制来源类型
- 是否需要领料
- 领料状态
- 改制原因
- 改制要求
生产任务查询页面显示:
任务类型 = 改制- 若
是否需要领料 = 1且领料状态 !== 已出库,可显示领料状态提示。
是否允许工艺/派工,需要按业务决定:
- 如果非毛坯物料改制必须先出库,建议未出库前允许制定工艺,但不允许派工。
- 如果现场允许先派工后补出库,则只做提示,不阻断派工。
建议采用更稳妥规则:
需要领料且未出库:允许制定工艺,不允许派工。
不需要领料:正常工艺、派工。
需要领料且已出库:正常工艺、派工。
6.4 制定工艺
改制订单在生产任务查询中点击 工艺,进入现有:
/SeikoWorkshop/DevelopProcess
工艺规则:
- 改制订单必须生成新的工艺计划流水号。
- 不覆盖原自制订单或原零件工艺。
- 可支持从原工艺复制后调整。
- 工艺保存后,任务状态进入
工艺完成。
6.5 车间派工
工艺完成后进入现有车间派工页面:
src/views/SeikoWorkshop/WorkshopAssignment/index.vue
现有查询接口:
精工车间_车间派工_查询
改制订单派工前判断:
- 不需要领料:允许派工。
- 需要领料且已出库:允许派工。
- 需要领料但未出库:禁止派工,并提示“改制订单物料未出库,不能派工”。
派工明细继续复用现有接口:
车间生产管理工艺_零件工序_已派工查询
车间生产管理工艺_零件工序_派工_工序查询
车间生产管理工艺_零件工序_派工
车间生产管理工艺_零件工序_取消派工
6.6 仓库出库
当改制订单需要领料时,系统生成领料单。
仓库根据领料单完成出库后,需要回写:
- 领料状态 = 已出库
- 出库日期
- 出库人
- 出库数量
出库完成后,精工车间派工限制解除。
6.7 加工和完工
改制订单派工后,继续走现有精工车间加工流程:
- 工序派工
- 扫码加工
- 完工报工
- 质检
- 零件追溯
- 工时统计
完工后改制记录状态同步为:
已完成
7. 数据字段设计
7.1 改制订单主记录字段
| 字段名 | 说明 |
|---|---|
| 改制订单号 | 改制业务编号 |
| 原订单编号 | 原订单编号 |
| 原订单流水号 | 原订单流水号 |
| 原组件流水号 | 原组件流水号 |
| 原基本件流水号 | 原零件流水号 |
| 原工艺计划流水号 | 原工艺计划流水号 |
| 原零件名称 | 改制前零件名称 |
| 原零件图号 | 改制前零件图号 |
| 原数量 | 原数量 |
| 改制零件名称 | 改制后零件名称 |
| 改制零件图号 | 改制后零件图号 |
| 改制数量 | 改制数量 |
| 改制来源类型 | 原现自制订单、毛坯改制、非毛坯物料改制 |
| 是否毛坯 | 1 是,0 否 |
| 物料编号 | 使用物料编号 |
| 物料名称 | 使用物料名称 |
| 物料流水号 | 使用物料流水号 |
| 是否需要领料 | 1 是,0 否 |
| 是否已生成领料单 | 1 是,0 否 |
| 领料单号 | 领料单编号 |
| 领料状态 | 未生成、待出库、已出库、已取消 |
| 改制原因 | 改制原因 |
| 改制要求 | 改制要求 |
| 技术备注 | 技术备注 |
| 精工期限 | 精工完工期限 |
| 新基本件流水号 | 改制任务生成的新零件流水号 |
| 新工艺计划流水号 | 改制任务生成的新工艺计划流水号 |
| 发起人 | 当前用户 ID |
| 发起日期 | 发起时间 |
| 状态 | 改制订单状态 |
| 是否启用 | 逻辑删除标识 |
7.2 改制订单状态
| 状态 | 说明 |
|---|---|
| 待领料 | 需要领料,领料单未出库 |
| 待工艺 | 不需要领料或已出库,等待制定工艺 |
| 工艺完成 | 工艺已保存,等待派工 |
| 待派工 | 工艺完成且满足派工条件 |
| 加工中 | 已派工或已开始加工 |
| 已完成 | 改制任务完工 |
| 已取消 | 改制订单取消 |
说明:
- 如果不需要领料,提交后可直接进入
待工艺。 - 如果需要领料,提交后进入
待领料。 - 仓库出库后从
待领料转为待工艺或保持生产任务状态,由查询时关联显示。
8. API 设计
项目请求继续使用:
this.CreateData(type, name, param, pageSize, pageCurrent)
this.ExecDatabase(Data)
8.1 技术中心查询可改制对象
var Data = this.CreateData('11', '技术中心_改制订单_可改制对象_查询', param, this.pageSize, this.pageCurrent)
8.2 技术中心发起改制订单
var Data = this.CreateData('12', '技术中心_改制订单_发起改制', param)
参数建议:
| 参数名 | 说明 |
|---|---|
| 原订单流水号 | 原订单流水号 |
| 原组件流水号 | 原组件流水号 |
| 原基本件流水号 | 原基本件流水号 |
| 原工艺计划流水号 | 原工艺计划流水号 |
| 原订单编号 | 原订单编号 |
| 原零件名称 | 原零件名称 |
| 原零件图号 | 原零件图号 |
| 改制零件名称 | 改制零件名称 |
| 改制零件图号 | 改制零件图号 |
| 改制数量 | 改制数量 |
| 改制来源类型 | 原现自制订单、毛坯改制、非毛坯物料改制 |
| 是否毛坯 | 是否毛坯 |
| 物料流水号 | 使用物料流水号 |
| 物料编号 | 物料编号 |
| 物料名称 | 物料名称 |
| 改制原因 | 改制原因 |
| 改制要求 | 改制要求 |
| 技术备注 | 技术备注 |
| 精工期限 | 精工期限 |
| 发起人 | 当前用户 ID |
后端处理结果:
- 生成改制订单。
- 判断是否生成领料单。
- 生成精工生产任务。
- 返回
result、改制订单号、领料单号、是否需要领料。
8.3 改制记录查询
var Data = this.CreateData('11', '技术中心_改制订单_记录_查询', param, this.pageSize, this.pageCurrent)
8.4 改制订单详情
var Data = this.CreateData('11', '技术中心_改制订单_详情_查询', param)
8.5 取消改制订单
var Data = this.CreateData('12', '技术中心_改制订单_取消', param)
取消前后端需要校验:
- 未派工可以取消。
- 已派工未加工,需要先取消派工。
- 已加工、已有质检记录或已完成,不允许取消。
- 已生成领料单且已出库,不允许直接取消,需要走退料或异常处理。
9. 现有接口扩展
9.1 生产任务查询接口
现有接口:
精工车间_生成任务_查询数据
新增查询参数:
| 参数名 | 说明 |
|---|---|
| 任务类型_check | 是否按任务类型过滤 |
| 任务类型 | 全部、正常、改制、报废补投 |
| 领料状态_check | 是否按领料状态过滤 |
| 领料状态 | 待出库、已出库、不需要领料 |
新增返回字段:
| 字段名 | 说明 |
|---|---|
| 任务类型 | 正常、改制、报废补投 |
| 是否改制 | 1 是,0 否 |
| 改制订单号 | 改制订单编号 |
| 改制来源类型 | 原现自制订单、毛坯改制、非毛坯物料改制 |
| 是否需要领料 | 1 是,0 否 |
| 领料状态 | 未生成、待出库、已出库、已取消 |
| 领料单号 | 领料单号 |
| 改制原因 | 改制原因 |
| 改制要求 | 改制要求 |
9.2 车间派工查询接口
现有接口:
精工车间_车间派工_查询
新增查询参数:
| 参数名 | 说明 |
|---|---|
| 任务类型_check | 是否按任务类型过滤 |
| 任务类型 | 全部、正常、改制、报废补投 |
新增返回字段:
| 字段名 | 说明 |
|---|---|
| 任务类型 | 正常、改制、报废补投 |
| 是否改制 | 1 是,0 否 |
| 改制订单号 | 改制订单编号 |
| 改制来源类型 | 改制来源类型 |
| 是否需要领料 | 1 是,0 否 |
| 领料状态 | 领料状态 |
| 领料单号 | 领料单号 |
派工前端限制:
如果 是否改制 = 1 且 是否需要领料 = 1 且 领料状态 != 已出库,则不允许派工。
10. 前端交互调整
10.1 技术中心改制订单发起页面
查询条件:
- 订单编号
- 零件名称
- 图号
- 物料编号
- 物料名称
- 改制来源类型
表格列:
- 订单编号
- 产品/部件名称
- 零件名称
- 零件图号
- 数量
- 当前状态
- 来源类型
- 物料编号
- 物料名称
- 操作
操作:
- 发起改制
- 图纸
- PLM传入工艺
- 追溯
发起改制弹窗:
- 原订单编号
- 原零件名称
- 原零件图号
- 改制零件名称
- 改制零件图号
- 改制数量
- 改制来源类型
- 是否毛坯
- 物料编号
- 物料名称
- 改制原因
- 改制要求
- 技术备注
- 精工期限
10.2 生产任务查询页面
新增筛选:
任务类型:全部 / 正常 / 改制 / 报废补投
领料状态:全部 / 不需要领料 / 待出库 / 已出库
新增列:
- 任务类型
- 改制订单号
- 改制来源类型
- 领料状态
显示建议:
<el-tag type="warning" size="mini">改制</el-tag>
<el-tag type="danger" size="mini">待出库</el-tag>
<el-tag type="success" size="mini">已出库</el-tag>
<el-tag type="info" size="mini">不需要领料</el-tag>
10.3 车间派工页面
新增筛选:
任务类型:全部 / 正常 / 改制 / 报废补投
新增列:
- 任务类型
- 改制订单号
- 领料状态
派工按钮或派工操作前增加判断:
if (Number(row.是否改制) === 1 && Number(row.是否需要领料) === 1 && row.领料状态 !== '已出库') {
this.$message.warning('改制订单物料未出库,不能派工')
return
}
10.4 改制记录查询页面
查询条件:
- 改制订单号
- 原订单编号
- 零件名称或图号
- 改制来源类型
- 领料状态
- 改制状态
- 发起日期
- 发起人
表格列:
- 改制订单号
- 状态
- 原订单编号
- 原零件名称
- 原零件图号
- 改制零件名称
- 改制零件图号
- 改制数量
- 改制来源类型
- 是否需要领料
- 领料单号
- 领料状态
- 改制原因
- 发起人
- 发起日期
- 精工期限
- 完成日期
- 操作
操作:
- 详情
- 生产任务
- 派工
- 追溯
- 取消
11. 菜单配置
建议后端菜单配置:
技术中心
改制订单发起
改制记录查询
组件路径:
TechnologyCenter/PartModificationOrder/index
TechnologyCenter/PartModificationRecord/index
精工车间不新增发起入口,只扩展现有页面:
SeikoWorkshop/ProductionTaskQuery/index
SeikoWorkshop/WorkshopAssignment/index
12. 实施顺序
建议按以下顺序实施:
- 后端新增改制订单主记录表。
- 后端新增技术中心发起改制订单接口。
- 后端在发起接口中加入领料判断规则。
- 后端按规则生成或不生成领料单。
- 后端生成标准精工生产任务,并标记
任务类型 = 改制。 - 扩展生产任务查询接口,返回改制和领料字段。
- 扩展车间派工查询接口,返回改制和领料字段。
- 前端新增技术中心改制订单发起页面。
- 前端新增改制记录查询页面。
- 前端修改生产任务查询页面,增加任务类型和领料状态显示。
- 前端修改车间派工页面,增加改制任务显示和派工前领料状态校验。
- 联调从技术中心发起、领料判断、仓库出库、精工工艺、车间派工、加工完工、记录查询的完整流程。
13. 风险点
13.1 领料判断风险
改制订单是否生成领料单,必须以后端判断为准。
前端可以显示和提示,但不能只依赖前端判断,避免绕过仓库出库流程。
13.2 派工前物料状态风险
如果改制订单需要仓库出库,但尚未出库,直接派工会导致车间无物料加工。
建议车间派工接口或派工保存接口再次校验:
需要领料且未出库,不允许派工。
13.3 原任务数据覆盖风险
改制订单必须生成新的生产任务和新的工艺计划流水号。
不能直接覆盖原自制订单或原零件工艺,否则会影响原订单追溯、工时和质量记录。
13.4 取消改制风险
已生成领料单、已出库、已派工或已加工的改制订单取消规则需要严格控制。
建议:
- 未出库、未派工:允许取消。
- 已出库:需要退料后取消。
- 已派工未加工:先取消派工再取消。
- 已加工:不允许取消,只能走异常处理。
13.5 统计口径风险
改制订单进入精工生产任务后,会影响生产任务数量、工时统计、完工统计。
建议所有统计接口增加任务类型维度:
正常
改制
报废补投
14. 总结
本方案采用:
技术中心发起改制订单,精工车间承接生产,仓库按需出库,改制记录统一查询。
关键规则:
- 技术中心新增组件发起改制订单。
- 改制订单生成后进入精工车间生产任务查询。
- 改制订单工艺和派工复用现有精工流程。
- 领料时如果是改制订单,并且使用物料不是毛坯,则生成领料单,由仓库物料出库。
- 如果是原现自制订单改制,或者直接使用毛坯改制,则不生成领料单。
- 改制记录查询独立展示全流程状态。