# 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 错误。