更新装配、销售、精工车间、技术中心、仓储多个模块,整理文档和SQL脚本

This commit is contained in:
Developer
2026-06-29 13:36:34 +08:00
parent 137e276340
commit be0ff91e24
54 changed files with 5066 additions and 723 deletions

View File

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