58 lines
2.2 KiB
Markdown
58 lines
2.2 KiB
Markdown
# rpa_contract
|
||
|
||
合同班。从表 3 领取、按 `supplierId` 合单、调页面录入、写表 4。接口 4 组包在 `rpa_oms`,本班不推、不改 `push_status`。
|
||
|
||
| | |
|
||
| --- | --- |
|
||
| 读 | 表 3 `rpa_purchase_contract_data`(`process_status=0`;跳过 `contractEntryStatus=0` 且已有 `contractNo` 的协议重录行) |
|
||
| 写 | 表 4 `rpa_contract_agreement_result`(`actionCode=1`,提交成功 `contractStatus=1` 起草) |
|
||
| 口 | 口 3 收件在 `rpa_oms`;口 4 组包在 oms,path 空 |
|
||
|
||
一天两班(中午、下午)。启动瞬间冻结本班名单(`process_status` 0→3)。按 `supplierId` 合单;头字段取该班该供应商第一行。下午同一供应商另开一份。
|
||
|
||
口径:`docs/RPA订单中心接口开发口径_20260930.md` 第 4 节;合单细节见 `docs/合同系统录入流程.md`。
|
||
|
||
## 测试账号
|
||
|
||
地址:`http://contract-test.gzmpc.com:8080/`
|
||
账号:`test002 / 1`
|
||
客商必须是合同系统里真实存在的操作码,占位符搜不到。例如 `DW0100046361` / `重庆亿昊药业有限公司`。
|
||
|
||
## 页面步骤
|
||
|
||
脚本直达起草/模板 URL:
|
||
|
||
1. 打开合同系统并登录
|
||
2. 进起草,套非格式采购协议模板
|
||
3. 签约方:客户编码、客户名称
|
||
4. 尽调:页面正文含「未尽调」则本单失败,不提交
|
||
5. 基础信息:合同版本类型、合同类别、结算类型、合同背景概述、合同性质=主合同
|
||
6. 金额与日期:签订日 / 开始日 / 结束日用接口 3 第一行三日期(JSON 干跑未给则回退 `orderDate`)
|
||
7. 货品明细
|
||
8. 付款与标志:这期一律账期,不勾预付款;页面「账期支付」对应选项「电汇」
|
||
9. 点提交,不要点暂存
|
||
10. 从「我的合同」读正式合同号
|
||
|
||
## 运行
|
||
|
||
JSON 干跑(不领表):
|
||
|
||
```bash
|
||
cd rpa_contract
|
||
uv sync --python 3.12
|
||
uv run pytest tests/test_job.py::test_job_merges_same_supplier_and_writes_table4 -q
|
||
uv run python main.py --input-json examples/contract_create_input_dry_run.json
|
||
```
|
||
|
||
班次(领表 3):
|
||
|
||
```bash
|
||
uv run python run_batch.py
|
||
```
|
||
|
||
`submitMode=dry_run` 跑到提交前,不点提交。真起草用 `examples/contract_draft_yyc.json` / `examples/contract_draft_xyy.json`。
|
||
|
||
## 本期不做
|
||
|
||
返利班、向订单中心发 HTTP、改 `push_status`。
|