AutoRpa/docs/archive/采购主链RPA一期实施与验收规范.md

30 KiB
Raw Permalink Blame History

采购主链 RPA 一期 · 实施与验收规范

用途:把《三方会审版需求文档》和《设计文档》落成开发能照着做、验收能照着勾的执行手册。 读者:①Trae(写上层状态中心代码) ②艺赛旗 iS-RPA 开发(搭下层页面流程) ③业务方(按业务验收标准确认) ④项目负责人(你,通盘把控)。 语言:全中文。术语见文末《名词表》。


第一部分 · 总览:这套系统到底怎么分工

1.1 上下两层(务必先分清)

整套系统是上下两层,由两个不同工具实现,不要混为一谈:

┌──────────────────────────────────────────────────────────┐
│  上层:状态中心(大脑)          ← Trae 写后台+网页代码       │
│  · 决定每一单现在该走哪一步、出错派给谁                     │
│  · 存 job 状态 / 对码结果 / 证据 / 业务编号                 │
│  · 【步骤树状图界面】就在这层,是网页,业务打开就能看进度    │
│  · 不亲自去点任何外部系统的页面                             │
└───────────────────────────▲──────────────────────────────┘
                            │ HTTP 接口:下命令(派节点) / 收回执(成功/失败)
                            │ 传的都是 JSON,不共享数据库
┌───────────────────────────┴──────────────────────────────┐
│  下层:艺赛旗 iS-RPA(手脚)     ← 在艺赛旗设计器里可视化编排  │
│  · 真正去点 医药城/合同系统/返利中心/M5 的页面             │
│  · 是"搭流程",不是"录视频";能处理 M5 桌面客户端           │
│  · 每个动作做完,HTTP 回调状态中心报结果                    │
└────────────────────────────────────────────────────────────┘

澄清你最初的困惑:不是人去录视频。是两拨代码活——Trae 写状态中心(网页+后台),艺赛旗里搭 RPA 流程。步骤树状图是 Trae 做出来的网页界面,实时显示每单进度,不是 RPA 录出来的东西。

1.2 谁做什么(职责边界)

工作 归谁 产物
数据库建表、状态机、对码引擎、幂等去重 Trae 后台服务
派发节点、接收回调、判断下一步 Trae API
待办网页、步骤树状图、整单查询页 Trae 前端网页
企业微信推送、H5 待办确认 Trae 集成
登录各系统、导出Excel、建单、上传PDF、录入M5 艺赛旗 RPA流程包
页面动作做完回调状态中心 艺赛旗 HTTP回调
OCR 识别线下手工单 独立OCR服务(本地) 字段JSON
按业务验收标准确认每步对不对 业务方 验收签字

1.3 一次完整流程 = 一个 job

一个 job = 同一供应商 + 同一订单日期 + 同一来源 的一批订单 = 一条合同。 job 从①走到⑥,每一步是一个"节点",节点做完才走下一个。


第二部分 · 一页地图(贴在最显眼处)

════════════════════════════════════════════════════════════════════
  采购主链 RPA 一期 · 一页导读
  以销定采:先在京东/阿里卖货 → 反向采购 → 把每天手工采购链自动化
