76 lines
3.6 KiB
Markdown
76 lines
3.6 KiB
Markdown
# 合同系统录入流程(现行)
|
||
|
||
对照:`RPA订单中心接口开发口径_20260930.md` 第 4 节。
|
||
页面动作对照:`rpa_contract/contract_flow_steps.py`、`rpa_contract/selectors/contract_create_selectors.json`、`rpa_contract/examples/`。
|
||
|
||
状态中心 job / 13 节点 / start-complete-fail **不再使用**。合单、班次、回写以口径为准;点哪些控件以 `rpa_contract` 为准。
|
||
|
||
---
|
||
|
||
## 1. 数据从哪来
|
||
|
||
订单中心推接口 3,落入 `rpa_purchase_contract_data`。合同班读 `process_status=0`。
|
||
|
||
一天两班(中午、下午)。启动瞬间冻结本班名单,跑的过程中新进的下一班再处理。
|
||
|
||
按 `supplierId` 合成一份合同:
|
||
|
||
- 不用 `omsId`,不用供应商名称
|
||
- 头字段(账期、签订日、起止日、采购员、计划员)取该班该供应商**第一行**
|
||
- 下午同一供应商另开一份,不改上午已录合同
|
||
- `contractEntryStatus=0` 且带 `contractNo`:只录返利协议,不进合单、不重开合同
|
||
|
||
旧脚本按「供应商 + 订单日期」建单,并且把签订日/开始日写成订单日期。那是上一套模型,不要抄。
|
||
|
||
---
|
||
|
||
## 2. 页面步骤(合同测试系统)
|
||
|
||
地址:`http://contract-test.gzmpc.com:8080/`
|
||
测试账号见 `rpa_contract/README.md`。客商必须是系统里真实存在的操作码,占位符搜不到。
|
||
|
||
脚本现用直达起草/模板 URL,绕过左侧菜单和「点模板」的前端委托(Selenium 点不中):
|
||
|
||
- 起草:`DRAFT_PAGE_URL`
|
||
- 非格式采购协议(2025 集团版)模板 ID:`198d10b04325279b8ffeb8b4c6493b5a` → `FORM_PAGE_URL`
|
||
|
||
顺序:
|
||
|
||
1. 打开合同系统并登录
|
||
2. 进起草,套非格式采购协议模板
|
||
3. 签约方:客户编码、客户名称(用接口 3 的供应商 MDM / 名称,以页面能搜到的为准)
|
||
4. 基础信息:合同版本类型、合同类别、结算类型、合同背景概述、合同性质=主合同
|
||
5. 金额与日期:签订日 / 开始日 / 结束日用接口 3 第一行的 `contractSignDate`、`contractStartDate`、`contractEndDate`
|
||
6. 货品明细:该班该供应商合进来的行(货品、规格、数量、单价、MDM)
|
||
7. 付款与标志:这期一律账期,**不勾预付款**;付款期限用 `paymentTerm`。页面「账期支付」对应选项「电汇」(见脚本 `_PAYMENT_ALIASES`)
|
||
8. **尽调**:看合同系统页面回显。未尽调 → 本单失败,原因「客户未尽调」,不往下填。旧脚本没有这一步,口径有
|
||
9. 点**提交**,不要点暂存。暂存号不拿去录返利
|
||
10. 从「我的合同」读正式合同号
|
||
|
||
医药城同供应商同日 PDF 合并上传,是旧主链(平台导出扫描件)的步骤。接口 3 这条链有没有附件,录合同时再核对,不要默认还去拼 PDF。
|
||
|
||
---
|
||
|
||
## 3. 提交之后
|
||
|
||
提交成功:
|
||
|
||
- 写入表 4,接口 4 `actionCode=1`,`contractStatus=1`(起草),带合同号
|
||
- 同一份合同下多个 `fid` 回同一套号和状态
|
||
- **合同任务结束。不要重录合同。**
|
||
|
||
「合同成功」不是提交成功,而是返利中心能搜到这个合同号。查号挂在返利班,搜到再回 `contractStatus=2`;搜不到不重录,下一班再搜。
|
||
|
||
---
|
||
|
||
## 4. 代码要从哪抄
|
||
|
||
| 要 | 文件 |
|
||
| --- | --- |
|
||
| 打开/登录/填表/提交/读号 | `rpa_contract/contract_flow_steps.py` |
|
||
| 字段 name / 选择器 | 同文件里的 `F`、`X`;`selectors/contract_create_selectors.json` |
|
||
| 浏览器适配 | `rpa_contract/apa_browser_adapter.py` |
|
||
| 干跑样例 | `rpa_contract/examples/contract_create_input_dry_run.json` |
|
||
|
||
旧状态中心(`callback_client.py` / `agent.py` / start-complete-fail)已从仓库删除。不要再接。
|