# EAI Robotics 机器人全生命周期流程图（v3 完整版）
# 源：Requirement_Workflow_with_Master_mapping_v3.html 流程图部分
# 渲染：node docs/templates/flow-renderer.mjs <this.yaml> --split-header <out-prefix>

title: EAI Robotics 机器人全生命周期 — 流程图（v3 / 25 节点 / 6 控制门）

# 左侧动作列（按 row 索引）
actions:
  - P1 已下单
  - P1 工厂在制
  - P2 工厂可发运
  - P3 国际运输
  - P3 保税中
  - P3 已清关
  - P4 美国收货
  - P4 W1 改装前初检（分流）
  - P4 W2 外采路径
  - P4 W3 功能测试
  - P4 本地化改装
  - P4 改装验证
  - P4 W4 可售入库
  - P5 已锁单
  - P6 收款记录
  - P6 G5 收款核验
  - P7 准备交付
  - P7 交付审批
  - P7 交付验证
  - P8 已交付（收入确认）
  - "═══ 售后流程 ═══"
  - 客户报修
  - 发起退回
  - 退回签收
  - W6 售后库（三向处置）
  - 维修
  - 修复
  - 保修外报价
  - 终结
  - "═══ 租赁流程 ═══"
  - 客户选择租赁

# 6 主泳道（branch 用于 W1 初检后的并行分支）
lanes:
  - {id: supply,     name: 供应链, color: "#E3F0FF", stroke: "#4f8cff", text: "#1a5fcc"}
  - {id: warehouse,  name: 仓储,   color: "#FFF4E0", stroke: "#f59e0b", text: "#a55a00"}
  - {id: branch,     name: 分支,   color: "#E0F2F1", stroke: "#14b8a6", text: "#0d6b62", mergedWith: warehouse}
  - {id: sales,      name: 销售,   color: "#E8F8F0", stroke: "#10b981", text: "#066b49"}
  - {id: finance,    name: 财务,   color: "#FCEBEC", stroke: "#ef4444", text: "#9a1a1a"}
  - {id: aftersales, name: 售后,   color: "#F4EAFF", stroke: "#a855f7", text: "#5b1c9d"}

# 节点（25 + Gate diamonds）
nodes:
  # === P1-P2 中国供货 ===
  - {id: po_created,            lane: supply,     row: 0,  shape: oval,        label: "01 已下单"}
  - {id: in_production,         lane: supply,     row: 1,  shape: rect,        label: "02 工厂在制"}
  - {id: ready_to_ship,         lane: supply,     row: 2,  shape: rect,        label: "03 工厂可发运"}

  # === P3 国际物流 ===
  - {id: in_transit,            lane: supply,     row: 3,  shape: rect,        label: "04 国际运输中"}
  - {id: bonded,                lane: supply,     row: 4,  shape: rect,        label: "05 保税中"}
  - {id: customs_cleared,       lane: supply,     row: 5,  shape: rect,        label: "06 已清关"}

  # === P4 美国收货 + W1 分流 ===
  - {id: received,              lane: supply,     row: 6,  shape: rect,        label: "07 美国已收货"}
  - {id: at_w1_pdi,             lane: warehouse,  row: 7,  shape: xor,         label: "08 W1 改装前初检\n（分流判定）"}
  - {id: at_w2_rle,             lane: branch,     row: 8,  shape: rect,        label: "16 W2 外采库\n（免改装）"}
  - {id: w3_function_test,      lane: warehouse,  row: 9,  shape: rect,        label: "FT W3 功能测试"}
  - {id: under_modification,    lane: warehouse,  row: 10, shape: rect,        label: "09 本地化改装"}
  - {id: conversion_validated,  lane: warehouse,  row: 11, shape: rect,        label: "10 改装已验证"}
  - {id: branded_ready,         lane: warehouse,  row: 12, shape: rect,        label: "11 W4 可售库存"}

  # === P5-P6 销售 / 收款 ===
  - {id: reserved,              lane: sales,      row: 13, shape: rect,        label: "12 已锁单"}
  - {id: payment_collected,     lane: finance,    row: 14, shape: rect,        label: "P6.1 收款记录"}
  - {id: payment_validated,     lane: finance,    row: 15, shape: rect,        label: "13 收款已核验\nG5 硬阻塞"}

  # === P7-P8 交付 ===
  - {id: ready_for_delivery,    lane: sales,      row: 16, shape: rect,        label: "14 准备交付"}
  - {id: delivery_approval,     lane: sales,      row: 17, shape: rect,        label: "DA 交付审批"}
  - {id: delivery_validation,   lane: sales,      row: 18, shape: rect,        label: "DV 交付验证"}
  - {id: delivered,             lane: sales,      row: 19, shape: xor,         label: "15 已交付 / 收入确认\n（两分支：租赁 / 售后）"}

  # === P9 三分支 ===
  - {id: on_rental,             lane: sales,      row: 30, shape: oval,        label: "17 租赁中\n（流程 3 / W5）"}
  - {id: support_ticket,        lane: aftersales, row: 21, shape: oval,        label: "ST 客户报修\n（流程 2 起点）"}
  - {id: return_initiated,      lane: aftersales, row: 22, shape: rect,        label: "RI 发起退回"}
  - {id: return_received,       lane: aftersales, row: 23, shape: rect,        label: "RR 退回签收"}
  - {id: at_w6_aftersales,      lane: aftersales, row: 24, shape: xor,         label: "W6 售后库\n（三向处置）"}
  - {id: under_repair,          lane: aftersales, row: 25, shape: rect,        label: "18 维修中"}
  - {id: repaired,              lane: aftersales, row: 26, shape: rect,        label: "19 已修复"}
  - {id: quote_approve,         lane: aftersales, row: 27, shape: rect,        label: "QA 保修外报价"}
  - {id: closed,                lane: aftersales, row: 28, shape: end-oval,    label: "21 终结"}

