AutoRpa/rpa_rebate
34BFF76918A9449ABAB323149DDCEA73 ac19e60eb5 feat: 返利班通用录入流程(总单、细单新增、送审)
查号后同一班补总单、按货品 ID 新增细单、送审写表 4。细单不做 Excel 导入。
承付参数总单和细单都填 25。同一合同一组一个结果。
合同货品弹窗按操作码搜,找不到则失败。
2026-10-13 17:29:43 +08:00
..
tests feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
.env.example feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
README.md feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
accept.py feat: 返利班查号走页面,录协议仍用替身 2026-10-08 10:23:23 +08:00
apa_browser_adapter.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
db.py feat: 返利班查号走页面,录协议仍用替身 2026-10-08 10:23:23 +08:00
errors.py feat: 返利班查号走页面,录协议仍用替身 2026-10-08 10:23:23 +08:00
job.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
persist.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
pyproject.toml feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
rebate_finder.py feat: 返利班查号走页面,录协议仍用替身 2026-10-08 10:23:23 +08:00
rebate_flow_steps.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
repo.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
run_batch.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
run_find.py feat: 返利班查号走页面,录协议仍用替身 2026-10-08 10:23:23 +08:00
run_header.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
run_import.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
run_submit.py feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
uv.lock feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
现行模式.md feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
返利流程(1).md feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00
返利流程.md feat: 返利班通用录入流程(总单、细单新增、送审) 2026-10-13 17:29:43 +08:00

README.md

rpa_rebate

返利班。领表 4 起草行、表 3 只录协议行,按合同号查返利中心。搜到后同一班走总单 → 细单新增 → 送审;送审成功才写表 4。接口 4 组包在 rpa_oms,本班不推、不改 push_status。细单不做 Excel 导入。现行字段见 现行模式.md、返利流程.md。

读 表 4 action_code=1 AND contract_status=1(已有合同号、尚未回成功);表 3 contract_entry_status=0 且已有 contractNo
写 表 4:搜到则起草行 contractStatus=2;送审成功插 actionCode=2、agreementStatus=1,带总单/细单号
口 口 4(组包在 oms,path 空)

与合同同一天两班,建议合同班跑完再跑。查号挂在本班,不单开查状态任务。搜不到不重录合同,戳改回 合同班,留给下一班再搜。

口径:docs/RPA订单中心接口开发口径_20260930.md 第 5 节。

运行

内存替身(不连库、不开浏览器):

cd rpa_rebate
uv sync --python 3.12
uv run pytest tests/test_job.py::test_job_finds_contract_and_writes_agreement -q
uv run pytest tests/test_finder.py::test_find_flow_writes_accept_for_missing_number -q
uv run pytest tests/test_header.py::test_header_flow_writes_accept_with_order_no -q
uv run pytest tests/test_import.py::test_import_flow_writes_accept_with_success_fail -q
uv run pytest tests/test_submit.py::test_submit_flow_writes_accept_with_order_nos -q

页面查号(不开录协议、不连 Oracle)。账号放本机 .env:

cd rpa_rebate
uv run python run_find.py

验收看控制台 ACCEPT SUMMARY REBATE_FIND 或 screenshots/REBATE_FIND/ACCEPT.txt。默认搜哨兵号,期望 found=no。要搜真号:REBATE_ACCEPT_CONTRACT_NO=合同号。

页面总单(复用查号已登录 Chrome,不送审、不连 Oracle):

cd rpa_rebate
uv run python run_header.py

验收看控制台 ACCEPT SUMMARY REBATE_HEADER 或 screenshots/REBATE_HEADER/ACCEPT.txt。需要 REBATE_ACCEPT_CONTRACT_NO。优先表 3:供应商 MDM、货品行。计划员「廖建琦」,联系人「苏文辉」,承付「下月N号结」,承付参数 25,结算「电汇」,协议开始/结束当天。卡片仍在「编辑」时点总单工具栏保存。

页面细单新增(复用查号已登录 Chrome,不送审、不写 actionCode=2、不连 Oracle,不做 Excel):

cd rpa_rebate
uv run python run_import.py

验收看控制台 ACCEPT SUMMARY REBATE_IMPORT 或 screenshots/REBATE_IMPORT/ACCEPT.txt,须货品表有行。需要 REBATE_ACCEPT_CONTRACT_NO。表 3 有货品则按行新增;空缺再用 REBATE_GOODS_ID / REBATE_QTY / REBATE_TAX_PRICE / REBATE_ORDER_NO(或 REBATE_IMPORT_LINES JSON,字段 goodsId)。货品编码三个点按货品ID搜。细单备注=订单号,特定补偿=0,承付参数=25。不要用操作码或 MDM 码去搜。

页面送审(复用查号已登录 Chrome,不写 actionCode=2、不连 Oracle、不推口 4):

cd rpa_rebate
uv run python run_submit.py

验收看控制台 ACCEPT SUMMARY REBATE_SUBMIT 或 screenshots/REBATE_SUBMIT/ACCEPT.txt,须带总单号/细单号。需要 REBATE_ACCEPT_CONTRACT_NO。点完马上能看见号才回成功。

接口 4 组包(rpa_oms,不发 HTTP):

cd rpa_oms
uv run pytest tests/test_contract_agreement_outbound.py::test_assembles_unpushed_rows_as_document_envelope -q

本期不做

向订单中心发 HTTP、改 push_status。