更新装配、销售、精工车间、技术中心、仓储多个模块,整理文档和SQL脚本
This commit is contained in:
90
docs/零件改制/01-项目功能内容.md
Normal file
90
docs/零件改制/01-项目功能内容.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# 01-项目功能内容
|
||||
|
||||
## 1. 需求来源
|
||||
|
||||
因现场计件、派工生产、完工入库和后续追溯需要,将零件改制流程接入系统。该需求由罗总牵头,组织技术中心、精工车间、仓储等相关部门讨论后提出。
|
||||
|
||||
## 2. 应用场景
|
||||
|
||||
- 技术中心根据现场或订单需求发起零件改制订单。
|
||||
- 改制订单进入精工车间生产任务流程。
|
||||
- 精工车间在生产任务查询中查看改制任务。
|
||||
- 车间派工组件查看改制任务并派工。
|
||||
- MES 加工端按改制订单显示待加工任务。
|
||||
- 改制加工完成后按现有流程办理入库。
|
||||
- 改制记录用于查询原零件、改制零件、生产任务和加工状态。
|
||||
|
||||
## 3. 功能范围
|
||||
|
||||
### 3.1 技术中心
|
||||
|
||||
- 新增零件改制订单发起组件。
|
||||
- 左侧显示订单/产品列表。
|
||||
- 右侧显示所选产品下的所有零件。
|
||||
- 零件操作列提供“改制”按钮。
|
||||
- 点击“改制”后填写改制零件名称、改制零件图号、改制数量、精工期限。
|
||||
- 原零件图号和改制零件图号相同则禁止发起。
|
||||
|
||||
### 3.2 后端记录
|
||||
|
||||
- 新增或维护 `技术中心_改制订单记录`。
|
||||
- 记录原订单、原组件、原基本件、原零件名称、原零件图号。
|
||||
- 记录改制零件名称、改制零件图号、改制数量、精工期限。
|
||||
- 记录改制订单编号、发起人、发起时间、状态、是否删除。
|
||||
- 回写新生成的 `工艺计划流水号`。
|
||||
|
||||
### 3.3 精工车间
|
||||
|
||||
- 发起改制后自动生成精工车间生产任务。
|
||||
- 自动生成默认工艺 `改制`。
|
||||
- 工艺计划进入“工艺完成”状态,后续可进入派工。
|
||||
- 生产任务查询中优先显示改制订单编号、改制零件名称、改制零件图号。
|
||||
|
||||
### 3.4 MES 加工端
|
||||
|
||||
- MES 待加工显示关联改制记录。
|
||||
- 有改制订单时,订单号优先显示改制订单编号。
|
||||
- 通过 `工艺计划流水号` 关联改制记录,避免重复显示。
|
||||
|
||||
## 4. 编号规则
|
||||
|
||||
改制订单编号规则:
|
||||
|
||||
```text
|
||||
BHGZ + 年月日 + 4位顺序号
|
||||
```
|
||||
|
||||
示例:
|
||||
|
||||
```text
|
||||
BHGZ202606250001
|
||||
BHGZ-202606270010
|
||||
```
|
||||
|
||||
实际格式以数据库发起过程最终生成逻辑为准,但业务前缀固定为 `BHGZ`。
|
||||
|
||||
## 5. 核心流程
|
||||
|
||||
```text
|
||||
技术中心选择订单/产品
|
||||
-> 查询产品零件
|
||||
-> 点击零件改制
|
||||
-> 校验原图号与改制图号不同
|
||||
-> 生成改制订单记录
|
||||
-> 生成精工车间工艺计划
|
||||
-> 回写工艺计划流水号
|
||||
-> 自动添加默认工艺“改制”
|
||||
-> 生产任务查询显示改制任务
|
||||
-> 车间派工
|
||||
-> MES 加工
|
||||
-> 完工入库
|
||||
```
|
||||
|
||||
## 6. 不在当前范围内的内容
|
||||
|
||||
- 非毛坯物料改制自动生成领料单。
|
||||
- 仓库出库状态限制派工。
|
||||
- 改制订单取消、退料、异常处理。
|
||||
- 改制记录独立查询页面的完整开发。
|
||||
|
||||
这些内容作为后续扩展任务维护在任务矩阵中。
|
||||
258
docs/零件改制/02-项目程序开发详细步骤.md
Normal file
258
docs/零件改制/02-项目程序开发详细步骤.md
Normal file
@@ -0,0 +1,258 @@
|
||||
# 02-项目程序开发详细步骤
|
||||
|
||||
## 1. 前端开发步骤
|
||||
|
||||
### 1.1 新增组件
|
||||
|
||||
路径:
|
||||
|
||||
```text
|
||||
src/views/TechnologyCenter/PartModificationOrder/index.vue
|
||||
```
|
||||
|
||||
页面结构:
|
||||
|
||||
```text
|
||||
app-container
|
||||
-> el-card
|
||||
-> 左侧订单/产品表格
|
||||
-> 右侧零件表格
|
||||
-> 发起改制弹窗
|
||||
-> 图纸查看弹窗
|
||||
```
|
||||
|
||||
### 1.2 左侧订单/产品查询
|
||||
|
||||
订单下拉接口:
|
||||
|
||||
```text
|
||||
订单信息_列表_查询数据_bak
|
||||
```
|
||||
|
||||
要求:
|
||||
|
||||
- 不需要传订单编号时也可加载订单列表。
|
||||
- `label` 使用订单编号。
|
||||
- `value` 使用订单流水号。
|
||||
|
||||
订单/产品查询接口:
|
||||
|
||||
```text
|
||||
技术中心_改制订单_订单_查询
|
||||
```
|
||||
|
||||
要求:
|
||||
|
||||
- 传入下拉选择的订单流水号。
|
||||
- 显示订单编号、产品名称。
|
||||
- 相同数据去重显示由后端查询保证。
|
||||
|
||||
### 1.3 右侧零件查询
|
||||
|
||||
接口:
|
||||
|
||||
```text
|
||||
技术中心_改制订单_零件_查询
|
||||
```
|
||||
|
||||
要求:
|
||||
|
||||
- 点击左侧产品后查询对应零件。
|
||||
- 显示零件名称、零件图号、数量。
|
||||
- 操作列包含“查看图纸”和“改制”。
|
||||
|
||||
### 1.4 发起改制弹窗
|
||||
|
||||
弹窗字段:
|
||||
|
||||
```text
|
||||
原订单编号
|
||||
原零件名称
|
||||
原零件图号
|
||||
原数量
|
||||
改制零件名称
|
||||
改制零件图号
|
||||
改制数量
|
||||
精工期限
|
||||
```
|
||||
|
||||
提交前校验:
|
||||
|
||||
```js
|
||||
var oldDrawingNo = (this.form.原零件图号 || '').toString().trim()
|
||||
var newDrawingNo = (this.form.改制零件图号 || '').toString().trim()
|
||||
if (oldDrawingNo && newDrawingNo && oldDrawingNo === newDrawingNo) {
|
||||
this.$message.warning('改制零件图号不能与原零件图号相同')
|
||||
return
|
||||
}
|
||||
```
|
||||
|
||||
提交接口:
|
||||
|
||||
```text
|
||||
技术中心_改制订单_发起改制
|
||||
```
|
||||
|
||||
## 2. 数据库开发步骤
|
||||
|
||||
### 2.1 改制记录表
|
||||
|
||||
表:
|
||||
|
||||
```text
|
||||
技术中心_改制订单记录
|
||||
```
|
||||
|
||||
关键字段:
|
||||
|
||||
```text
|
||||
改制订单流水号
|
||||
改制订单编号
|
||||
原订单流水号
|
||||
原组件流水号
|
||||
原基本件流水号
|
||||
原零件名称
|
||||
原零件图号
|
||||
改制零件名称
|
||||
改制零件图号
|
||||
改制数量
|
||||
精工期限
|
||||
工艺计划流水号
|
||||
状态
|
||||
发起人
|
||||
发起时间
|
||||
是否删除
|
||||
```
|
||||
|
||||
字段补充 SQL:
|
||||
|
||||
```sql
|
||||
IF COL_LENGTH('dbo.技术中心_改制订单记录', '原零件名称') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.技术中心_改制订单记录
|
||||
ADD 原零件名称 nvarchar(50) NULL;
|
||||
END;
|
||||
|
||||
IF COL_LENGTH('dbo.技术中心_改制订单记录', '原零件图号') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.技术中心_改制订单记录
|
||||
ADD 原零件图号 nvarchar(50) NULL;
|
||||
END;
|
||||
|
||||
IF COL_LENGTH('dbo.技术中心_改制订单记录', '工艺计划流水号') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.技术中心_改制订单记录
|
||||
ADD 工艺计划流水号 int NULL;
|
||||
END;
|
||||
```
|
||||
|
||||
### 2.2 改制订单排序表
|
||||
|
||||
表:
|
||||
|
||||
```text
|
||||
技术中心_改制订单排序
|
||||
```
|
||||
|
||||
用途:
|
||||
|
||||
- 按年份记录改制订单顺序号。
|
||||
- 支持生成 `BHGZ + 年月日 + 4位顺序号`。
|
||||
|
||||
### 2.3 发起改制存储过程
|
||||
|
||||
过程:
|
||||
|
||||
```text
|
||||
技术中心_改制订单_发起改制
|
||||
```
|
||||
|
||||
主要步骤:
|
||||
|
||||
1. 校验参数。
|
||||
2. 后端校验原零件图号和改制零件图号不同。
|
||||
3. 查询原基本件流水号。
|
||||
4. 生成改制订单编号。
|
||||
5. 插入 `技术中心_改制订单记录`。
|
||||
6. 插入 `车间生产管理工艺_零件工艺计划`。
|
||||
7. 回写 `技术中心_改制订单记录.工艺计划流水号`。
|
||||
8. 查找或创建基础工艺 `改制`。
|
||||
9. 更新或插入 `车间生产管理工艺_零件工序`。
|
||||
10. 调用 `精工车间_工艺保存_派工`。
|
||||
11. 更新组件和订单为精工车间承接。
|
||||
|
||||
### 2.4 生产任务视图
|
||||
|
||||
视图:
|
||||
|
||||
```text
|
||||
车间生产管理_零件工艺计划_视图
|
||||
```
|
||||
|
||||
已调整:
|
||||
|
||||
```sql
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制零件名称, dbo.库存管理_物料主文件_基本.名称) AS 零件名称
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制零件图号, dbo.车间生产管理工艺_零件工艺计划.零件图号) AS 零件图号
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制订单编号, dbo.合同管理_订单信息_基础表.订单编号) AS 订单号
|
||||
```
|
||||
|
||||
关联:
|
||||
|
||||
```sql
|
||||
LEFT JOIN dbo.技术中心_改制订单记录
|
||||
ON dbo.车间生产管理工艺_零件工艺计划.工艺计划流水号 = dbo.技术中心_改制订单记录.工艺计划流水号
|
||||
AND ISNULL(dbo.技术中心_改制订单记录.是否删除, 0) = 0
|
||||
```
|
||||
|
||||
### 2.5 生产任务查询过程
|
||||
|
||||
过程:
|
||||
|
||||
```text
|
||||
精工车间_生成任务_查询数据
|
||||
```
|
||||
|
||||
注意事项:
|
||||
|
||||
- 主表已使用别名 `P`。
|
||||
- 动态筛选必须使用 `P.字段名`。
|
||||
- 不得再使用 `车间生产管理_零件工艺计划_视图.字段名`,否则会出现无法绑定多部分标识符错误。
|
||||
|
||||
正确示例:
|
||||
|
||||
```sql
|
||||
AND P.零件图号 LIKE '%' + @图号 + '%'
|
||||
AND P.操作日期 >= @开始时间
|
||||
AND P.操作日期 <= @结束时间
|
||||
```
|
||||
|
||||
### 2.6 MES 待加工显示
|
||||
|
||||
过程:
|
||||
|
||||
```text
|
||||
MES_机加工MES_零件待加工显示
|
||||
```
|
||||
|
||||
建议关联:
|
||||
|
||||
```sql
|
||||
LEFT JOIN 技术中心_改制订单记录 AS GZ
|
||||
ON V.工艺计划流水号 = GZ.工艺计划流水号
|
||||
AND ISNULL(GZ.是否删除, 0) = 0
|
||||
```
|
||||
|
||||
订单号显示:
|
||||
|
||||
```sql
|
||||
ISNULL(GZ.改制订单编号, V.订单号) AS 订单号
|
||||
```
|
||||
|
||||
## 3. 验证步骤
|
||||
|
||||
1. 前端运行 eslint。
|
||||
2. 查询改制记录是否回写工艺计划流水号。
|
||||
3. 查询生产任务视图显示字段是否与改制记录一致。
|
||||
4. 查询是否存在同一工艺计划流水号关联多条未删除改制记录。
|
||||
5. 用图号筛选生产任务查询过程,确认不再出现 4104 错误。
|
||||
29
docs/零件改制/03-推进台账.md
Normal file
29
docs/零件改制/03-推进台账.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# 03-推进台账
|
||||
|
||||
| 轮次 | 日期 | 做了什么 | 改了哪些文件/程序 | 验证了什么 | 下一步 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | 2026-06-23 | 梳理零件改制整体方案 | `零件改制功能设计方案.md` | 方案包含需求背景、应用场景、流程、表设计 | 生成 PDF 和流程图 |
|
||||
| 2 | 2026-06-23 | 生成设计方案 PDF 和流程图 | `零件改制功能设计方案.pdf`、`零件改制流程图.svg` | PDF 可打开,流程图包含入库节点 | 开始前端组件 |
|
||||
| 3 | 2026-06-24 | 新建零件改制组件 | `src/views/TechnologyCenter/PartModificationOrder/index.vue` | 修复动态路由加载 ENOENT | 调整查询接口 |
|
||||
| 4 | 2026-06-24 | 调整订单和零件查询接口 | `PartModificationOrder/index.vue` | 使用 `技术中心_改制订单_订单_查询`、`技术中心_改制订单_零件_查询` | 调整订单下拉 |
|
||||
| 5 | 2026-06-24 | 订单编号输入框改为下拉框 | `PartModificationOrder/index.vue` | 下拉数据来自 `订单信息_列表_查询数据_bak` | 参考 BOM 优化界面 |
|
||||
| 6 | 2026-06-24 | 参考 BOM 更换物料界面调整发起改制弹窗 | `PartModificationOrder/index.vue` | eslint 通过 | 开始后端存储过程设计 |
|
||||
| 7 | 2026-06-25 | 设计发起改制过程 | `技术中心_改制订单_发起改制` | 明确只分配到精工车间 | 增加改制记录表 |
|
||||
| 8 | 2026-06-25 | 增加改制订单记录表方案 | `技术中心_改制订单记录` | 明确记录字段和回写工艺计划流水号 | 增加订单号规则 |
|
||||
| 9 | 2026-06-25 | 设计改制订单号生成规则 | `技术中心_改制订单排序` | 规则为 `BHGZ + 年月日 + 4位顺序号` | 添加默认工艺 |
|
||||
| 10 | 2026-06-25 | 设计默认工艺 `改制` | `车间生产管理工艺_基础表_工艺名称`、`车间生产管理工艺_零件工序` | 明确不存在则新增基础工艺 | 调整 INSERT/UPDATE 工序逻辑 |
|
||||
| 11 | 2026-06-25 | 工序插入逻辑改为优先更新 | `技术中心_改制订单_发起改制` | 有默认空工序时更新,无则插入兜底 | 修改查询关联方式 |
|
||||
| 12 | 2026-06-25 | 查询关联由基本件流水号改为工艺计划流水号 | 生产任务查询、MES 待加工显示 SQL | 避免同一基本件多次改制重复显示 | 补充原零件信息字段 |
|
||||
| 13 | 2026-06-25 | 添加原零件名称、原零件图号 | `技术中心_改制订单记录`、发起过程 INSERT | 改制记录可追溯原零件 | 修改生产任务视图 |
|
||||
| 14 | 2026-06-27 | 修复生产任务显示的零件名称不是改制名称 | `车间生产管理_零件工艺计划_视图` | 抽样验证订单号/零件名称/图号与改制记录一致 | 生成测试报告 |
|
||||
| 15 | 2026-06-27 | 执行不污染数据的测试并生成测试报告 | `零件改制功能测试报告.md` | eslint 通过;显示不一致数为 0;重复关联数为 0 | 补历史数据或做真实流程验收 |
|
||||
| 16 | 2026-06-29 | 修复生产任务查询动态 SQL 别名绑定问题 | `精工车间_生成任务_查询数据` | 将动态条件统一改为 `P.字段名` | 执行数据库过程更新并页面验证 |
|
||||
| 17 | 2026-06-29 | 拆分标准化推进文档 | `docs/零件改制/README.md`、`01-06` 文档 | 文档结构完成 | 后续按任务矩阵继续推进 |
|
||||
|
||||
## 当前下一步
|
||||
|
||||
1. 将 `精工车间_生成任务_查询数据` 最新完整 SQL 应用到数据库。
|
||||
2. 使用图号 `XT40-07.01` 再次执行查询,确认不再出现 4104 错误。
|
||||
3. 使用一条业务允许的测试订单发起真实改制。
|
||||
4. 验证生产任务查询、车间派工、MES 待加工显示。
|
||||
5. 补齐 3 条历史未回写 `工艺计划流水号` 的改制记录,或确认无需处理。
|
||||
44
docs/零件改制/04-任务矩阵.md
Normal file
44
docs/零件改制/04-任务矩阵.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 04-任务矩阵
|
||||
|
||||
| 任务编号 | 任务名称 | 状态 | 验收标准 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| GZ-001 | 编写零件改制功能方案 | 已完成 | 文档包含需求背景、应用场景、现有流程承接、入库节点 | 已生成设计方案 |
|
||||
| GZ-002 | 生成方案 PDF 和流程图 | 已完成 | PDF 存在,流程图位置正确,流程包含入库 | 已生成 PDF/SVG |
|
||||
| GZ-003 | 新建技术中心改制组件 | 已完成 | 路由能加载 `PartModificationOrder/index.vue`,无 ENOENT | 已创建组件 |
|
||||
| GZ-004 | 左侧订单/产品查询 | 已完成 | 可通过订单编号下拉筛选订单/产品 | 使用 `技术中心_改制订单_订单_查询` |
|
||||
| GZ-005 | 订单编号下拉 | 已完成 | 下拉 label 为订单编号,value 为订单流水号 | 使用 `订单信息_列表_查询数据_bak` |
|
||||
| GZ-006 | 右侧零件查询 | 已完成 | 点击左侧产品后显示对应零件 | 使用 `技术中心_改制订单_零件_查询` |
|
||||
| GZ-007 | 发起改制弹窗 | 已完成 | 可录入改制零件名称、图号、数量、精工期限 | 参考 BOM 更换物料风格调整 |
|
||||
| GZ-008 | 图号一致校验 | 已完成 | 原零件图号与改制零件图号相同时禁止提交 | 前端已加,后端建议保留 |
|
||||
| GZ-009 | 改制订单记录表 | 已完成 | 表包含原零件、改制零件、工艺计划流水号等字段 | 需以数据库实际结构为准 |
|
||||
| GZ-010 | 改制订单编号生成 | 已完成 | 编号符合 `BHGZ + 年月日 + 4位顺序号` | 已设计排序表 |
|
||||
| GZ-011 | 发起改制后端过程 | 进行中 | 能生成改制记录、工艺计划、回写工艺计划流水号 | 需持续按数据库实际过程校验 |
|
||||
| GZ-012 | 默认工艺 `改制` | 进行中 | 基础工艺不存在时自动新增,工序默认改制 | 已提供 SQL 方案 |
|
||||
| GZ-013 | 工艺计划流水号回写 | 已完成 | 改制记录可通过工艺计划流水号关联生产任务 | 测试显示 7 条已回写 |
|
||||
| GZ-014 | 生产任务视图显示改制信息 | 已完成 | 改制任务订单号、零件名称、图号优先取改制记录 | 已修改视图并验证 |
|
||||
| GZ-015 | 生产任务查询动态 SQL 修复 | 待执行验证 | 图号筛选不再报 4104,排序正常 | 需应用完整 SQL |
|
||||
| GZ-016 | MES 待加工显示改制单号 | 待联调 | MES 端改制任务订单号显示 BHGZ 编号 | 已给 SQL 方案 |
|
||||
| GZ-017 | 车间派工显示改制单号 | 待联调 | 派工页订单号、零件名称、图号显示改制信息 | 依赖视图或查询调整 |
|
||||
| GZ-018 | 改制记录查询页面 | 待开发 | 可按改制订单号、原订单、零件图号查询记录 | 后续新增 |
|
||||
| GZ-019 | 历史记录回写处理 | 待确认 | 未回写工艺计划流水号的历史记录明确处理方式 | 当前有 3 条未回写 |
|
||||
| GZ-020 | 完整业务流验收 | 待验收 | 使用测试订单完成发起、生产任务、派工、MES、入库验证 | 需业务允许测试数据 |
|
||||
|
||||
## 状态说明
|
||||
|
||||
| 状态 | 含义 |
|
||||
| --- | --- |
|
||||
| 已完成 | 已实现并至少完成基础验证 |
|
||||
| 进行中 | 已有实现方案或部分实现,仍需数据库/页面联调确认 |
|
||||
| 待执行验证 | 已提供修改 SQL,但需要在数据库执行并验证 |
|
||||
| 待联调 | 依赖上下游页面或接口,需要真实流程验证 |
|
||||
| 待开发 | 尚未开始编码或建库 |
|
||||
| 待确认 | 需要业务或数据归属确认 |
|
||||
| 待验收 | 功能已基本闭环,需要按验收场景跑通 |
|
||||
|
||||
## 后续推进优先级
|
||||
|
||||
1. `GZ-015`:先修复生产任务查询动态 SQL。
|
||||
2. `GZ-020`:选择测试订单跑完整流程。
|
||||
3. `GZ-016`、`GZ-017`:验证 MES 和车间派工显示。
|
||||
4. `GZ-019`:确认历史未回写记录是否需要补数据。
|
||||
5. `GZ-018`:开发改制记录查询页面。
|
||||
149
docs/零件改制/05-验收证据.md
Normal file
149
docs/零件改制/05-验收证据.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 05-验收证据
|
||||
|
||||
## 1. 前端检查证据
|
||||
|
||||
组件文件:
|
||||
|
||||
```text
|
||||
D:\景耀\JY1.0\src\views\TechnologyCenter\PartModificationOrder\index.vue
|
||||
```
|
||||
|
||||
执行命令:
|
||||
|
||||
```bash
|
||||
npx eslint --ext .vue D:\景耀\JY1.0\src\views\TechnologyCenter\PartModificationOrder\index.vue
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
通过
|
||||
```
|
||||
|
||||
备注:
|
||||
|
||||
- 命令输出中出现 npm 日志目录权限警告,不影响 eslint 检查结果。
|
||||
|
||||
## 2. 设计文档证据
|
||||
|
||||
| 文件 | 说明 |
|
||||
| --- | --- |
|
||||
| `docs/零件改制/零件改制功能设计方案.md` | 设计方案 Markdown |
|
||||
| `docs/零件改制/零件改制功能设计方案.pdf` | 设计方案 PDF |
|
||||
| `docs/零件改制/零件改制流程图.svg` | 改制流程图 |
|
||||
| `docs/零件改制/零件改制功能开发说明.md` | 汇总版开发说明 |
|
||||
| `docs/零件改制/零件改制功能测试报告.md` | 测试报告 |
|
||||
|
||||
## 3. 数据库视图修改证据
|
||||
|
||||
已修改视图:
|
||||
|
||||
```text
|
||||
dbo.车间生产管理_零件工艺计划_视图
|
||||
```
|
||||
|
||||
关键显示逻辑:
|
||||
|
||||
```sql
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制零件名称, dbo.库存管理_物料主文件_基本.名称) AS 零件名称
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制零件图号, dbo.车间生产管理工艺_零件工艺计划.零件图号) AS 零件图号
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制订单编号, dbo.合同管理_订单信息_基础表.订单编号) AS 订单号
|
||||
```
|
||||
|
||||
关键关联逻辑:
|
||||
|
||||
```sql
|
||||
LEFT JOIN dbo.技术中心_改制订单记录
|
||||
ON dbo.车间生产管理工艺_零件工艺计划.工艺计划流水号 = dbo.技术中心_改制订单记录.工艺计划流水号
|
||||
AND ISNULL(dbo.技术中心_改制订单记录.是否删除, 0) = 0
|
||||
```
|
||||
|
||||
## 4. 数据库验证证据
|
||||
|
||||
执行 SQL:
|
||||
|
||||
```sql
|
||||
SELECT
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 WHERE ISNULL(是否删除,0)=0) AS 改制记录数,
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 WHERE ISNULL(是否删除,0)=0 AND 工艺计划流水号 IS NOT NULL) AS 已回写工艺计划数,
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 GZ INNER JOIN dbo.车间生产管理_零件工艺计划_视图 V ON GZ.工艺计划流水号 = V.工艺计划流水号 WHERE ISNULL(GZ.是否删除,0)=0) AS 视图可关联数,
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 GZ INNER JOIN dbo.车间生产管理_零件工艺计划_视图 V ON GZ.工艺计划流水号 = V.工艺计划流水号 WHERE ISNULL(GZ.是否删除,0)=0 AND (ISNULL(V.订单号,'') <> ISNULL(GZ.改制订单编号,'') OR ISNULL(V.零件名称,'') <> ISNULL(GZ.改制零件名称,'') OR ISNULL(V.零件图号,'') <> ISNULL(GZ.改制零件图号,''))) AS 显示不一致数,
|
||||
(SELECT COUNT(*) FROM (SELECT 工艺计划流水号 FROM dbo.技术中心_改制订单记录 WHERE ISNULL(是否删除,0)=0 AND 工艺计划流水号 IS NOT NULL GROUP BY 工艺计划流水号 HAVING COUNT(*) > 1) T) AS 工艺计划重复关联数;
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
| 改制记录数 | 已回写工艺计划数 | 视图可关联数 | 显示不一致数 | 工艺计划重复关联数 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 10 | 7 | 7 | 0 | 0 |
|
||||
|
||||
结论:
|
||||
|
||||
- 已回写工艺计划流水号的改制记录均可关联生产任务视图。
|
||||
- 订单号、零件名称、零件图号显示一致。
|
||||
- 未发现重复关联。
|
||||
|
||||
## 5. 抽样验证证据
|
||||
|
||||
执行 SQL:
|
||||
|
||||
```sql
|
||||
SELECT TOP 5
|
||||
V.工艺计划流水号,
|
||||
V.订单号,
|
||||
V.零件名称,
|
||||
V.零件图号,
|
||||
GZ.改制订单编号,
|
||||
GZ.改制零件名称,
|
||||
GZ.改制零件图号
|
||||
FROM dbo.车间生产管理_零件工艺计划_视图 V
|
||||
INNER JOIN dbo.技术中心_改制订单记录 GZ
|
||||
ON V.工艺计划流水号 = GZ.工艺计划流水号
|
||||
WHERE ISNULL(GZ.是否删除,0)=0
|
||||
ORDER BY GZ.改制订单流水号 DESC;
|
||||
```
|
||||
|
||||
抽样结果:
|
||||
|
||||
| 工艺计划流水号 | 订单号 | 零件名称 | 零件图号 | 改制订单编号 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 6590 | BHGZ-202606270010 | 从动同步带轮(8M50T50W-45) | XT40-2-BT40-14.09-G | BHGZ-202606270010 |
|
||||
| 6589 | BHGZ-202606260009 | 防水挡盖 | XT20-02-G | BHGZ-202606260009 |
|
||||
| 6588 | BHGZ-202606250008 | 止刀键 | XT30-2-01-G | BHGZ-202606250008 |
|
||||
| 6587 | BHGZ202606250007 | 箱体前盖 | XT30-1-MB-01-G | BHGZ202606250007 |
|
||||
| 6586 | BHGZ202606250006 | 箱体 | XT30-2-MF-02-G | BHGZ202606250006 |
|
||||
|
||||
## 6. 错误与修复证据
|
||||
|
||||
错误:
|
||||
|
||||
```text
|
||||
消息 4104,级别 16,状态 1
|
||||
无法绑定由多个部分组成的标识符 "车间生产管理_零件工艺计划_视图.零件图号"。
|
||||
```
|
||||
|
||||
原因:
|
||||
|
||||
```sql
|
||||
FROM 车间生产管理_零件工艺计划_视图 AS P
|
||||
```
|
||||
|
||||
主表已经使用别名 `P`,动态 SQL 条件中不能继续写原表名。
|
||||
|
||||
修复:
|
||||
|
||||
```sql
|
||||
AND P.零件图号 LIKE '%' + @图号 + '%'
|
||||
AND P.操作日期 >= @开始时间
|
||||
AND P.操作日期 <= @结束时间
|
||||
```
|
||||
|
||||
## 7. 待补充证据
|
||||
|
||||
| 证据 | 状态 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 生产任务查询页面截图 | 待补充 | 需页面打开后截图 |
|
||||
| 车间派工页面截图 | 待补充 | 需选择改制任务后截图 |
|
||||
| MES 待加工页面截图 | 待补充 | 需现场终端或模拟终端截图 |
|
||||
| 真实发起改制 job_id/report_id | 暂无 | 当前未通过自动化任务创建真实业务数据 |
|
||||
| 完整流程测试报告 | 待补充 | 需业务允许测试数据后生成 |
|
||||
81
docs/零件改制/06-决策记录.md
Normal file
81
docs/零件改制/06-决策记录.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# 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` 文档用于后续推进和任务管理,原设计方案、开发说明、测试报告保留作为上下文证据,避免历史决策丢失。
|
||||
32
docs/零件改制/README.md
Normal file
32
docs/零件改制/README.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 零件改制功能文档索引
|
||||
|
||||
本目录用于维护“零件改制”功能的设计、开发、推进、验收和决策资料。后续继续开发时,优先从任务矩阵进入,避免重复开发和遗漏验收。
|
||||
|
||||
## 文档目录
|
||||
|
||||
| 序号 | 文档 | 用途 |
|
||||
| --- | --- | --- |
|
||||
| 01 | [01-项目功能内容.md](./01-项目功能内容.md) | 说明需求来源、业务场景、功能范围和流程边界 |
|
||||
| 02 | [02-项目程序开发详细步骤.md](./02-项目程序开发详细步骤.md) | 记录前端、后端、数据库、查询接口的开发步骤 |
|
||||
| 03 | [03-推进台账.md](./03-推进台账.md) | 记录每轮做了什么、改了哪些文件、验证了什么、下一步是什么 |
|
||||
| 04 | [04-任务矩阵.md](./04-任务矩阵.md) | 按任务编号维护状态和验收标准,作为后续推进入口 |
|
||||
| 05 | [05-验收证据.md](./05-验收证据.md) | 汇总命令、SQL、页面、PDF、报告等证据 |
|
||||
| 06 | [06-决策记录.md](./06-决策记录.md) | 记录关键技术和业务决策,减少后续重复争论 |
|
||||
|
||||
## 现有辅助文档
|
||||
|
||||
| 文档 | 说明 |
|
||||
| --- | --- |
|
||||
| [零件改制功能设计方案.md](./零件改制功能设计方案.md) | 原始功能设计方案 |
|
||||
| [零件改制功能设计方案.pdf](./零件改制功能设计方案.pdf) | 设计方案 PDF |
|
||||
| [零件改制流程图.svg](./零件改制流程图.svg) | 改制流程图 |
|
||||
| [零件改制功能开发说明.md](./零件改制功能开发说明.md) | 早期汇总版开发说明 |
|
||||
| [零件改制功能测试报告.md](./零件改制功能测试报告.md) | 早期测试报告 |
|
||||
|
||||
## 当前推进建议
|
||||
|
||||
1. 先查看 [04-任务矩阵.md](./04-任务矩阵.md),确认任务状态。
|
||||
2. 如继续开发,按未完成任务编号推进。
|
||||
3. 每完成一轮修改,同步更新 [03-推进台账.md](./03-推进台账.md)。
|
||||
4. 每次验证后,同步补充 [05-验收证据.md](./05-验收证据.md)。
|
||||
5. 如出现影响后续实现方式的选择,同步补充 [06-决策记录.md](./06-决策记录.md)。
|
||||
301
docs/零件改制/零件改制功能开发说明.md
Normal file
301
docs/零件改制/零件改制功能开发说明.md
Normal file
@@ -0,0 +1,301 @@
|
||||
# 零件改制功能开发说明
|
||||
|
||||
## 01-功能内容
|
||||
|
||||
### 1.1 需求来源
|
||||
|
||||
因现场计件和生产过程追溯需要,将零件改制流程接入系统管理。该需求由罗总牵头,组织技术中心、精工车间、仓储等相关部门讨论后提出。
|
||||
|
||||
### 1.2 应用场景
|
||||
|
||||
- 技术中心根据现场或订单需求发起零件改制订单。
|
||||
- 改制订单进入精工车间生产流程。
|
||||
- 精工车间可在生产任务查询中查看改制任务。
|
||||
- 车间派工可查看改制任务并进行派工。
|
||||
- MES 加工端显示改制订单编号,现场按改制任务加工。
|
||||
- 改制过程形成记录,便于后续查询、统计、追溯。
|
||||
|
||||
### 1.3 功能范围
|
||||
|
||||
- 技术中心新增“零件改制订单发起”组件。
|
||||
- 左侧显示订单/产品,右侧显示所选产品下的零件。
|
||||
- 点击零件操作列“改制”按钮后弹窗发起改制。
|
||||
- 发起改制时要求改制零件图号不能与原零件图号相同。
|
||||
- 后端生成改制订单编号,规则为:`BHGZ + 年月日 + 4位顺序号`。
|
||||
- 后端写入 `技术中心_改制订单记录`。
|
||||
- 后端生成精工车间工艺计划任务。
|
||||
- 后端自动添加默认工艺 `改制`。
|
||||
- 改制记录表回写 `工艺计划流水号`,后续查询统一按该字段关联。
|
||||
- 生产任务、派工、MES 待加工显示改制订单编号。
|
||||
|
||||
## 02-程序开发步骤
|
||||
|
||||
### 2.1 前端组件
|
||||
|
||||
文件:
|
||||
|
||||
```text
|
||||
src/views/TechnologyCenter/PartModificationOrder/index.vue
|
||||
```
|
||||
|
||||
开发步骤:
|
||||
|
||||
1. 新建技术中心零件改制组件目录和 `index.vue`。
|
||||
2. 左侧订单下拉使用 `订单信息_列表_查询数据_bak` 获取订单列表。
|
||||
3. 左侧订单/产品查询使用 `技术中心_改制订单_订单_查询`。
|
||||
4. 点击左侧产品后,右侧零件列表使用 `技术中心_改制订单_零件_查询`。
|
||||
5. 右侧零件表格增加操作列,提供“查看图纸”和“改制”按钮。
|
||||
6. 参考 BOM 查询/维护组件“更换物料”交互调整改制弹窗。
|
||||
7. 发起改制提交前判断:
|
||||
|
||||
```js
|
||||
var oldDrawingNo = (this.form.原零件图号 || '').toString().trim()
|
||||
var newDrawingNo = (this.form.改制零件图号 || '').toString().trim()
|
||||
if (oldDrawingNo && newDrawingNo && oldDrawingNo === newDrawingNo) {
|
||||
this.$message.warning('改制零件图号不能与原零件图号相同')
|
||||
return
|
||||
}
|
||||
```
|
||||
|
||||
8. 提交接口使用 `技术中心_改制订单_发起改制`。
|
||||
|
||||
### 2.2 后端表结构
|
||||
|
||||
新增或维护表:
|
||||
|
||||
```sql
|
||||
技术中心_改制订单记录
|
||||
技术中心_改制订单排序
|
||||
```
|
||||
|
||||
`技术中心_改制订单记录` 需要包含关键字段:
|
||||
|
||||
```text
|
||||
改制订单流水号
|
||||
改制订单编号
|
||||
原订单流水号
|
||||
原组件流水号
|
||||
原基本件流水号
|
||||
原零件名称
|
||||
原零件图号
|
||||
改制零件名称
|
||||
改制零件图号
|
||||
改制数量
|
||||
精工期限
|
||||
工艺计划流水号
|
||||
状态
|
||||
发起人
|
||||
发起时间
|
||||
是否删除
|
||||
```
|
||||
|
||||
如字段不存在,执行:
|
||||
|
||||
```sql
|
||||
IF COL_LENGTH('dbo.技术中心_改制订单记录', '原零件名称') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.技术中心_改制订单记录
|
||||
ADD 原零件名称 nvarchar(50) NULL;
|
||||
END;
|
||||
|
||||
IF COL_LENGTH('dbo.技术中心_改制订单记录', '原零件图号') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.技术中心_改制订单记录
|
||||
ADD 原零件图号 nvarchar(50) NULL;
|
||||
END;
|
||||
|
||||
IF COL_LENGTH('dbo.技术中心_改制订单记录', '工艺计划流水号') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.技术中心_改制订单记录
|
||||
ADD 工艺计划流水号 int NULL;
|
||||
END;
|
||||
```
|
||||
|
||||
### 2.3 后端发起改制过程
|
||||
|
||||
存储过程:
|
||||
|
||||
```text
|
||||
技术中心_改制订单_发起改制
|
||||
```
|
||||
|
||||
处理步骤:
|
||||
|
||||
1. 校验原订单流水号、原组件流水号、改制零件名称、改制零件图号、改制数量。
|
||||
2. 后端再次校验原零件图号和改制零件图号不能相同。
|
||||
3. 生成改制订单编号。
|
||||
4. 插入 `技术中心_改制订单记录`。
|
||||
5. 插入 `车间生产管理工艺_零件工艺计划`。
|
||||
6. 回写 `技术中心_改制订单记录.工艺计划流水号`。
|
||||
7. 查询基础工艺表是否存在 `改制`。
|
||||
8. 不存在则插入 `车间生产管理工艺_基础表_工艺名称`。
|
||||
9. 更新或插入 `车间生产管理工艺_零件工序`,默认工艺为 `改制`。
|
||||
10. 调用或复用 `精工车间_工艺保存_派工`,将工艺计划推进到工艺完成状态。
|
||||
11. 更新原组件和原订单为精工车间承接。
|
||||
|
||||
### 2.4 查询接口调整
|
||||
|
||||
需要调整的查询:
|
||||
|
||||
```text
|
||||
精工车间生产任务查询
|
||||
MES_机加工MES_零件待加工显示
|
||||
车间派工相关查询
|
||||
```
|
||||
|
||||
关联方式统一改为:
|
||||
|
||||
```sql
|
||||
LEFT JOIN 技术中心_改制订单记录 AS GZ
|
||||
ON 主表.工艺计划流水号 = GZ.工艺计划流水号
|
||||
AND ISNULL(GZ.是否删除, 0) = 0
|
||||
```
|
||||
|
||||
订单号显示规则:
|
||||
|
||||
```sql
|
||||
ISNULL(GZ.改制订单编号, 原订单号) AS 订单号
|
||||
```
|
||||
|
||||
## 03-推进台账
|
||||
|
||||
| 轮次 | 工作内容 | 修改文件/程序 | 验证内容 | 下一步 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | 梳理零件改制流程方案 | `零件改制功能设计方案.md` | 方案内容、流程承接关系、入库节点 | 生成 PDF 和流程图 |
|
||||
| 2 | 生成方案 PDF 和流程图 | `part-modification-plan.html`、`part-modification-plan.pdf` | PDF 文件生成、流程图位置调整 | 开发前端组件 |
|
||||
| 3 | 新建零件改制组件 | `src/views/TechnologyCenter/PartModificationOrder/index.vue` | 组件路径、动态路由加载不再报 ENOENT | 调整查询接口 |
|
||||
| 4 | 查询接口调整 | `PartModificationOrder/index.vue` | 订单查询、零件查询接口名调整 | 优化界面 |
|
||||
| 5 | 参考 BOM 更换物料功能调整界面 | `PartModificationOrder/index.vue` | 弹窗交互、物料选择样式、eslint | 后端过程设计 |
|
||||
| 6 | 设计发起改制后端过程 | `技术中心_改制订单_发起改制` | 生成改制记录、生成精工任务 | 增加改制订单编号规则 |
|
||||
| 7 | 改制订单编号规则 | `技术中心_改制订单排序`、发起过程 | `BHGZ + 年月日 + 4位顺序号` | 增加默认工艺 |
|
||||
| 8 | 增加默认工艺 `改制` | 发起过程、基础工艺表、零件工序表 | 自动添加默认工艺并推进到工艺完成 | 查询显示改制订单号 |
|
||||
| 9 | 查询关联改制记录 | 生产任务查询、MES 待加工显示 | 订单号优先显示改制订单编号 | 完善验收 |
|
||||
| 10 | 增加原零件信息字段 | `技术中心_改制订单记录`、发起过程 | 记录原零件名称、原零件图号 | 联调完整流程 |
|
||||
|
||||
## 04-任务矩阵
|
||||
|
||||
| 任务编号 | 任务名称 | 状态 | 验收标准 |
|
||||
| --- | --- | --- | --- |
|
||||
| GZ-001 | 编写零件改制功能方案 | 已完成 | 文档包含背景、场景、流程、表设计、接口设计 |
|
||||
| GZ-002 | 生成 PDF 和流程图 | 已完成 | PDF 存在,流程图位置正确,流程包含入库 |
|
||||
| GZ-003 | 新建技术中心改制组件 | 已完成 | 路由可加载 `PartModificationOrder/index.vue` |
|
||||
| GZ-004 | 左侧订单/产品查询 | 已完成 | 可通过订单编号下拉筛选并显示订单/产品 |
|
||||
| GZ-005 | 右侧零件查询 | 已完成 | 点击左侧产品后显示对应零件 |
|
||||
| GZ-006 | 发起改制弹窗 | 已完成 | 可录入改制零件名称、图号、数量、精工期限 |
|
||||
| GZ-007 | 图号一致校验 | 已完成 | 原零件图号与改制零件图号相同时禁止提交 |
|
||||
| GZ-008 | 改制订单记录表 | 待数据库执行 | 表包含原零件和改制零件信息 |
|
||||
| GZ-009 | 改制订单编号生成 | 待数据库执行 | 编号符合 `BHGZyyyyMMdd0001` 规则 |
|
||||
| GZ-010 | 发起改制后端过程 | 待数据库执行 | 成功写入记录并返回改制订单编号、工艺计划流水号 |
|
||||
| GZ-011 | 默认工艺 `改制` | 待数据库执行 | 基础工艺不存在时自动创建,工序默认改制 |
|
||||
| GZ-012 | 工艺计划流水号回写 | 待数据库执行 | 改制记录表能通过工艺计划流水号关联生产任务 |
|
||||
| GZ-013 | 生产任务查询显示改制单号 | 待联调 | 改制任务显示改制订单编号,非改制任务显示原订单号 |
|
||||
| GZ-014 | MES 待加工显示改制单号 | 待联调 | 加工端订单号优先显示改制订单编号 |
|
||||
| GZ-015 | 改制记录查询 | 待开发 | 可按改制订单编号、原订单、零件图号查询记录 |
|
||||
|
||||
## 05-验收证据
|
||||
|
||||
### 5.1 前端文件
|
||||
|
||||
```text
|
||||
D:\景耀\JY1.0\src\views\TechnologyCenter\PartModificationOrder\index.vue
|
||||
```
|
||||
|
||||
### 5.2 文档与 PDF
|
||||
|
||||
```text
|
||||
D:\景耀\JY1.0\零件改制功能设计方案.md
|
||||
D:\景耀\JY1.0\part-modification-plan.html
|
||||
D:\景耀\JY1.0\part-modification-plan.pdf
|
||||
```
|
||||
|
||||
### 5.3 已执行验证命令
|
||||
|
||||
```bash
|
||||
npx eslint --ext .vue D:\景耀\JY1.0\src\views\TechnologyCenter\PartModificationOrder\index.vue
|
||||
```
|
||||
|
||||
结果:已通过。
|
||||
|
||||
### 5.4 关键 SQL 验收点
|
||||
|
||||
发起改制成功后应能查到:
|
||||
|
||||
```sql
|
||||
SELECT *
|
||||
FROM 技术中心_改制订单记录
|
||||
WHERE 改制订单编号 LIKE 'BHGZ%';
|
||||
```
|
||||
|
||||
改制记录应回写工艺计划流水号:
|
||||
|
||||
```sql
|
||||
SELECT 改制订单编号, 原零件名称, 原零件图号, 改制零件名称, 改制零件图号, 工艺计划流水号
|
||||
FROM 技术中心_改制订单记录
|
||||
WHERE 工艺计划流水号 IS NOT NULL;
|
||||
```
|
||||
|
||||
默认工艺应生成:
|
||||
|
||||
```sql
|
||||
SELECT *
|
||||
FROM 车间生产管理工艺_基础表_工艺名称
|
||||
WHERE 工艺名称 = N'改制';
|
||||
```
|
||||
|
||||
默认工序应生成或被更新:
|
||||
|
||||
```sql
|
||||
SELECT *
|
||||
FROM 车间生产管理工艺_零件工序
|
||||
WHERE 工艺计划流水号 = @工艺计划流水号;
|
||||
```
|
||||
|
||||
### 5.5 页面验收点
|
||||
|
||||
- 技术中心零件改制页面可以正常打开。
|
||||
- 订单编号下拉可选择订单。
|
||||
- 左侧订单/产品数据去重显示。
|
||||
- 点击左侧产品后,右侧显示零件。
|
||||
- 点击“改制”打开弹窗。
|
||||
- 改制零件图号与原图号相同时,页面阻止提交。
|
||||
- 改制提交成功后返回成功提示。
|
||||
- 精工车间生产任务查询可看到改制任务。
|
||||
- MES 待加工显示中,改制任务订单号显示为 `BHGZ...`。
|
||||
|
||||
## 06-决策记录
|
||||
|
||||
### 6.1 为什么改制订单号使用独立编号
|
||||
|
||||
改制订单不是原销售订单,也不是普通生产订单。使用 `BHGZ + 年月日 + 4位顺序号` 可以明确区分补货改制任务,便于车间识别、计件统计和后续追溯。
|
||||
|
||||
### 6.2 为什么改制记录表要保存工艺计划流水号
|
||||
|
||||
早期临时方案按 `原基本件流水号` 关联改制记录,但同一个基本件可能多次改制,会导致生产任务或 MES 待加工数据重复显示。最终决定在发起改制时回写 `工艺计划流水号`,后续查询统一按 `工艺计划流水号` 关联,保证一对一。
|
||||
|
||||
### 6.3 为什么需要保存原零件名称和原零件图号
|
||||
|
||||
改制后零件名称和图号会变化,如果只保存改制后的信息,后续无法准确追溯改制来源。增加 `原零件名称`、`原零件图号` 后,改制记录可以完整展示“从哪个零件改成哪个零件”。
|
||||
|
||||
### 6.4 为什么前后端都校验图号不能相同
|
||||
|
||||
前端校验用于提升用户体验,避免无效提交。后端校验用于保证数据安全,防止绕过前端直接调用接口造成无意义改制记录。
|
||||
|
||||
### 6.5 为什么默认工艺设为 `改制`
|
||||
|
||||
改制任务进入精工车间后,需要可派工、可加工、可计件。如果每次都人工制定工艺,会增加现场操作成本。自动添加默认工艺 `改制` 后,改制任务可以快速进入派工和生产流程。
|
||||
|
||||
### 6.6 为什么不继续按基本件流水号关联改制记录
|
||||
|
||||
基本件流水号代表原零件来源,不代表某一次具体改制任务。改制任务真正进入车间后,对应的是新生成的 `工艺计划流水号`。因此正式查询必须按 `工艺计划流水号` 关联,避免重复数据和错误显示。
|
||||
|
||||
### 6.7 为什么生产任务和 MES 显示改制订单编号
|
||||
|
||||
现场需要识别当前任务是改制任务,并且计件、派工、加工、入库都需要统一单号。生产任务和 MES 端优先显示改制订单编号,可以减少现场沟通成本。
|
||||
|
||||
## 后续建议
|
||||
|
||||
1. 补充 `技术中心_改制订单_记录_查询` 接口。
|
||||
2. 建立改制记录查询页面。
|
||||
3. 对生产任务查询、车间派工、MES 待加工显示做完整联调。
|
||||
4. 补充改制任务取消、退料、异常处理规则。
|
||||
5. 如后续恢复“非毛坯物料改制需要领料”,再扩展领料单生成与仓库出库状态。
|
||||
187
docs/零件改制/零件改制功能测试报告.md
Normal file
187
docs/零件改制/零件改制功能测试报告.md
Normal file
@@ -0,0 +1,187 @@
|
||||
# 零件改制功能测试报告
|
||||
|
||||
## 1. 测试范围
|
||||
|
||||
本次测试针对零件改制功能近期修改内容进行验证,重点覆盖:
|
||||
|
||||
- 技术中心发起零件改制组件静态检查。
|
||||
- `车间生产管理_零件工艺计划_视图` 改制记录关联验证。
|
||||
- 改制订单编号、改制零件名称、改制零件图号在生产任务数据源中的显示验证。
|
||||
- `技术中心_改制订单记录.工艺计划流水号` 回写数据检查。
|
||||
- 改制记录与工艺计划一对一关联检查,避免重复显示。
|
||||
|
||||
本次测试未新建真实改制订单,避免污染业务数据。
|
||||
|
||||
## 2. 测试环境
|
||||
|
||||
| 项目 | 内容 |
|
||||
| --- | --- |
|
||||
| 前端项目 | `D:\景耀\JY1.0` |
|
||||
| 数据库 | `ERPTOOL_JY_20250826Back` |
|
||||
| SQL Server | 内网 SQL Server |
|
||||
| 测试日期 | 2026-06-27 |
|
||||
| 测试方式 | 前端静态检查 + 数据库只读查询验证 |
|
||||
|
||||
## 3. 测试项
|
||||
|
||||
### 3.1 前端组件静态检查
|
||||
|
||||
测试对象:
|
||||
|
||||
```text
|
||||
D:\景耀\JY1.0\src\views\TechnologyCenter\PartModificationOrder\index.vue
|
||||
```
|
||||
|
||||
执行命令:
|
||||
|
||||
```bash
|
||||
npx eslint --ext .vue D:\景耀\JY1.0\src\views\TechnologyCenter\PartModificationOrder\index.vue
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
通过
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
- 组件语法与 eslint 规则检查通过。
|
||||
- 命令输出中存在 npm 日志目录权限警告,不影响组件检查结果。
|
||||
|
||||
### 3.2 改制记录回写检查
|
||||
|
||||
执行 SQL:
|
||||
|
||||
```sql
|
||||
SELECT
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 WHERE ISNULL(是否删除,0)=0) AS 改制记录数,
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 WHERE ISNULL(是否删除,0)=0 AND 工艺计划流水号 IS NOT NULL) AS 已回写工艺计划数,
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 GZ INNER JOIN dbo.车间生产管理_零件工艺计划_视图 V ON GZ.工艺计划流水号 = V.工艺计划流水号 WHERE ISNULL(GZ.是否删除,0)=0) AS 视图可关联数,
|
||||
(SELECT COUNT(*) FROM dbo.技术中心_改制订单记录 GZ INNER JOIN dbo.车间生产管理_零件工艺计划_视图 V ON GZ.工艺计划流水号 = V.工艺计划流水号 WHERE ISNULL(GZ.是否删除,0)=0 AND (ISNULL(V.订单号,'') <> ISNULL(GZ.改制订单编号,'') OR ISNULL(V.零件名称,'') <> ISNULL(GZ.改制零件名称,'') OR ISNULL(V.零件图号,'') <> ISNULL(GZ.改制零件图号,''))) AS 显示不一致数,
|
||||
(SELECT COUNT(*) FROM (SELECT 工艺计划流水号 FROM dbo.技术中心_改制订单记录 WHERE ISNULL(是否删除,0)=0 AND 工艺计划流水号 IS NOT NULL GROUP BY 工艺计划流水号 HAVING COUNT(*) > 1) T) AS 工艺计划重复关联数;
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
| 改制记录数 | 已回写工艺计划数 | 视图可关联数 | 显示不一致数 | 工艺计划重复关联数 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 10 | 7 | 7 | 0 | 0 |
|
||||
|
||||
结论:
|
||||
|
||||
- 当前共有 10 条未删除改制记录。
|
||||
- 其中 7 条已回写 `工艺计划流水号`。
|
||||
- 已回写的 7 条均可通过 `车间生产管理_零件工艺计划_视图` 关联到生产任务。
|
||||
- 关联后的订单号、零件名称、零件图号与改制记录一致,不一致数量为 0。
|
||||
- 未发现同一 `工艺计划流水号` 对应多条未删除改制记录的情况。
|
||||
|
||||
### 3.3 改制任务显示字段抽样检查
|
||||
|
||||
执行 SQL:
|
||||
|
||||
```sql
|
||||
SELECT TOP 5
|
||||
V.工艺计划流水号,
|
||||
V.订单号,
|
||||
V.零件名称,
|
||||
V.零件图号,
|
||||
GZ.改制订单编号,
|
||||
GZ.改制零件名称,
|
||||
GZ.改制零件图号
|
||||
FROM dbo.车间生产管理_零件工艺计划_视图 V
|
||||
INNER JOIN dbo.技术中心_改制订单记录 GZ
|
||||
ON V.工艺计划流水号 = GZ.工艺计划流水号
|
||||
WHERE ISNULL(GZ.是否删除,0)=0
|
||||
ORDER BY GZ.改制订单流水号 DESC;
|
||||
```
|
||||
|
||||
抽样结果:
|
||||
|
||||
| 工艺计划流水号 | 订单号 | 零件名称 | 零件图号 | 改制订单编号 | 改制零件名称 | 改制零件图号 |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| 6590 | BHGZ-202606270010 | 从动同步带轮(8M50T50W-45) | XT40-2-BT40-14.09-G | BHGZ-202606270010 | 从动同步带轮(8M50T50W-45) | XT40-2-BT40-14.09-G |
|
||||
| 6589 | BHGZ-202606260009 | 防水挡盖 | XT20-02-G | BHGZ-202606260009 | 防水挡盖 | XT20-02-G |
|
||||
| 6588 | BHGZ-202606250008 | 止刀键 | XT30-2-01-G | BHGZ-202606250008 | 止刀键 | XT30-2-01-G |
|
||||
| 6587 | BHGZ202606250007 | 箱体前盖 | XT30-1-MB-01-G | BHGZ202606250007 | 箱体前盖 | XT30-1-MB-01-G |
|
||||
| 6586 | BHGZ202606250006 | 箱体 | XT30-2-MF-02-G | BHGZ202606250006 | 箱体 | XT30-2-MF-02-G |
|
||||
|
||||
结论:
|
||||
|
||||
- `车间生产管理_零件工艺计划_视图.订单号` 已优先显示改制订单编号。
|
||||
- `车间生产管理_零件工艺计划_视图.零件名称` 已优先显示改制零件名称。
|
||||
- `车间生产管理_零件工艺计划_视图.零件图号` 已优先显示改制零件图号。
|
||||
|
||||
## 4. 已修改内容确认
|
||||
|
||||
### 4.1 视图修改
|
||||
|
||||
已修改:
|
||||
|
||||
```text
|
||||
dbo.车间生产管理_零件工艺计划_视图
|
||||
```
|
||||
|
||||
核心逻辑:
|
||||
|
||||
```sql
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制零件名称, dbo.库存管理_物料主文件_基本.名称) AS 零件名称
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制零件图号, dbo.车间生产管理工艺_零件工艺计划.零件图号) AS 零件图号
|
||||
ISNULL(dbo.技术中心_改制订单记录.改制订单编号, dbo.合同管理_订单信息_基础表.订单编号) AS 订单号
|
||||
```
|
||||
|
||||
关联逻辑:
|
||||
|
||||
```sql
|
||||
LEFT JOIN dbo.技术中心_改制订单记录
|
||||
ON dbo.车间生产管理工艺_零件工艺计划.工艺计划流水号 = dbo.技术中心_改制订单记录.工艺计划流水号
|
||||
AND ISNULL(dbo.技术中心_改制订单记录.是否删除, 0) = 0
|
||||
```
|
||||
|
||||
## 5. 测试结论
|
||||
|
||||
本轮测试通过。
|
||||
|
||||
已验证:
|
||||
|
||||
- 前端改制组件静态检查通过。
|
||||
- 改制记录已按 `工艺计划流水号` 与生产任务视图关联。
|
||||
- 已回写工艺计划流水号的改制记录,生产任务视图显示字段一致。
|
||||
- 未发现工艺计划重复关联改制记录导致重复显示的问题。
|
||||
- 生产任务数据源中的订单号、零件名称、零件图号已优先显示改制记录中的信息。
|
||||
|
||||
## 6. 风险与遗留项
|
||||
|
||||
### 6.1 仍有历史记录未回写工艺计划流水号
|
||||
|
||||
当前 10 条未删除改制记录中,有 7 条已回写 `工艺计划流水号`,仍有 3 条未回写。
|
||||
|
||||
影响:
|
||||
|
||||
- 未回写的历史改制记录无法通过新视图逻辑显示改制订单编号、改制零件名称、改制零件图号。
|
||||
|
||||
建议:
|
||||
|
||||
- 如这些历史记录仍需展示,需要补写 `工艺计划流水号`。
|
||||
- 新发起的改制订单必须在发起过程内立即回写 `工艺计划流水号`。
|
||||
|
||||
### 6.2 本次未执行真实新增改制订单
|
||||
|
||||
本次测试没有调用 `技术中心_改制订单_发起改制` 新增业务数据。
|
||||
|
||||
原因:
|
||||
|
||||
- 避免污染当前业务库。
|
||||
|
||||
建议:
|
||||
|
||||
- 如需完整流程验收,可指定一条测试订单和测试零件,在业务允许的情况下执行一次真实发起改制,再验证生产任务、派工、MES 待加工端显示。
|
||||
|
||||
## 7. 下一步建议
|
||||
|
||||
1. 确认 3 条未回写历史改制记录是否需要补数据。
|
||||
2. 使用一条测试订单执行完整发起改制流程。
|
||||
3. 验证生产任务查询页面显示。
|
||||
4. 验证车间派工页面显示。
|
||||
5. 验证 MES 待加工显示。
|
||||
6. 验证改制默认工艺 `改制` 是否可直接派工和加工。
|
||||
477
docs/零件改制/零件改制功能设计方案.html
Normal file
477
docs/零件改制/零件改制功能设计方案.html
Normal file
@@ -0,0 +1,477 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>零件改制功能设计方案</title>
|
||||
<style>
|
||||
@page { size: A4; margin: 18mm 16mm; }
|
||||
body {
|
||||
font-family: "Microsoft YaHei", "SimSun", Arial, sans-serif;
|
||||
color: #1f2933;
|
||||
font-size: 13px;
|
||||
line-height: 1.65;
|
||||
}
|
||||
h1 {
|
||||
font-size: 26px;
|
||||
text-align: center;
|
||||
margin: 0 0 24px;
|
||||
padding-bottom: 12px;
|
||||
border-bottom: 2px solid #2f80ed;
|
||||
}
|
||||
h2 {
|
||||
font-size: 19px;
|
||||
margin: 24px 0 10px;
|
||||
padding-left: 8px;
|
||||
border-left: 4px solid #2f80ed;
|
||||
page-break-after: avoid;
|
||||
}
|
||||
h3 {
|
||||
font-size: 16px;
|
||||
margin: 18px 0 8px;
|
||||
page-break-after: avoid;
|
||||
}
|
||||
p { margin: 7px 0; }
|
||||
ul { margin: 6px 0 10px 22px; padding: 0; }
|
||||
li { margin: 3px 0; }
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin: 10px 0 16px;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
th, td {
|
||||
border: 1px solid #cbd5e1;
|
||||
padding: 6px 8px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
word-break: break-word;
|
||||
}
|
||||
th {
|
||||
background: #eef4ff;
|
||||
font-weight: 600;
|
||||
}
|
||||
code {
|
||||
font-family: Consolas, "Microsoft YaHei", monospace;
|
||||
background: #f3f4f6;
|
||||
padding: 1px 4px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
pre {
|
||||
background: #f8fafc;
|
||||
border: 1px solid #d8dee9;
|
||||
padding: 10px;
|
||||
overflow-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
figure {
|
||||
margin: 14px 0 20px;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
figure img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
border: 1px solid #d8dee9;
|
||||
}
|
||||
figcaption {
|
||||
margin-top: 6px;
|
||||
color: #64748b;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>零件改制功能设计方案</h1>
|
||||
<h2>0. 需求背景</h2>
|
||||
<h3>0.1 需求提出</h3>
|
||||
<p>本需求由罗总牵头,组织技术中心、精工车间、仓储等相关部门讨论后提出。</p>
|
||||
<h3>0.2 提出原因</h3>
|
||||
<p>当前现场存在零件改制业务,但改制过程尚未完整纳入系统管理。由于现场计件、派工生产、完工入库和后续统计都需要明确的数据来源,原有线下记录或零散流转方式无法满足计件核算、过程追溯和部门协同要求。</p>
|
||||
<p>因此,需要在系统内补充零件改制订单流程,将改制订单从技术中心发起、精工车间派工生产到完工入库的全过程纳入系统管理。</p>
|
||||
<h3>0.3 应用场景</h3>
|
||||
<p>本功能主要应用于以下场景:</p>
|
||||
<ul><li>技术中心根据现场或订单需求发起零件改制订单。</li><li>精工车间根据改制订单制定工艺、派工生产。</li><li>改制订单涉及非毛坯物料时,由系统生成领料单并交由仓库出库。</li><li>改制加工完成后,按现有流程办理入库。</li><li>现场计件、生产统计、入库记录和后续追溯均以系统内改制订单数据为依据。</li></ul>
|
||||
<h2>1. 需求目标</h2>
|
||||
<p>基于项目现有精工车间生产流程,新增“零件改制”业务。</p>
|
||||
<p>本次方案调整为:</p>
|
||||
<ul><li>在技术中心新增组件发起改制订单。</li><li>改制订单生成后进入现有精工车间生产任务流程。</li><li>精工车间生产任务查询组件可以查看改制订单。</li><li>车间派工组件可以查看改制订单并继续派工。</li><li>新增改制记录查询,用于查看改制订单的发起、生产、派工、领料和完工状态。</li><li>领料时根据改制订单和物料来源判断是否生成领料单。</li></ul>
|
||||
<p>核心原则:</p>
|
||||
<ul><li>技术中心负责发起改制订单。</li><li>精工车间复用现有生产任务、工艺、派工、加工流程。</li><li>仓储只在需要额外领用非毛坯物料时介入。</li><li>改制记录独立查询,但状态关联现有生产任务状态。</li></ul>
|
||||
<h2>2. 现有流程承接关系</h2>
|
||||
<p>根据项目现有页面,改制订单应承接以下流程:</p>
|
||||
<table>
|
||||
<thead><tr><th>流程节点</th><th>现有承接页面</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>技术发起</td><td>技术中心新增页面</td><td>发起改制订单,填写改制要求</td></tr>
|
||||
<tr><td>生成任务</td><td>精工车间生产任务查询</td><td>改制订单进入生产任务列表</td></tr>
|
||||
<tr><td>制定工艺</td><td>精工车间制定工艺</td><td>可复用或复制原工艺后调整</td></tr>
|
||||
<tr><td>车间派工</td><td>精工车间车间派工</td><td>工艺完成后派工</td></tr>
|
||||
<tr><td>领料判断</td><td>领料/仓储出库流程</td><td>根据物料类型决定是否生成领料单</td></tr>
|
||||
<tr><td>加工执行</td><td>精工车间现有加工流程</td><td>扫码、报工、质检等复用现有逻辑</td></tr>
|
||||
<tr><td>入库</td><td>仓储入库流程</td><td>改制完工后按现有流程办理入库</td></tr>
|
||||
<tr><td>记录查询</td><td>改制记录查询</td><td>查看改制全流程</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<figure><img src="零件改制流程图.svg" alt="零件改制业务流程图"><figcaption>零件改制业务流程图</figcaption></figure>
|
||||
<h2>3. 页面设计</h2>
|
||||
<h3>3.1 技术中心新增页面:改制订单发起</h3>
|
||||
<p>建议路径:</p>
|
||||
<pre><code>src/views/TechnologyCenter/PartModificationOrder/index.vue</code></pre>
|
||||
<p>页面名称:</p>
|
||||
<pre><code>改制订单发起</code></pre>
|
||||
<p>归属模块:</p>
|
||||
<pre><code>技术中心</code></pre>
|
||||
<p>主要功能:</p>
|
||||
<ul><li>查询需要改制的原订单、原零件或原自制件。</li><li>发起改制订单。</li><li>填写改制后零件信息、改制数量、改制原因、技术要求。</li><li>指定是否使用原件改制、毛坯改制或其他物料改制。</li><li>提交后生成改制订单,并进入精工车间生产任务查询。</li></ul>
|
||||
<h3>3.2 精工车间修改页面:生产任务查询</h3>
|
||||
<p>现有路径:</p>
|
||||
<pre><code>src/views/SeikoWorkshop/ProductionTaskQuery/index.vue</code></pre>
|
||||
<p>需要支持:</p>
|
||||
<ul><li>查询改制订单生成的生产任务。</li><li>增加任务类型筛选。</li><li>增加任务类型列。</li><li>改制任务显示 <code>改制</code> 标识。</li><li>改制任务继续使用现有 <code>工艺</code>、<code>派工</code> 按钮。</li></ul>
|
||||
<h3>3.3 精工车间修改页面:车间派工</h3>
|
||||
<p>现有路径:</p>
|
||||
<pre><code>src/views/SeikoWorkshop/WorkshopAssignment/index.vue</code></pre>
|
||||
<p>需要支持:</p>
|
||||
<ul><li>查询改制订单对应的待派工任务。</li><li>增加任务类型筛选。</li><li>增加任务类型列。</li><li>复用现有已派工查询、待派工工序查询、派工、取消派工逻辑。</li></ul>
|
||||
<h3>3.4 新增页面:改制记录查询</h3>
|
||||
<p>建议路径:</p>
|
||||
<pre><code>src/views/TechnologyCenter/PartModificationRecord/index.vue</code></pre>
|
||||
<p>也可以放在精工车间模块,建议最终按业务归属确认。</p>
|
||||
<p>页面名称:</p>
|
||||
<pre><code>改制记录查询</code></pre>
|
||||
<p>主要功能:</p>
|
||||
<ul><li>查询改制订单记录。</li><li>查看改制订单状态。</li><li>查看是否生成领料单。</li><li>查看仓库是否已出库。</li><li>查看精工生产任务、工艺、派工、完工状态。</li><li>支持跳转生产任务查询、车间派工、零件追溯。</li></ul>
|
||||
<h2>4. 改制订单类型</h2>
|
||||
<p>改制订单需要明确物料来源,建议增加字段:</p>
|
||||
<pre><code>改制来源类型</code></pre>
|
||||
<p>建议枚举:</p>
|
||||
<table>
|
||||
<thead><tr><th>改制来源类型</th><th>说明</th><th>是否生成领料单</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>原现自制订单</td><td>使用原现有自制订单零件进行改制</td><td>否</td></tr>
|
||||
<tr><td>毛坯改制</td><td>直接使用已有毛坯进行改制</td><td>否</td></tr>
|
||||
<tr><td>非毛坯物料改制</td><td>使用仓库其他物料、半成品或成品改制</td><td>是</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>说明:</p>
|
||||
<ul><li>“原现自制订单”指当前已经存在的自制订单或自制零件,改制时不需要额外从仓库领料。</li><li>“毛坯改制”指直接使用毛坯进行改制,不额外生成领料单。</li><li>“非毛坯物料改制”指改制需要领用库存中的非毛坯物料,需要生成领料单并由仓库出库。</li></ul>
|
||||
<h2>5. 领料规则</h2>
|
||||
<h3>5.1 领料判断条件</h3>
|
||||
<p>领料时增加判断:</p>
|
||||
<pre><code>如果是改制订单,并且使用的物料不是毛坯,则生成领料单,由仓库物料出库。
|
||||
如果是原现自制订单改制,或者直接使用毛坯改制,则不生成领料单。</code></pre>
|
||||
<p>规则可表达为:</p>
|
||||
<pre><code>是否生成领料单 =
|
||||
是否改制订单 === 1
|
||||
且 改制来源类型 === 非毛坯物料改制
|
||||
且 是否毛坯 !== 1</code></pre>
|
||||
<h3>5.2 生成领料单场景</h3>
|
||||
<p>以下场景需要生成领料单:</p>
|
||||
<ul><li>改制订单使用库存半成品。</li><li>改制订单使用库存成品。</li><li>改制订单使用其他非毛坯物料。</li><li>改制订单指定的物料需要仓库出库。</li></ul>
|
||||
<p>生成后流程:</p>
|
||||
<p>1. 技术中心发起改制订单。 2. 系统判断需要领料。 3. 生成领料单。 4. 仓库根据领料单出库。 5. 出库完成后,精工车间继续生产、工艺、派工。</p>
|
||||
<h3>5.3 不生成领料单场景</h3>
|
||||
<p>以下场景不生成领料单:</p>
|
||||
<ul><li>原现自制订单改制。</li><li>直接使用毛坯改制。</li><li>改制对象已经在精工车间现场,不需要仓库出库。</li></ul>
|
||||
<p>不生成领料单时:</p>
|
||||
<ul><li>改制订单直接进入精工生产任务。</li><li>生产任务查询可查看。</li><li>车间派工可查看并派工。</li></ul>
|
||||
<h3>5.4 领料状态字段</h3>
|
||||
<p>建议改制订单增加以下字段:</p>
|
||||
<table>
|
||||
<thead><tr><th>字段名</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>是否需要领料</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>是否已生成领料单</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>领料单号</td><td>生成的领料单编号</td></tr>
|
||||
<tr><td>领料状态</td><td>未生成、待出库、已出库、已取消</td></tr>
|
||||
<tr><td>出库日期</td><td>仓库出库日期</td></tr>
|
||||
<tr><td>出库人</td><td>仓库操作人</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>6. 业务流程</h2>
|
||||
<h3>6.1 技术中心发起改制订单</h3>
|
||||
<p>用户进入技术中心“改制订单发起”页面。</p>
|
||||
<p>查询原始数据:</p>
|
||||
<ul><li>订单编号</li><li>产品/部件名称</li><li>零件名称</li><li>图号</li><li>原自制订单</li><li>库存物料</li><li>毛坯物料</li></ul>
|
||||
<p>发起改制时填写:</p>
|
||||
<ul><li>改制订单号</li><li>原订单编号</li><li>原零件名称</li><li>原零件图号</li><li>改制零件名称</li><li>改制零件图号</li><li>改制数量</li><li>改制来源类型</li><li>是否毛坯</li><li>物料编号</li><li>物料名称</li><li>改制原因</li><li>改制要求</li><li>技术备注</li><li>精工期限</li></ul>
|
||||
<p>提交时校验:</p>
|
||||
<ul><li>改制数量必须大于 0。</li><li>改制来源类型不能为空。</li><li>改制原因不能为空。</li><li>改制要求不能为空。</li><li>精工期限不能为空。</li><li>如果来源类型为非毛坯物料改制,必须选择物料编号。</li></ul>
|
||||
<h3>6.2 后端生成改制订单</h3>
|
||||
<p>提交后,后端需要同时处理:</p>
|
||||
<ul><li>写入改制订单主记录。</li><li>根据改制来源类型判断是否生成领料单。</li><li>生成精工车间生产任务。</li><li>写入任务类型为 <code>改制</code>。</li><li>关联改制订单号和新工艺计划流水号。</li></ul>
|
||||
<h3>6.3 进入精工车间生产任务查询</h3>
|
||||
<p>改制订单生成后,应能在现有接口中查到:</p>
|
||||
<pre><code>精工车间_生成任务_查询数据</code></pre>
|
||||
<p>建议返回字段增加:</p>
|
||||
<ul><li>任务类型</li><li>是否改制</li><li>改制订单号</li><li>改制来源类型</li><li>是否需要领料</li><li>领料状态</li><li>改制原因</li><li>改制要求</li></ul>
|
||||
<p>生产任务查询页面显示:</p>
|
||||
<ul><li><code>任务类型 = 改制</code></li><li>若 <code>是否需要领料 = 1</code> 且 <code>领料状态 !== 已出库</code>,可显示领料状态提示。</li></ul>
|
||||
<p>是否允许工艺/派工,需要按业务决定:</p>
|
||||
<ul><li>如果非毛坯物料改制必须先出库,建议未出库前允许制定工艺,但不允许派工。</li><li>如果现场允许先派工后补出库,则只做提示,不阻断派工。</li></ul>
|
||||
<p>建议采用更稳妥规则:</p>
|
||||
<pre><code>需要领料且未出库:允许制定工艺,不允许派工。
|
||||
不需要领料:正常工艺、派工。
|
||||
需要领料且已出库:正常工艺、派工。</code></pre>
|
||||
<h3>6.4 制定工艺</h3>
|
||||
<p>改制订单在生产任务查询中点击 <code>工艺</code>,进入现有:</p>
|
||||
<pre><code>/SeikoWorkshop/DevelopProcess</code></pre>
|
||||
<p>工艺规则:</p>
|
||||
<ul><li>改制订单必须生成新的工艺计划流水号。</li><li>不覆盖原自制订单或原零件工艺。</li><li>可支持从原工艺复制后调整。</li><li>工艺保存后,任务状态进入 <code>工艺完成</code>。</li></ul>
|
||||
<h3>6.5 车间派工</h3>
|
||||
<p>工艺完成后进入现有车间派工页面:</p>
|
||||
<pre><code>src/views/SeikoWorkshop/WorkshopAssignment/index.vue</code></pre>
|
||||
<p>现有查询接口:</p>
|
||||
<pre><code>精工车间_车间派工_查询</code></pre>
|
||||
<p>改制订单派工前判断:</p>
|
||||
<ul><li>不需要领料:允许派工。</li><li>需要领料且已出库:允许派工。</li><li>需要领料但未出库:禁止派工,并提示“改制订单物料未出库,不能派工”。</li></ul>
|
||||
<p>派工明细继续复用现有接口:</p>
|
||||
<pre><code>车间生产管理工艺_零件工序_已派工查询
|
||||
车间生产管理工艺_零件工序_派工_工序查询
|
||||
车间生产管理工艺_零件工序_派工
|
||||
车间生产管理工艺_零件工序_取消派工</code></pre>
|
||||
<h3>6.6 仓库出库</h3>
|
||||
<p>当改制订单需要领料时,系统生成领料单。</p>
|
||||
<p>仓库根据领料单完成出库后,需要回写:</p>
|
||||
<ul><li>领料状态 = 已出库</li><li>出库日期</li><li>出库人</li><li>出库数量</li></ul>
|
||||
<p>出库完成后,精工车间派工限制解除。</p>
|
||||
<h3>6.7 加工和完工</h3>
|
||||
<p>改制订单派工后,继续走现有精工车间加工流程:</p>
|
||||
<ul><li>工序派工</li><li>扫码加工</li><li>完工报工</li><li>质检</li><li>零件追溯</li><li>工时统计</li></ul>
|
||||
<p>完工后改制记录状态同步为:</p>
|
||||
<pre><code>已完成</code></pre>
|
||||
<h2>7. 数据字段设计</h2>
|
||||
<h3>7.1 改制订单主记录字段</h3>
|
||||
<table>
|
||||
<thead><tr><th>字段名</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>改制订单号</td><td>改制业务编号</td></tr>
|
||||
<tr><td>原订单编号</td><td>原订单编号</td></tr>
|
||||
<tr><td>原订单流水号</td><td>原订单流水号</td></tr>
|
||||
<tr><td>原组件流水号</td><td>原组件流水号</td></tr>
|
||||
<tr><td>原基本件流水号</td><td>原零件流水号</td></tr>
|
||||
<tr><td>原工艺计划流水号</td><td>原工艺计划流水号</td></tr>
|
||||
<tr><td>原零件名称</td><td>改制前零件名称</td></tr>
|
||||
<tr><td>原零件图号</td><td>改制前零件图号</td></tr>
|
||||
<tr><td>原数量</td><td>原数量</td></tr>
|
||||
<tr><td>改制零件名称</td><td>改制后零件名称</td></tr>
|
||||
<tr><td>改制零件图号</td><td>改制后零件图号</td></tr>
|
||||
<tr><td>改制数量</td><td>改制数量</td></tr>
|
||||
<tr><td>改制来源类型</td><td>原现自制订单、毛坯改制、非毛坯物料改制</td></tr>
|
||||
<tr><td>是否毛坯</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>物料编号</td><td>使用物料编号</td></tr>
|
||||
<tr><td>物料名称</td><td>使用物料名称</td></tr>
|
||||
<tr><td>物料流水号</td><td>使用物料流水号</td></tr>
|
||||
<tr><td>是否需要领料</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>是否已生成领料单</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>领料单号</td><td>领料单编号</td></tr>
|
||||
<tr><td>领料状态</td><td>未生成、待出库、已出库、已取消</td></tr>
|
||||
<tr><td>改制原因</td><td>改制原因</td></tr>
|
||||
<tr><td>改制要求</td><td>改制要求</td></tr>
|
||||
<tr><td>技术备注</td><td>技术备注</td></tr>
|
||||
<tr><td>精工期限</td><td>精工完工期限</td></tr>
|
||||
<tr><td>新基本件流水号</td><td>改制任务生成的新零件流水号</td></tr>
|
||||
<tr><td>新工艺计划流水号</td><td>改制任务生成的新工艺计划流水号</td></tr>
|
||||
<tr><td>发起人</td><td>当前用户 ID</td></tr>
|
||||
<tr><td>发起日期</td><td>发起时间</td></tr>
|
||||
<tr><td>状态</td><td>改制订单状态</td></tr>
|
||||
<tr><td>是否启用</td><td>逻辑删除标识</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>7.2 改制订单状态</h3>
|
||||
<table>
|
||||
<thead><tr><th>状态</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>待领料</td><td>需要领料,领料单未出库</td></tr>
|
||||
<tr><td>待工艺</td><td>不需要领料或已出库,等待制定工艺</td></tr>
|
||||
<tr><td>工艺完成</td><td>工艺已保存,等待派工</td></tr>
|
||||
<tr><td>待派工</td><td>工艺完成且满足派工条件</td></tr>
|
||||
<tr><td>加工中</td><td>已派工或已开始加工</td></tr>
|
||||
<tr><td>已完成</td><td>改制任务完工</td></tr>
|
||||
<tr><td>已取消</td><td>改制订单取消</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>说明:</p>
|
||||
<ul><li>如果不需要领料,提交后可直接进入 <code>待工艺</code>。</li><li>如果需要领料,提交后进入 <code>待领料</code>。</li><li>仓库出库后从 <code>待领料</code> 转为 <code>待工艺</code> 或保持生产任务状态,由查询时关联显示。</li></ul>
|
||||
<h2>8. API 设计</h2>
|
||||
<p>项目请求继续使用:</p>
|
||||
<pre><code>this.CreateData(type, name, param, pageSize, pageCurrent)
|
||||
this.ExecDatabase(Data)</code></pre>
|
||||
<h3>8.1 技术中心查询可改制对象</h3>
|
||||
<pre><code>var Data = this.CreateData('11', '技术中心_改制订单_可改制对象_查询', param, this.pageSize, this.pageCurrent)</code></pre>
|
||||
<h3>8.2 技术中心发起改制订单</h3>
|
||||
<pre><code>var Data = this.CreateData('12', '技术中心_改制订单_发起改制', param)</code></pre>
|
||||
<p>参数建议:</p>
|
||||
<table>
|
||||
<thead><tr><th>参数名</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>原订单流水号</td><td>原订单流水号</td></tr>
|
||||
<tr><td>原组件流水号</td><td>原组件流水号</td></tr>
|
||||
<tr><td>原基本件流水号</td><td>原基本件流水号</td></tr>
|
||||
<tr><td>原工艺计划流水号</td><td>原工艺计划流水号</td></tr>
|
||||
<tr><td>原订单编号</td><td>原订单编号</td></tr>
|
||||
<tr><td>原零件名称</td><td>原零件名称</td></tr>
|
||||
<tr><td>原零件图号</td><td>原零件图号</td></tr>
|
||||
<tr><td>改制零件名称</td><td>改制零件名称</td></tr>
|
||||
<tr><td>改制零件图号</td><td>改制零件图号</td></tr>
|
||||
<tr><td>改制数量</td><td>改制数量</td></tr>
|
||||
<tr><td>改制来源类型</td><td>原现自制订单、毛坯改制、非毛坯物料改制</td></tr>
|
||||
<tr><td>是否毛坯</td><td>是否毛坯</td></tr>
|
||||
<tr><td>物料流水号</td><td>使用物料流水号</td></tr>
|
||||
<tr><td>物料编号</td><td>物料编号</td></tr>
|
||||
<tr><td>物料名称</td><td>物料名称</td></tr>
|
||||
<tr><td>改制原因</td><td>改制原因</td></tr>
|
||||
<tr><td>改制要求</td><td>改制要求</td></tr>
|
||||
<tr><td>技术备注</td><td>技术备注</td></tr>
|
||||
<tr><td>精工期限</td><td>精工期限</td></tr>
|
||||
<tr><td>发起人</td><td>当前用户 ID</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>后端处理结果:</p>
|
||||
<ul><li>生成改制订单。</li><li>判断是否生成领料单。</li><li>生成精工生产任务。</li><li>返回 <code>result</code>、<code>改制订单号</code>、<code>领料单号</code>、<code>是否需要领料</code>。</li></ul>
|
||||
<h3>8.3 改制记录查询</h3>
|
||||
<pre><code>var Data = this.CreateData('11', '技术中心_改制订单_记录_查询', param, this.pageSize, this.pageCurrent)</code></pre>
|
||||
<h3>8.4 改制订单详情</h3>
|
||||
<pre><code>var Data = this.CreateData('11', '技术中心_改制订单_详情_查询', param)</code></pre>
|
||||
<h3>8.5 取消改制订单</h3>
|
||||
<pre><code>var Data = this.CreateData('12', '技术中心_改制订单_取消', param)</code></pre>
|
||||
<p>取消前后端需要校验:</p>
|
||||
<ul><li>未派工可以取消。</li><li>已派工未加工,需要先取消派工。</li><li>已加工、已有质检记录或已完成,不允许取消。</li><li>已生成领料单且已出库,不允许直接取消,需要走退料或异常处理。</li></ul>
|
||||
<h2>9. 现有接口扩展</h2>
|
||||
<h3>9.1 生产任务查询接口</h3>
|
||||
<p>现有接口:</p>
|
||||
<pre><code>精工车间_生成任务_查询数据</code></pre>
|
||||
<p>新增查询参数:</p>
|
||||
<table>
|
||||
<thead><tr><th>参数名</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>任务类型\_check</td><td>是否按任务类型过滤</td></tr>
|
||||
<tr><td>任务类型</td><td>全部、正常、改制、报废补投</td></tr>
|
||||
<tr><td>领料状态\_check</td><td>是否按领料状态过滤</td></tr>
|
||||
<tr><td>领料状态</td><td>待出库、已出库、不需要领料</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>新增返回字段:</p>
|
||||
<table>
|
||||
<thead><tr><th>字段名</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>任务类型</td><td>正常、改制、报废补投</td></tr>
|
||||
<tr><td>是否改制</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>改制订单号</td><td>改制订单编号</td></tr>
|
||||
<tr><td>改制来源类型</td><td>原现自制订单、毛坯改制、非毛坯物料改制</td></tr>
|
||||
<tr><td>是否需要领料</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>领料状态</td><td>未生成、待出库、已出库、已取消</td></tr>
|
||||
<tr><td>领料单号</td><td>领料单号</td></tr>
|
||||
<tr><td>改制原因</td><td>改制原因</td></tr>
|
||||
<tr><td>改制要求</td><td>改制要求</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>9.2 车间派工查询接口</h3>
|
||||
<p>现有接口:</p>
|
||||
<pre><code>精工车间_车间派工_查询</code></pre>
|
||||
<p>新增查询参数:</p>
|
||||
<table>
|
||||
<thead><tr><th>参数名</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>任务类型\_check</td><td>是否按任务类型过滤</td></tr>
|
||||
<tr><td>任务类型</td><td>全部、正常、改制、报废补投</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>新增返回字段:</p>
|
||||
<table>
|
||||
<thead><tr><th>字段名</th><th>说明</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>任务类型</td><td>正常、改制、报废补投</td></tr>
|
||||
<tr><td>是否改制</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>改制订单号</td><td>改制订单编号</td></tr>
|
||||
<tr><td>改制来源类型</td><td>改制来源类型</td></tr>
|
||||
<tr><td>是否需要领料</td><td>1 是,0 否</td></tr>
|
||||
<tr><td>领料状态</td><td>领料状态</td></tr>
|
||||
<tr><td>领料单号</td><td>领料单号</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>派工前端限制:</p>
|
||||
<pre><code>如果 是否改制 = 1 且 是否需要领料 = 1 且 领料状态 != 已出库,则不允许派工。</code></pre>
|
||||
<h2>10. 前端交互调整</h2>
|
||||
<h3>10.1 技术中心改制订单发起页面</h3>
|
||||
<p>查询条件:</p>
|
||||
<ul><li>订单编号</li><li>零件名称</li><li>图号</li><li>物料编号</li><li>物料名称</li><li>改制来源类型</li></ul>
|
||||
<p>表格列:</p>
|
||||
<ul><li>订单编号</li><li>产品/部件名称</li><li>零件名称</li><li>零件图号</li><li>数量</li><li>当前状态</li><li>来源类型</li><li>物料编号</li><li>物料名称</li><li>操作</li></ul>
|
||||
<p>操作:</p>
|
||||
<ul><li>发起改制</li><li>图纸</li><li>PLM传入工艺</li><li>追溯</li></ul>
|
||||
<p>发起改制弹窗:</p>
|
||||
<ul><li>原订单编号</li><li>原零件名称</li><li>原零件图号</li><li>改制零件名称</li><li>改制零件图号</li><li>改制数量</li><li>改制来源类型</li><li>是否毛坯</li><li>物料编号</li><li>物料名称</li><li>改制原因</li><li>改制要求</li><li>技术备注</li><li>精工期限</li></ul>
|
||||
<h3>10.2 生产任务查询页面</h3>
|
||||
<p>新增筛选:</p>
|
||||
<pre><code>任务类型:全部 / 正常 / 改制 / 报废补投
|
||||
领料状态:全部 / 不需要领料 / 待出库 / 已出库</code></pre>
|
||||
<p>新增列:</p>
|
||||
<ul><li>任务类型</li><li>改制订单号</li><li>改制来源类型</li><li>领料状态</li></ul>
|
||||
<p>显示建议:</p>
|
||||
<pre><code><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></code></pre>
|
||||
<h3>10.3 车间派工页面</h3>
|
||||
<p>新增筛选:</p>
|
||||
<pre><code>任务类型:全部 / 正常 / 改制 / 报废补投</code></pre>
|
||||
<p>新增列:</p>
|
||||
<ul><li>任务类型</li><li>改制订单号</li><li>领料状态</li></ul>
|
||||
<p>派工按钮或派工操作前增加判断:</p>
|
||||
<pre><code>if (Number(row.是否改制) === 1 && Number(row.是否需要领料) === 1 && row.领料状态 !== '已出库') {
|
||||
this.$message.warning('改制订单物料未出库,不能派工')
|
||||
return
|
||||
}</code></pre>
|
||||
<h3>10.4 改制记录查询页面</h3>
|
||||
<p>查询条件:</p>
|
||||
<ul><li>改制订单号</li><li>原订单编号</li><li>零件名称或图号</li><li>改制来源类型</li><li>领料状态</li><li>改制状态</li><li>发起日期</li><li>发起人</li></ul>
|
||||
<p>表格列:</p>
|
||||
<ul><li>改制订单号</li><li>状态</li><li>原订单编号</li><li>原零件名称</li><li>原零件图号</li><li>改制零件名称</li><li>改制零件图号</li><li>改制数量</li><li>改制来源类型</li><li>是否需要领料</li><li>领料单号</li><li>领料状态</li><li>改制原因</li><li>发起人</li><li>发起日期</li><li>精工期限</li><li>完成日期</li><li>操作</li></ul>
|
||||
<p>操作:</p>
|
||||
<ul><li>详情</li><li>生产任务</li><li>派工</li><li>追溯</li><li>取消</li></ul>
|
||||
<h2>11. 菜单配置</h2>
|
||||
<p>建议后端菜单配置:</p>
|
||||
<pre><code>技术中心
|
||||
改制订单发起
|
||||
改制记录查询</code></pre>
|
||||
<p>组件路径:</p>
|
||||
<pre><code>TechnologyCenter/PartModificationOrder/index
|
||||
TechnologyCenter/PartModificationRecord/index</code></pre>
|
||||
<p>精工车间不新增发起入口,只扩展现有页面:</p>
|
||||
<pre><code>SeikoWorkshop/ProductionTaskQuery/index
|
||||
SeikoWorkshop/WorkshopAssignment/index</code></pre>
|
||||
<h2>12. 实施顺序</h2>
|
||||
<p>建议按以下顺序实施:</p>
|
||||
<p>1. 后端新增改制订单主记录表。 2. 后端新增技术中心发起改制订单接口。 3. 后端在发起接口中加入领料判断规则。 4. 后端按规则生成或不生成领料单。 5. 后端生成标准精工生产任务,并标记 <code>任务类型 = 改制</code>。 6. 扩展生产任务查询接口,返回改制和领料字段。 7. 扩展车间派工查询接口,返回改制和领料字段。 8. 前端新增技术中心改制订单发起页面。 9. 前端新增改制记录查询页面。 10. 前端修改生产任务查询页面,增加任务类型和领料状态显示。 11. 前端修改车间派工页面,增加改制任务显示和派工前领料状态校验。 12. 联调从技术中心发起、领料判断、仓库出库、精工工艺、车间派工、加工完工、记录查询的完整流程。</p>
|
||||
<h2>13. 风险点</h2>
|
||||
<h3>13.1 领料判断风险</h3>
|
||||
<p>改制订单是否生成领料单,必须以后端判断为准。</p>
|
||||
<p>前端可以显示和提示,但不能只依赖前端判断,避免绕过仓库出库流程。</p>
|
||||
<h3>13.2 派工前物料状态风险</h3>
|
||||
<p>如果改制订单需要仓库出库,但尚未出库,直接派工会导致车间无物料加工。</p>
|
||||
<p>建议车间派工接口或派工保存接口再次校验:</p>
|
||||
<pre><code>需要领料且未出库,不允许派工。</code></pre>
|
||||
<h3>13.3 原任务数据覆盖风险</h3>
|
||||
<p>改制订单必须生成新的生产任务和新的工艺计划流水号。</p>
|
||||
<p>不能直接覆盖原自制订单或原零件工艺,否则会影响原订单追溯、工时和质量记录。</p>
|
||||
<h3>13.4 取消改制风险</h3>
|
||||
<p>已生成领料单、已出库、已派工或已加工的改制订单取消规则需要严格控制。</p>
|
||||
<p>建议:</p>
|
||||
<ul><li>未出库、未派工:允许取消。</li><li>已出库:需要退料后取消。</li><li>已派工未加工:先取消派工再取消。</li><li>已加工:不允许取消,只能走异常处理。</li></ul>
|
||||
<h3>13.5 统计口径风险</h3>
|
||||
<p>改制订单进入精工生产任务后,会影响生产任务数量、工时统计、完工统计。</p>
|
||||
<p>建议所有统计接口增加任务类型维度:</p>
|
||||
<pre><code>正常
|
||||
改制
|
||||
报废补投</code></pre>
|
||||
<h2>14. 总结</h2>
|
||||
<p>本方案采用:</p>
|
||||
<pre><code>技术中心发起改制订单,精工车间承接生产,仓库按需出库,改制记录统一查询。</code></pre>
|
||||
<p>关键规则:</p>
|
||||
<ul><li>技术中心新增组件发起改制订单。</li><li>改制订单生成后进入精工车间生产任务查询。</li><li>改制订单工艺和派工复用现有精工流程。</li><li>领料时如果是改制订单,并且使用物料不是毛坯,则生成领料单,由仓库物料出库。</li><li>如果是原现自制订单改制,或者直接使用毛坯改制,则不生成领料单。</li><li>改制记录查询独立展示全流程状态。</li></ul>
|
||||
</body>
|
||||
</html>
|
||||
841
docs/零件改制/零件改制功能设计方案.md
Normal file
841
docs/零件改制/零件改制功能设计方案.md
Normal file
@@ -0,0 +1,841 @@
|
||||
# 零件改制功能设计方案
|
||||
|
||||
## 0. 需求背景
|
||||
|
||||
### 0.1 需求提出
|
||||
|
||||
本需求由罗总牵头,组织技术中心、精工车间、仓储等相关部门讨论后提出。
|
||||
|
||||
### 0.2 提出原因
|
||||
|
||||
当前现场存在零件改制业务,但改制过程尚未完整纳入系统管理。由于现场计件、派工生产、完工入库和后续统计都需要明确的数据来源,原有线下记录或零散流转方式无法满足计件核算、过程追溯和部门协同要求。
|
||||
|
||||
因此,需要在系统内补充零件改制订单流程,将改制订单从技术中心发起、精工车间派工生产到完工入库的全过程纳入系统管理。
|
||||
|
||||
### 0.3 应用场景
|
||||
|
||||
本功能主要应用于以下场景:
|
||||
|
||||
- 技术中心根据现场或订单需求发起零件改制订单。
|
||||
- 精工车间根据改制订单制定工艺、派工生产。
|
||||
- 改制订单涉及非毛坯物料时,由系统生成领料单并交由仓库出库。
|
||||
- 改制加工完成后,按现有流程办理入库。
|
||||
- 现场计件、生产统计、入库记录和后续追溯均以系统内改制订单数据为依据。
|
||||
|
||||
## 1. 需求目标
|
||||
|
||||
基于项目现有精工车间生产流程,新增“零件改制”业务。
|
||||
|
||||
本次方案调整为:
|
||||
|
||||
- 在技术中心新增组件发起改制订单。
|
||||
- 改制订单生成后进入现有精工车间生产任务流程。
|
||||
- 精工车间生产任务查询组件可以查看改制订单。
|
||||
- 车间派工组件可以查看改制订单并继续派工。
|
||||
- 新增改制记录查询,用于查看改制订单的发起、生产、派工、领料和完工状态。
|
||||
- 领料时根据改制订单和物料来源判断是否生成领料单。
|
||||
|
||||
核心原则:
|
||||
|
||||
- 技术中心负责发起改制订单。
|
||||
- 精工车间复用现有生产任务、工艺、派工、加工流程。
|
||||
- 仓储只在需要额外领用非毛坯物料时介入。
|
||||
- 改制记录独立查询,但状态关联现有生产任务状态。
|
||||
|
||||
## 2. 现有流程承接关系
|
||||
|
||||
根据项目现有页面,改制订单应承接以下流程:
|
||||
|
||||
| 流程节点 | 现有承接页面 | 说明 |
|
||||
| ---- | ---------- | --------------- |
|
||||
| 技术发起 | 技术中心新增页面 | 发起改制订单,填写改制要求 |
|
||||
| 生成任务 | 精工车间生产任务查询 | 改制订单进入生产任务列表 |
|
||||
| 制定工艺 | 精工车间制定工艺 | 可复用或复制原工艺后调整 |
|
||||
| 车间派工 | 精工车间车间派工 | 工艺完成后派工 |
|
||||
| 领料判断 | 领料/仓储出库流程 | 根据物料类型决定是否生成领料单 |
|
||||
| 加工执行 | 精工车间现有加工流程 | 扫码、报工、质检等复用现有逻辑 |
|
||||
| 入库 | 仓储入库流程 | 改制完工后按现有流程办理入库 |
|
||||
| 记录查询 | 改制记录查询 | 查看改制全流程 |
|
||||
|
||||

|
||||
|
||||
## 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
|
||||
技术中心发起改制订单,精工车间承接生产,仓库按需出库,改制记录统一查询。
|
||||
```
|
||||
|
||||
关键规则:
|
||||
|
||||
- 技术中心新增组件发起改制订单。
|
||||
- 改制订单生成后进入精工车间生产任务查询。
|
||||
- 改制订单工艺和派工复用现有精工流程。
|
||||
- 领料时如果是改制订单,并且使用物料不是毛坯,则生成领料单,由仓库物料出库。
|
||||
- 如果是原现自制订单改制,或者直接使用毛坯改制,则不生成领料单。
|
||||
- 改制记录查询独立展示全流程状态。
|
||||
BIN
docs/零件改制/零件改制功能设计方案.pdf
Normal file
BIN
docs/零件改制/零件改制功能设计方案.pdf
Normal file
Binary file not shown.
85
docs/零件改制/零件改制流程图.svg
Normal file
85
docs/零件改制/零件改制流程图.svg
Normal file
@@ -0,0 +1,85 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1180" height="1080" viewBox="0 0 1180 1080">
|
||||
<defs>
|
||||
<style>
|
||||
.title { font: 700 30px "Microsoft YaHei", "SimSun", Arial, sans-serif; fill: #1f2933; }
|
||||
.label { font: 600 18px "Microsoft YaHei", "SimSun", Arial, sans-serif; fill: #1f2933; }
|
||||
.small { font: 15px "Microsoft YaHei", "SimSun", Arial, sans-serif; fill: #475569; }
|
||||
.node { fill: #ffffff; stroke: #2f80ed; stroke-width: 2; rx: 10; }
|
||||
.tech { fill: #eef6ff; stroke: #2f80ed; }
|
||||
.seiko { fill: #f0fdf4; stroke: #16a34a; }
|
||||
.warehouse { fill: #fff7ed; stroke: #f97316; }
|
||||
.record { fill: #f8fafc; stroke: #64748b; }
|
||||
.decision { fill: #fff7ed; stroke: #f59e0b; stroke-width: 2; }
|
||||
.line { stroke: #64748b; stroke-width: 2; fill: none; marker-end: url(#arrow); }
|
||||
.yesno { font: 600 14px "Microsoft YaHei", "SimSun", Arial, sans-serif; fill: #334155; }
|
||||
</style>
|
||||
<marker id="arrow" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto" markerUnits="strokeWidth">
|
||||
<path d="M0,0 L0,6 L9,3 z" fill="#64748b" />
|
||||
</marker>
|
||||
</defs>
|
||||
|
||||
<rect x="0" y="0" width="1180" height="1080" fill="#ffffff"/>
|
||||
<text x="590" y="48" text-anchor="middle" class="title">零件改制业务流程图</text>
|
||||
|
||||
<rect x="70" y="90" width="1040" height="90" class="node tech"/>
|
||||
<text x="590" y="126" text-anchor="middle" class="label">技术中心:改制订单发起</text>
|
||||
<text x="590" y="154" text-anchor="middle" class="small">选择原订单/零件/物料,填写改制数量、来源类型、原因、要求、精工期限</text>
|
||||
|
||||
<path d="M590 180 L590 225" class="line"/>
|
||||
|
||||
<polygon points="590,225 755,305 590,385 425,305" class="decision"/>
|
||||
<text x="590" y="292" text-anchor="middle" class="label">是否改制订单</text>
|
||||
<text x="590" y="322" text-anchor="middle" class="small">且使用物料不是毛坯?</text>
|
||||
|
||||
<path d="M755 305 L900 305 L900 365" class="line"/>
|
||||
<text x="820" y="292" class="yesno">是</text>
|
||||
|
||||
<rect x="760" y="365" width="280" height="88" class="node warehouse"/>
|
||||
<text x="900" y="400" text-anchor="middle" class="label">生成领料单</text>
|
||||
<text x="900" y="428" text-anchor="middle" class="small">仓库按领料单物料出库</text>
|
||||
|
||||
<path d="M900 453 L900 515 L670 515" class="line"/>
|
||||
<text x="918" y="488" class="yesno">已出库</text>
|
||||
|
||||
<path d="M425 305 L280 305 L280 515 L510 515" class="line"/>
|
||||
<text x="320" y="292" class="yesno">否</text>
|
||||
<text x="118" y="384" class="small">原现自制订单改制</text>
|
||||
<text x="118" y="410" class="small">或直接毛坯改制</text>
|
||||
<text x="118" y="436" class="small">不生成领料单</text>
|
||||
|
||||
<rect x="510" y="475" width="160" height="80" class="node seiko"/>
|
||||
<text x="590" y="508" text-anchor="middle" class="label">生成精工</text>
|
||||
<text x="590" y="535" text-anchor="middle" class="small">生产任务</text>
|
||||
|
||||
<path d="M590 555 L590 602" class="line"/>
|
||||
|
||||
<rect x="390" y="602" width="400" height="80" class="node seiko"/>
|
||||
<text x="590" y="636" text-anchor="middle" class="label">精工车间:生产任务查询</text>
|
||||
<text x="590" y="662" text-anchor="middle" class="small">显示任务类型=改制、领料状态、改制订单号</text>
|
||||
|
||||
<path d="M590 682 L590 728" class="line"/>
|
||||
|
||||
<rect x="390" y="728" width="400" height="80" class="node seiko"/>
|
||||
<text x="590" y="762" text-anchor="middle" class="label">制定工艺</text>
|
||||
<text x="590" y="788" text-anchor="middle" class="small">生成新工艺计划,可复制原工艺后调整</text>
|
||||
|
||||
<path d="M590 808 L590 854" class="line"/>
|
||||
|
||||
<rect x="390" y="854" width="400" height="80" class="node seiko"/>
|
||||
<text x="590" y="888" text-anchor="middle" class="label">车间派工与加工完工</text>
|
||||
<text x="590" y="914" text-anchor="middle" class="small">需要领料且未出库时禁止派工,出库后正常派工</text>
|
||||
|
||||
<path d="M590 934 L590 980" class="line"/>
|
||||
|
||||
<rect x="390" y="980" width="400" height="70" class="node warehouse"/>
|
||||
<text x="590" y="1010" text-anchor="middle" class="label">仓储入库</text>
|
||||
<text x="590" y="1036" text-anchor="middle" class="small">改制完工后按现有流程办理入库并回写状态</text>
|
||||
|
||||
<path d="M790 1015 L970 1015 L970 215 L720 215" class="line"/>
|
||||
<rect x="820" y="188" width="300" height="54" class="node record"/>
|
||||
<text x="970" y="222" text-anchor="middle" class="label">改制记录查询贯穿全流程</text>
|
||||
|
||||
<path d="M390 1015 L210 1015 L210 215 L460 215" class="line"/>
|
||||
<rect x="60" y="188" width="300" height="54" class="node record"/>
|
||||
<text x="210" y="222" text-anchor="middle" class="label">状态回写与追溯关联</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
Reference in New Issue
Block a user