# 流转线
edges:
  - {from: po_created,            to: in_production,         style: normal}
  - {from: in_production,         to: ready_to_ship,         label: "G1 预测锁定",         style: approve}
  - {from: ready_to_ship,         to: in_transit,            label: "G2 可发运",           style: approve}
  - {from: in_transit,            to: bonded,                style: normal}
  - {from: bonded,                to: customs_cleared,       label: "G3 清关放行",         style: approve}
  - {from: customs_cleared,       to: received,              style: normal}
  - {from: received,              to: at_w1_pdi,             style: normal}
  - {from: at_w1_pdi,             to: at_w2_rle,             label: "免改装",              style: normal}
  - {from: at_w1_pdi,             to: w3_function_test,      label: "需改装",              style: normal}
  - {from: w3_function_test,      to: under_modification,    style: normal}
  - {from: under_modification,    to: conversion_validated,  style: normal}
  - {from: conversion_validated,  to: branded_ready,         style: normal}
  - {from: at_w2_rle,             to: branded_ready,         style: normal}
  - {from: branded_ready,         to: reserved,              label: "G4 合同签订",         style: approve}
  - {from: reserved,              to: payment_collected,     style: normal}
  - {from: payment_collected,     to: payment_validated,     style: normal}
  - {from: payment_validated,     to: reserved,              label: "驳回",                style: reject}
  - {from: payment_validated,     to: ready_for_delivery,    style: normal}
  - {from: ready_for_delivery,    to: delivery_approval,     style: normal}
  - {from: delivery_approval,     to: delivery_validation,   style: normal}
  - {from: delivery_approval,     to: ready_for_delivery,    label: "驳回",                style: reject}
  - {from: delivery_validation,   to: delivered,             label: "G6 交付完成",         style: approve}

  
  # ── 流程 3：租赁（独立子流程，无跨流程 edge）──
  # （on_rental 自身即流程 3 起点；租期结束后业务上转入流程 2 售后入口，但流程图不连线）

  # ── 流程 2：售后（独立子流程，客户报修起点）──
  - {from: support_ticket,        to: return_initiated,      style: normal}
  - {from: return_initiated,      to: return_received,       style: normal}
  - {from: return_received,       to: at_w6_aftersales,      style: normal}

  # ★ W6 三向处置 fan-out（分支 6 — Disposition fan-out）
  - {from: at_w6_aftersales,      to: under_repair,          label: "保内维修",            style: approve}
  - {from: at_w6_aftersales,      to: quote_approve,         label: "保修外报价",          style: normal}
  - {from: at_w6_aftersales,      to: closed,                label: "直接处置",            style: reject}

  # 保修外报价 → 客户审批
  - {from: quote_approve,         to: under_repair,          label: "客户同意",            style: approve}
  - {from: quote_approve,         to: closed,                label: "客户拒绝",            style: reject}

  # 维修 → 修复完成 → 回主线
  - {from: under_repair,          to: repaired,              style: normal}
  - {from: repaired,              to: delivered,             label: "返还客户",            style: async}
  - {from: repaired,              to: branded_ready,         label: "重新可售",            style: async}

