flowchart TD
  subgraph Batch[批量生成生产工艺]
    B0[列表勾选订单] --> B1[AllProductProcess]
    B1 --> B2{multipleSelection.length >= 1?}
    B2 -->|否| BERR[提示: 请勾选数据]
    B2 -->|是| B3[过滤选中行<br/>标准工艺 == 1 且 生产工艺 != 1]
    B3 --> B4[拼接订单编号/物料编号/计划数量<br/>逗号字符串]
    B4 --> BSP[工艺管理_零件工序_生产工艺_批量生成生产工艺]
    BSP --> B5[刷新订单列表 searchTable]
  end

  subgraph Copy[工艺拷贝 当前入口被注释]
    C0[copyData 打开生产工艺拷贝弹窗] --> C1{processprodutc 勾选?}
    C1 -->|否: 标准工艺来源| C2[工艺管理_生产工艺_标准工艺拷贝<br/>获取候选零件]
    C2 --> C3[MES_ProcessManagement_ProcessBindGet<br/>预览标准工艺明细]
    C1 -->|是: 生产工艺来源| C4[工艺管理_生产工艺_生产工艺拷贝<br/>获取候选物料]
    C4 --> C5[工艺管理_制定标准工艺_拷贝生产工艺<br/>预览生产工艺明细]
    C3 --> C6[submitCopy]
    C5 --> C6
    C6 --> C7[工艺管理_生产工艺_工艺拷贝<br/>物料编号/零件图号/订单编号/计划数量/工艺类型]
    C7 --> C8{result == '1'?}
    C8 -->|是| COK[提示拷贝成功<br/>刷新当前生产工艺]
    C8 -->|否| CERR[提示拷贝失败]
  end

  subgraph Save[保存与沉淀]
    S0[保存按钮 saveProcess] --> S1[工艺管理_生产工艺_启用<br/>入参: 订单编号]
    S1 --> SOK[提示操作成功]
    S2[保存为标准工艺 processSave] --> S3[车间生产管理工艺_零件工序_保存为标准工艺<br/>入参: 物料编号/订单编号]
    S3 --> S4{result == '1'?}
    S4 -->|是| SOK2[提示保存成功]
    S4 -->|否| SERR2[提示保存失败]
  end

  subgraph Dispatch[任务下发]
    D0[整套下发 workprocess] --> D1{tableData5.length 小于 1?}
    D1 -->|是| DERR[提示下发失败]
    D1 -->|否| D2[计划排产_生产订单_订单任务_生产工艺任务下发<br/>订单编号/物料编号/计划数量]
    D2 --> D3{result != 0?}
    D3 -->|是| DOK[提示操作成功<br/>刷新列表/关闭弹窗]
    D3 -->|否| DOLD[提示已下发任务<br/>刷新列表/关闭弹窗]

    O0[单条下发 oneworkprocess（row）] --> O1[计划排产_生产订单_订单任务_单条生产工艺任务下发<br/>订单编号/物料编号/计划数量/工艺顺序]
    O1 --> OOK[提示操作成功<br/>刷新列表/不关闭弹窗]
  end

  classDef action fill:#FFF7E6,stroke:#C47F00,color:#111;
  classDef api fill:#EAF8EA,stroke:#2F855A,color:#111;
  classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111;
  classDef ok fill:#F0FFF4,stroke:#38A169,color:#111;
  classDef err fill:#FFEAEA,stroke:#C53030,color:#111;
  class B0,B1,B3,B4,B5,C0,C2,C3,C4,C5,C6,C7,S0,S2,D0,D2,O0 action;
  class BSP,C2,C3,C4,C5,C7,S1,S3,D2,O1 api;
  class B2,C1,C8,S4,D1,D3 decision;
  class COK,SOK,SOK2,DOK,DOLD,OOK ok;
  class BERR,CERR,SERR2,DERR err;