════════════════════════════════════════════════════════════════════
【主链六段】 ▓=RPA干  ░=人干  ⊙=RPA等                谁干   停了怎么办
┌──────────────────────────────────────────────┐
│ ① 导订单  登录平台→选前一天→导出Excel          │ ▓▓▓  登录失败→自动重试→运维
│    医药城:合同要合并PDF上传                    │
│    小药药:年度协议,不传合同                    │
│    线下单:图片走OCR (~100份/月)               │
├──────────────────────────────────────────────┤
│ ② 产品对码 ★核心难点★                          │ ▓▓▓  单条命中不了
│    平台药名→[通用名+批准文号+规格+厂家]→M5货品 │ ░    →这条挂起转人工
│    ②b 没采过的品种→M5新增货源                  │      →整批继续
├──────────────────────────────────────────────┤
│ ③ 合同建单 选模板→改签约日=订单日              │ ▓▓▓  合同禁掉失效
│    医药城:同供应商同日合同合并成1个PDF上传     │      →邮件通知采购
│    ┌送审→等半小时→出【合同编号】🔑            │ ⊙    (建议轮询别死等)
├──────────────────────────────────────────────┤
│ ④ 返利中心 用【合同编号】查总单→填→导细单      │ ▓▓▓  重复编码
│    细单备注必填【订单号】特定补偿必填0         │ ░    →挂起,整批继续
│    ┌送审 ⭐决定成败⭐ 不做则M5品种跳不出来      │ ▓▓▓  不送审→硬阻断
├──────────────────────────────────────────────┤
│ ⑤ M5建采购单(1055) 选正常保管账,备注填订单号   │ ▓▓▓  质管资料缺失
│    结算/发票/接收方式=返利中心已下发,不用填    │      →停!转人工,不等质管
│    ★★录完就停,不点保存★★                       │ ░    (②阶段其实已能预警)
├──────────────────────────────────────────────┤
│ ⑥ 收尾  检查→保存→签订→生成收货通知单          │ ░→▓  —
│    ⚠不可逆:签订后改不了,一期人工把关          │      (准确率OK后交RPA)
└──────────────────────────────────────────────┘
════════════════════════════════════════════════════════════════════
【两把钥匙:五系统无API,全靠RPA搬,靠这两个值接力】
  🔑货品ID/编码(②产出) ─贯穿─► ③④⑤ 填明细都用它
  🔑合同编号(③产出) ─► ④按合同号查总单→送审 ─► ⑤M5能带出协议
        反直觉:卡M5的送审在【返利中心】,不在合同系统
  🧵订单号(①产出,只追溯): 返利备注→物流软件看 │ M5备注→结算勾对账看
════════════════════════════════════════════════════════════════════
【停点分类:停住不蠢,分不清"整批停/单条挂起"才蠢】
  A.该停·业务拍板   M5质管缺失→停转人工不等质管;不可逆保存签订→留给人
  B.单条挂起别拖累   对码不上/返利重复编码→这条转人工,整批继续
  C.可以更聪明       等审批→轮询别死等;网页卡顿→自动重试1-2次再报警
════════════════════════════════════════════════════════════════════

第三部分 · 步骤树状图长什么样(Trae 要做的网页界面)

这是状态中心的核心界面,业务打开就知道每单跑到哪、卡在哪。

📋 Job: YYC-亿昊药业-20260804              状态: ⏸ 等待人工处理
────────────────────────────────────────────────────────────
 ✅ ① 导订单 ORDER_FETCH       导出12单       22:01  12秒  [看证据]
 ✅ ② 产品对码 PRODUCT_MATCH   对码 10/12 ⚠   22:01   3秒
       └─ ⏸ 2条未命中,等计划员选择                    [去处理→]
 ⬜ ②b 货源新增 SOURCE_ADD     —
 ⬜ ③ 合同建单 CONTRACT_CREATE —
 ⬜ ④ 返利总单 REBATE_HEADER   —
 ⬜ ④ 返利细单 REBATE_IMPORT   —
 ⬜ ④ 返利送审 REBATE_SUBMIT   —
 ⬜ ⑤ M5建单 M5_CREATE_ORDER   —
 ⬜ ⑥ 人工保存签订             —
 ⬜ ⑥ 生成收货通知单           —
────────────────────────────────────────────────────────────
 🔑合同编号: —   🔑返利总单号: —   🧵订单号: ZQD...(共12个)
 图标说明: ✅完成  ⏸等人处理  ❌失败  🔄重试中  ⬜未开始
────────────────────────────────────────────────────────────
 [重跑本单]  [转人工]  [查看完整事件流]  [导出证据包]

界面验收标准(给 Trae):

  • 能列出该 job 全部节点及状态(用上面10个节点)。
  • 每个已完成节点显示:完成时间、耗时、关键结果摘要、证据链接。
  • 等人处理的节点有醒目标识 + "去处理"按钮跳到待办页。
  • 顶部三把钥匙(合同编号/返利总单号/订单号)实时回填。
  • 失败节点显示错误码 + 人话原因 + 截图。
  • 列表能按状态筛选(全部/进行中/等人/失败/完成)。

