# 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`。