Files
JY1.0/docs/零件改制/02-项目程序开发详细步骤.md

259 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 错误。