第四部分 · 逐节点执行手册(核心)

读法:每个节点四块—— ①节点信息(谁干、前置、进出什么); ②页面操作步骤(给艺赛旗,一步一动作,能照着搭); ③验收标准分两栏——代码验收(给 Trae/艺赛旗,机器能自检)+业务验收(给业务方,人能对着勾); ④失败与去向(停了怎么办,派给谁)。

术语:complete=节点成功回调;fail=节点失败回调;挂起=这一条转人工、整批继续;硬阻断=整个 job 停。


节点① ORDER_FETCH · 订单获取

项 内容
执行方 艺赛旗 iS-RPA
前置条件 平台账号可登录;job 已建(来源+日期已定)
输入 来源类型(医药城/小药药)、订单日期(默认前一天)
输出 订单明细 Excel、订单号列表、供应商列表

页面操作步骤(给艺赛旗):

  1. 打开对应平台登录页,输入账号密码,登录。
  2. 进入"我的订单 / 订单管理"。
  3. 选择日期 = 前一天(或状态中心下发的指定日期)。
  4. 【待确认】按订单状态过滤(只取"待收货"还是含其他,等业务拍板)。
  5. 点"导出订单明细",等待下载完成。
  6. 把下载的 Excel 存到证据目录,截图当前页面。
  7. HTTP 回调 complete,带 Excel 路径 + 解析出的订单号列表 + 供应商列表。

输出示例(回调 complete):

{ "attemptNo": 1, "executorRunId": "YD-RUN-001",
  "artifacts": [{ "artifactType": "SOURCE_EXCEL", "storagePath": "/data/jobs/.../orders.xls" }],
  "summary": { "orderCount": 12, "supplierList": ["重庆亿昊药业有限公司"], "orderNoList": ["ZQD202608041850483308"] } }

验收标准

代码验收(机器自检) 业务验收(人对着勾)
[ ] 登录成功,进到订单列表页 [ ] 导出的单量 = 业务当天实际下单量,不多不少
[ ] 日期筛选值 = 目标日期 [ ] 供应商名、订单号与平台页面一致
[ ] Excel 成功下载且非空 [ ] 选的日期就是"前一天",没选错
[ ] 订单号/供应商已解析入 order_item [ ] 抽查一单:品名/规格/数量与平台一致
[ ] 证据目录有 Excel + 截图

失败与去向

情况 errorCode 可重试 去向
登录失败/验证码 SYS_LOGIN_FAIL 是(1-2次) 仍失败→运维OPS
页面卡顿/超时 SYS_PAGE_TIMEOUT 是(1-2次) 仍失败→运维OPS
导出按钮找不到(改版) UI_ELEMENT_NOT_FOUND 否 运维OPS
当天无订单 — — 正常结束,job 标记"空单"

节点①b OCR_EXTRACT · 线下手工单识别(仅线下单)

项 内容
执行方 独立 OCR 服务(本地优先) + 艺赛旗取件
前置条件 线下供应商发来的开单截图/PDF 已入证据目录
输入 图片/PDF 文件
输出 结构化字段 JSON(品名/规格/厂家/批准文号/数量/单价/供应商)+ 置信度

页面操作步骤:

  1. 读取线下单图片/PDF。
  2. 调 OCR 服务,拿回字段 + 每字段置信度。
  3. 低于阈值或缺关键字段 → 标记转人工。
  4. 识别结果写入 order_item(与线上同结构),进入对码。
  5. 回调 complete,带识别 JSON 与置信度。

验收标准

代码验收 业务验收
[ ] 每字段带置信度 [ ] 抽查:识别的品名/规格/数量与原图一致
[ ] 低置信度/缺字段 → 建人工待办 [ ] 人工能看到原图,方便核对
[ ] 识别结果结构与线上订单一致 [ ] 识别错的能改,改完能继续

失败与去向

情况 errorCode 可重试 去向
图片模糊/识别失败 BIZ_OCR_LOW_CONF 否 计划员PLANNER 看原图人工录
OCR 服务不可用 SYS_OCR_DOWN 是 仍失败→运维OPS