# 右侧 sidebar — 每行：动作描述 \n 填写：字段1、字段2、...
sidebar:
  title: 备注
  rows:
    - |-
      动作：在主档创建采购单 PO，按 {PO#}-LINE-{NNN} 给每台机器人分配占位 SN
      填写：FF 内部序列号(主键)、FF 内部序列号、占位 SN（历史）、型号、型号变体、用途分类、采购单号(PO)、采购日期、采购合作方、采购价
    - |-
      动作：跟进工厂生产进度，回传 QC 状态
    - |-
      动作：出厂前确认 + 发运准备（通过 G1 预测锁定 / G2 可发运）
      填写：合规贴纸、可售日期
    - |-
      动作：订舱 + 中方报关 + 国际海运
      填写：到货日期、物流状态、运输备注、进口申报类型、关税类型、运输收据链接
    - |-
      动作：FTZ 自由贸易区暂存
      填写：合规备注
    - |-
      动作：关税缴纳 + 美国清关放行（通过 G3）
      填写：FCC 状态
    - |-
      动作：★ 美国总部 Goods Receipt 登记；激活占位 SN → 替换为正式 FF SN（原值保留至 Placeholder SN 列）
      填写：供应商序列号
    - |-
      动作：W1 初步检查 + 分流判定。⑴ 免改装 → W2 外采库；⑵ 需改装 → W3 功能测试 → 改装 → 验证 → W4
      填写：问题(Issue)、问题标签
    - |-
      动作：免改装路径：直入 W2 外采库（RLE / R&D / Marketing 用途）
    - |-
      动作：W3 改装前功能测试，生成功能测试报告
    - |-
      动作：执行三项关键改装：软件刷写 / 硬件配置 / 合规标签贴附
      填写：机身 FCC 标、机身 Made in CN 标、机身 SN 标、遥控器 SN 标、电池 SN 标、检验单标、出货箱标
    - |-
      动作：通过改装验收门（Conversion Validation Gate）
    - |-
      动作：W4 入库 + 分配 Specialist + 清点 10 项配件，记录可交付天数
      填写：负责 Specialist、物理状态、可交付天数、机器人主机、电池、遥控器、美式电源线、中式带转接线、电源、充电底座、脚垫、工具/备件包、文件资料
    - |-
      动作：创建销售订单 SO，绑定客户、Mentor / Mentee、报价（通过 G4 合同签订）
      填写：客户、销售订单号、销售价-硬件、销售价-软件、导师(Mentor)、学员(Mentee)、合同状态、机器人销售协议链接、共创合约 Superone、机器人共创合约
    - |-
      动作：登记客户付款（支持多种付款方式与凭证）
      填写：付款方式、收款状态、定金转账单链接、定金转账合约链接 汽车
    - |-
      动作：财务核验付款：全款 OR 金融审批通过 → 放行（通过 G5 硬阻塞）
      填写：交付前付款合同状态
    - |-
      动作：创建交付单 + 预约交付方式与日期
      填写：交付单号、交付方式、预计交付日期
    - |-
      动作：交付审批 + 签字表 + 验收表准备（Acceptance Form）
      填写：签字表状态、验收表、验收表状态(Sales)、验收表链接、交付前备注
    - |-
      动作：交付前三件套核验：序列号一致 / 客户确认 / 准备就绪
    - |-
      动作：PGI 过账 → 触发收入确认、发票、保修激活（通过 G6 交付完成 — 主流程终点）
      填写：交付时间、成本、毛利、收入确认、开票状态、保修状态
    - |-
      ═══ 流程 2 售后 ═══
      （流程 1 在 15 已交付终止，售后流程独立起点）
    - |-
      动作：【流程 2 入口】客户报修，接入售后工单，登记设备 SN
      填写：服务记录、客户反馈
    - |-
      动作：发起 RMA 退回授权，安排上门取件
    - |-
      动作：总部签收入库，记录签收人与时间
    - |-
      动作：★ 三向处置 fan-out：保内维修 / 保修外报价 / 直接处置（Luis 退回检验后判定）
    - |-
      动作：保内（Warranty）或保外（OOW）维修，登记维修类型与记录
    - |-
      动作：修复完成 → 返还客户保留 OR 重新入 W4 可售
    - |-
      动作：保修外（OOW）报价；客户同意 → 转维修，客户拒绝 → 直接终结
    - |-
      动作：资产注销终态（Scrapped 报废 / Swapped-to-AGIBOT 换货 / Cancelled 取消）
    - |-
      ═══ 流程 3 租赁 ═══
      （独立起点：客户选择租赁而非购买）
    - |-
      动作：【流程 3 入口】客户租赁而非购买；进入 W5 仓库，跟踪租期与租赁合同。租期结束后按业务转入流程 2 售后入口（流程图不连线）

