# 存储过程:工艺数据\_PLM导入 - 运行流程图 ## 流程图示 ```mermaid flowchart TD Start([开始]) --> Validate1{产品流水号
是否为空?} Validate1 -->|是| Fail1[导入类型=0
返回:产品流水号不能为空] Fail1 --> End1([结束]) Validate1 -->|否| CheckProduct[查询产品信息表
获取产品名称] CheckProduct --> Validate2{产品是否存在?} Validate2 -->|否| Fail2[导入类型=0
返回:产品流水号不存在] Fail2 --> End2([结束]) Validate2 -->|是| SetName[设置产品名称
若为空则使用查询到的名称] SetName --> Validate3{必填字段验证:
图号/名称/工序号/
工艺名称/工艺要求} Validate3 -->|任一为空| Fail3[导入类型=3
返回:对应字段不能为空] Fail3 --> End3([结束]) Validate3 -->|全部非空| FindMaterial1{物料编码是否存在
且非空?} FindMaterial1 -->|是| FindByCode[通过物料编码
查询物料主文件] FindByCode --> FindMaterial2{是否找到物料?} FindMaterial1 -->|否| FindByDrawing[通过图号+名称
查询物料主文件] FindByDrawing --> FindMaterial2 FindMaterial2 -->|否| Fail4[导入类型=0
返回:物料不存在提示] Fail4 --> End4([结束]) FindMaterial2 -->|是| GetProcessPlan[订单流水号
存在且>0?] GetProcessPlan --> CheckExist{获取工艺计划流水号
从零件工艺计划视图通过订单号,零件名称,图号查询} CheckExist --> CheckDuplicate[检查工艺数据是否已存在
查询零件工序表] CheckDuplicate -->|是-更新| UpdateOrder[更新订单工艺数据
SET 工艺计划流水号/
工序顺序/工艺编号/工艺要求] UpdateOrder --> CheckUpdate{更新成功?
ROWCOUNT>0} CheckDuplicate -->|否-新增| InsertOrder[插入订单工艺数据] InsertOrder --> CheckInsert{插入成功?
ROWCOUNT>0} CheckUpdate -->|是| Success2[导入类型=2
返回:更新成功] CheckUpdate -->|否| Fail6[导入类型=0
返回:工艺数据更新失败] CheckInsert -->|是| Success1[导入类型=1
返回:新增成功] CheckInsert -->|否| Fail7[导入类型=0
返回:工艺数据导入失败] Success1 --> End6([结束]) Success2 --> End6 Fail6 --> End6 Fail7 --> End6 ``` *** ## 涉及的数据表 | 表名 | 用途 | | :------------------ | :--------------- | | 产品信息\_基础表 | 验证产品是否存在,获取产品名称 | | 库存管理\_物料主文件\_基本 | 验证物料是否存在,获取物料流水号 | | 车间生产管理\_零件工艺计划\_视图 | 获取工艺计划流水号 | | 车间生产管理工艺\_基础表\_工艺名称 | 获取工艺编号 | | 车间生产管理工艺\_零件工序 | 工艺数据的主存储表(增删改查) | *** ## 流程说明 ### 3.1 产品验证阶段 1. **产品流水号校验**:检查产品流水号是否为空 2. **产品存在性验证**:从产品信息表查询产品是否存在 3. **产品名称设置**:若传入的产品名称为空,则使用查询到的名称 ### 3.2 必填字段验证阶段 验证以下必填字段是否非空: - 图号 - 名称 - 工序号 - 工艺名称 - 工艺要求 ### 3.3 物料查找阶段 支持两种查找方式: 1. **优先通过物料编码查找**:若物料编码存在且非空,通过物料编码查询 2. **图号+名称查找**:若物料编码为空,通过图号和名称组合查询 ### 3.4 数据处理阶段 根据订单流水号判断处理逻辑: | 条件 | 处理方式 | | :-------- | :-------------------------- | | 订单流水号 > 0 | 查询零件工序表检查是否已存在,存在则更新,不存在则新增 | | 订单流水号 ≤ 0 | 直接插入产品工艺数据 | ### 3.5 工艺信息获取阶段 1. **获取工艺计划流水号**:从零件工艺计划视图通过订单号获取 ### 3.6 返回结果码说明 | 返回码 | 说明 | | :-- | :-------------------------------- | | 0 | 失败(产品流水号不存在、物料不存在、工艺名称错误、更新/插入失败) | | 1 | 新增成功 | | 2 | 更新成功 | | 3 | 数据不完整(必填字段为空) | | 4 | 工艺名称错误(工艺编号不存在) |