⚠️ 一期最大卡点:线上 OCR 涉信息安全,须法务+数据中心批;否则本地部署。此节点部署方式待确认。


节点② PRODUCT_MATCH · 产品对码 ★核心难点★

项 内容
执行方 状态中心(Trae 内部算,不点页面)
前置条件 order_item 已入库;对码表 mapping_config(PRODUCT) 已加载
输入 每行订单的:通用名/批准文号/规格/厂家
输出 每行 match_status(EXACT/FUZZY/MULTI/NONE) + 货品ID/编码;未命中清单

处理步骤(给 Trae):

  1. 每行做规范化(去空格、全半角、规格标准化,如 15×2↔30片、干一瓶↔×1瓶)。
  2. 拼四要素键:通用名+批准文号+规格+厂家。
  3. 精确命中对码表 → EXACT,回填货品ID/编码/基本单位。
  4. 规格/厂家容错命中 → FUZZY,标记待复核。
  5. 同商品名多规格 → MULTI,生成一对多候选,建人工待办。
  6. 无命中 → NONE,建人工待办。
  7. 全 EXACT/已确认 → 放行进③;有 MULTI/NONE → job 转 WAITING_USER。

验收标准

代码验收 业务验收
[ ] 每行都有明确 match_status [ ] 命中的货品ID确实是这个药(抽查)
[ ] EXACT 行回填了货品ID+编码+单位 [ ] 一对多候选是"同一个药的不同规格写法",不是乱配
[ ] MULTI 行有候选列表供 H5 选 [ ] 未命中的能在页面上一对多选择/新增
[ ] 命中率有统计数字 [ ] 人工确认后,下次同款能自动命中(累积迭代)
[ ] 人工确认结果回写对码表(新版本号) [ ] 进口药英文厂家名能容错匹配

失败与去向

情况 errorCode 可重试 去向
一对多 BIZ_MATCH_MULTI 否 该条挂起→计划员选候选;整批继续
无命中 BIZ_MATCH_NONE 否 该条挂起→计划员人工匹配/新增;整批继续

关键:未命中是单条挂起,不停整批。计划员处理完这条,继续跑其余。


节点②b SOURCE_ADD · 货源新增

项 内容
执行方 业务在 M5 手工新增(状态中心只通知)
前置条件 对码命中了货品,但该供应商从未采过该品种
输入 供应商 + 货品
输出 货源建好的确认

步骤:

  1. 状态中心判断"该供应商×该货品"无货源记录。
  2. 推企业微信待办给业务:去 M5 新增货源。
  3. 业务新增完,在待办点"已完成"。
  4. job 恢复继续。

验收标准

代码验收 业务验收
[ ] 能识别缺货源并建待办 [ ] 通知内容说清楚是哪个供应商+哪个品种
[ ] 业务确认后能继续 [ ] 新增货源后 M5 里能查到

失败与去向:缺货源→通知业务→业务新增→继续。不阻断其余可跑节点。


节点③ CONTRACT_CREATE · 合同建单

项 内容
执行方 艺赛旗 iS-RPA
前置条件 对码全部通过;供应商对照表已加载
输入 供应商、订单日期、货品明细、模板类型
输出 🔑合同编号、合同状态、模板类型

页面操作步骤(给艺赛旗):

  1. 登录合同系统 contract.gzmpc.com。
  2. 按供应商对照表判断模板:格式(默认)/非格式(承兑)。
  3. 可复制历史合同再改(业务现行做法)。
  4. 填基础信息;改签约日期/合同开始日期 = 订单日期(硬约束)。
  5. 填货品明细(操作码/货品编码、名称、国药准字、规格、单位、数量)。
  6. 填付款信息(必填:付款方式、天数)。
  7. 医药城分支:下载平台购销合同,同供应商同日合并成一个PDF上传(先合并,否则第二份覆盖第一份)。
  8. 小药药分支:格式合同,跳过合同证文上传。
  9. 汇总金额,提交送审。
  10. 回调 complete,带合同编号。

验收标准

