259 lines
5.3 KiB
Markdown
259 lines
5.3 KiB
Markdown
# 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 错误。
|