AutoRpa/rpa_rebate/README.md

75 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 节。
## 运行
内存替身(不连库、不开浏览器):
```bash
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`:
```bash
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):
```bash
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):
```bash
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):
```bash
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):
```bash
cd rpa_oms
uv run pytest tests/test_contract_agreement_outbound.py::test_assembles_unpushed_rows_as_document_envelope -q
```
## 本期不做
向订单中心发 HTTP、改 `push_status`。