代码验收 业务验收
[ ] 模板选择与对照表一致 [ ] 签约日期 = 订单日期,没填成今天
[ ] 签约日期字段 = 订单日期 [ ] 医药城:PDF 是同供应商同日全部合并的一份
[ ] 医药城已上传合并PDF且未被覆盖 [ ] 小药药:确实没传合同证文
[ ] 小药药未走上传分支 [ ] 合同金额/品种/数量与订单一致
[ ] 回传了合同编号 [ ] 承兑供应商用的是非格式模板

失败与去向

情况 errorCode 可重试 去向
供应商合同禁掉/失效 BIZ_CONTRACT_DISABLED 否 邮件通知采购(可多人)重新禁掉;该单挂起
PDF 合并能力不支持 CAP_PDF_MERGE_UNSUPPORTED 否 换平台/运维OPS
页面改版找不到元素 UI_ELEMENT_NOT_FOUND 否 运维OPS

节点④ CONTRACT_APPROVE_WAIT · 等合同审批

项 内容
执行方 状态中心(定时器)+ 艺赛旗查状态
前置条件 合同已送审
输入 合同编号
输出 审批通过确认

步骤:

  1. 送审后启动定时器(约半小时)。
  2. 到点后艺赛旗登录查审批状态(建议轮询,别死等)。
  3. 已通过→放行进④返利;未通过→继续等并重查;超阈值→升级运维。

验收标准

代码验收 业务验收
[ ] 有定时/轮询机制,不是硬睡死等 [ ] 只有审批"真的通过"了才进下一步
[ ] 未通过会重查,不误判 [ ] 卡太久会有人被通知去催
[ ] 超阈值升级 OPS

注意:未审批完也会生成合同编号,但必须审批完才导入返利中心。

失败与去向:超时未审完→保持等待并重查;超阈值→运维/催办。


节点⑤ REBATE_HEADER · 返利中心总单

项 内容
执行方 艺赛旗 iS-RPA
前置条件 合同审批通过,拿到🔑合同编号
输入 合同编号
输出 返利中心总单号

页面操作步骤:

  1. 登录返利中心 flgzmpc.com。
  2. 进"采购协议管理"。
  3. 按合同编号查对应总单。
  4. 总单信息空白,填必填项、勾必选项,保存。
  5. 回调 complete,带总单号。

验收标准

代码验收 业务验收
[ ] 按合同号查到了对应总单 [ ] 总单必填项都填了,能保存成功
[ ] 必填项无遗漏 [ ] 查出来的总单确实对应这份合同
[ ] 回传总单号

失败与去向:查不到总单/必填缺失→运维或采购核查。


节点⑥ REBATE_IMPORT · 返利细单导入

项 内容
执行方 艺赛旗 iS-RPA
前置条件 总单已建
输入 对码结果、数量、单价、订单号
输出 导入成功/失败行

页面操作步骤:

  1. 下载细单模板。
  2. 填字段:操作码/货品编码、数量、单价、税率、承付方式、参数、细单开始时间(=订单时间)、失效日期、结算方式、特定补偿=0、细单备注=订单号、货源信息。
  3. 上传导入。
  4. 读取成功/失败行及原因。
  5. 回调 complete,带成功/失败计数。

验收标准

代码验收 业务验收
[ ] 特定补偿字段 = 0 [ ] 细单备注确实填了订单号(物流部要看)
[ ] 细单备注 = 订单号 [ ] 数量/单价与订单一致
[ ] 细单开始时间 = 订单时间 [ ] 导入的品种数 = 应导数
[ ] 成功/失败行有明细回传 [ ] 失败行原因能看懂

失败与去向

情况 errorCode 可重试 去向
存在重复编码(订单已做过) REBATE_DUP_CODE 否 该单挂起→采购;整批继续(重建总单规则待确认)

节点⑦ REBATE_SUBMIT · 返利送审 ⭐决定成败⭐

项 内容
执行方 艺赛旗 iS-RPA
前置条件 细单导入成功
输入 总单
输出 送审完成(自动审批通过)

页面操作步骤:

  1. 在返利中心对该总单点"提交送审"。
  2. 送审即自动审批通过(合同前端已审过一遍)。
  3. 回调 complete。

验收标准

代码验收 业务验收
[ ] 确认送审动作已执行且成功 [ ] 送审后,M5 里能带出这个协议(关键验证)
[ ] 未送审绝不放行进 M5 [ ] 没漏送审的单

失败与去向:未送审→硬阻断(不送审 M5 带不出品种,整个 job 停在此)。

⭐反直觉核心:卡 M5 的送审在返利中心,不在合同系统。这一步不做,后面全废。


节点⑧ M5_CREATE_ORDER · M5 建采购单(1055)

项 内容
执行方 艺赛旗 iS-RPA(处理 M5 桌面客户端)
前置条件 返利已送审
输入 货品明细、数量、订单号
输出 M5 采购单(录入待保存,不点保存)

页面操作步骤:

  1. M5 采购订单管理 1055 → 新增。
  2. 选保管账 = 正常保管账(默认,只有一个)。
  3. 日期:若隔天做,改成前一天签约日期。
  4. 备注填订单号(给采购结算勾对账用)。
  5. 新增细单,选品种(返利已送审的才带得出)。
  6. 选对应数量(协议累计采购量为0说明没用过)。
  7. 结算/接收方式/发票 = 返利中心已下发自动带入,不填。
  8. ★录完就停,不点保存★。
  9. 回调 complete,标记"M5待保存"。

验收标准

代码验收 业务验收
[ ] 保管账 = 正常保管账 [ ] 品种/数量与订单、返利协议一致
[ ] 备注 = 订单号 [ ] 备注订单号填对了(结算要看)
[ ] 结算/接收/发票未手工填(用带入值) [ ] 确认停在"待保存",没被自动保存
[ ] 未触发保存动作 [ ] 隔天做的,签约日期改成了前一天

失败与去向

情况 errorCode 可重试 去向
质管资料缺失(供应商年报过期等) M5_QC_MISSING 否 停止→FAILED_MANUAL,转人工手工做,不等质管

⚠️ 硬规则:质管缺失不重试、不等质管(RPA 晚上跑,质管不会半夜维护)。直接转人工。


节点⑨ M5_MANUAL_CONFIRM · 人工检查→保存→签订

项 内容
执行方 一期=人工(可配开关,阶段二转 RPA)
前置条件 M5 已录入待保存
输入 待保存采购单
输出 已保存、已签订

步骤:

  1. 状态中心推待办给计划员:去检查。
  2. 计划员核对数量等 → 点保存 → 签订。
  3. 在待办确认已完成。

验收标准

代码验收 业务验收
[ ] auto_save_enabled 一期=0(人工) [ ] 数量核对无误才保存
[ ] 开关可切换,便于阶段二放开 [ ] 保存/签订后不可逆,确认无误
[ ] 人工确认动作有留痕 [ ] 错的能在保存前改掉

不可逆:保存/签订后改不了,一期人工把关。


节点⑩ M5_RECEIPT_NOTICE · 生成收货通知单

项 内容
执行方 一期=人工(可配开关)
前置条件 已签订
输入 已签订采购单
输出 收货通知单号

步骤:签订后点"生成收货通知单",采购合同流转结束。

验收标准

代码验收 业务验收
[ ] 收货通知单号已生成并回写 [ ] 供应商/货品/数量与采购单一致
[ ] 与 M5 单号关联落库 [ ] 通知单号能查到

节点⑪ ARCHIVE_JOB · 归档

项 内容
执行方 状态中心
前置条件 全链完成
输入 各业务编号
输出 完整编号链 + 证据包

步骤:把订单号→合同编号→返利总单号→M5单号→收货通知单号全部落库,证据(Excel/PDF/截图/日志/人工记录)归档。

验收标准

代码验收 业务验收
[ ] 五个业务编号全部落库可查 [ ] 拿任一编号能追到整条链
[ ] 证据包完整可导出 [ ] 抽查证据能还原当时操作

第五部分 · 你还没想到的事(容易漏,先摆到桌面)

这些不是需求,是"做的时候一定会撞上、现在不定后面返工"的坑。按优先级分档。

5.1 必须先拍板(不定就没法开工)

# 事项 为什么重要 建议
1 OCR 信息安全 线上OCR公司可能不批,决定 OCR_EXTRACT 部署方式 拉法务+数据中心+业务三方会;倾向本地部署
2 各系统账号 RPA 要登录5个系统,得有专用账号 要生产+测试账号;确认能否多开、会不会挤下线
3 M5 是桌面客户端还是网页 决定艺赛旗怎么接(桌面自动化 vs 浏览器) 让业务确认;艺赛旗能处理桌面,但要提前验证
4 订单状态过滤 只取"待收货"还是含其他,取错会多做/漏做 业务给明确状态清单
5 对码表/供应商对照表/计划员表/邮箱 缺了对码、判模板、派单、发通知都做不了 业务限时提供,格式先对齐

5.2 并发与调度(晚上批量跑必踩)

  • 一台 RPA 机同时只能开一个 M5? 65~75单/天,串行够不够跑完一晚?要不要多机。
  • 登录态互斥:同账号多处登录会不会把前一个踢下线。
  • 一个 job 卡住,别堵住后面的 job:队列要能跳过挂起的、继续跑能跑的。
  • 定时触发时间:几点跑?跑前一天订单,那"前一天"按几点切界。
  • 半小时等审批期间,RPA 机是空等还是去干别的 job(建议轮询+切换,别占着机器空等)。

5.3 数据与幂等(重复跑会出乱子)

  • 重复触发/重跑:同一天同供应商重跑,会不会在合同/返利/M5 建重复单。执行前必须先检索已有单号。
  • 加单/拆单:父订单号怎么关联,加单要重做协议——一期先记录转人工(待确认)。
  • 返利重复编码重建总单的完整规则(会议被打断没讲完,待确认)。
  • 金额/数量精度:单价小数位、合计对不对得上,别因四舍五入差分。
  • 同名不同药:对码四要素里任一不同就是不同药,别被商品名骗了。

5.4 异常与回滚(错了怎么收场)

  • 保存/签订不可逆:一期靠人工把关。切自动前必须有准确率报告(阶段二判据要定量)。
  • 中途失败的半成品:合同建了但返利没做,这单状态怎么标、下次怎么接着做。
  • RPA 跑一半崩了:节点要能从断点续,attempt_no+1,不覆盖历史。
  • 页面改版:5个系统任一改版,元素定位就失效。要有 UI_ 类告警,快速通知运维。
  • 误操作防线:M5 阶段一严禁自动点保存(auto_save_enabled=0 是硬默认)。

5.5 验收与上线(别一次全上)

  • 单来源先跑通:建议先医药城一个来源端到端,再加小药药、线下。
  • 准确率统计:对码命中率、各节点成功率要有数字,支撑"何时转全自动"。
  • 证据可回溯:每单能导出证据包(Excel/PDF/截图/日志),出问题能复盘。
  • 权限可见性:合同/OCR 证据按角色可见,敏感文件脱敏标记。
  • 联调顺序:状态中心单独跑通→假OCR假RPA打通全链→接真对码→接企业微信H5→接真RPA(先医药城)→返利/M5端到端。

5.6 安全底线(别裸奔)

  • 状态中心所有写接口必须鉴权(内部 Bearer / RPA X-Agent-Token / H5 企业微信换JWT)。
  • 回调接口必须校验 token + 幂等键,禁止无认证暴露。
  • 账号密码不写死在流程里,走密钥管理。

名词表

词 意思
状态中心 自研的编排+审计中台(Trae 写的后台+网页),大脑
艺赛旗 iS-RPA 下层 RPA 工具,真正去点各系统页面,手脚
job 一次完整流程实例 = 同供应商+同订单日期+同来源 = 一条合同
节点 流程里的一步(如 ORDER_FETCH),做完才走下一个
对码 把平台药名匹配到 M5 货品ID/编码(四要素:通用名+批准文号+规格+厂家)
挂起 单条转人工,整批继续跑
硬阻断 整个 job 停住
待保存 M5 录完但不点保存,一期留给人工检查
三把钥匙 🔑货品编码 / 🔑合同编号 / 🧵订单号,系统间靠这三个值接力