# 契约锁协作采纳（案例）合同查询

`archive-oa.qys.contract.list`：查询契约锁协作采纳（用户常称「案例」）的合同列表。

## 命令

Windows PowerShell：

```powershell
weaver-work-cli --json archive-oa run archive-oa.qys.contract.list --input-json '{"pageNo":1}'
weaver-work-cli archive-oa qys list
```

macOS/Linux（bash/zsh）：

```bash
weaver-work-cli --json archive-oa run archive-oa.qys.contract.list --input-json '{"pageNo":1}'
weaver-work-cli archive-oa qys list
```

## 输入

| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `pageNo` | integer | 否 | 页码，从 1 开始，缺省 1 |
| `fields` | array | 否 | 搜索条件数组，元素 `{ field, conditionType, value }` |
| `matchType` | string | 否 | `and`（默认）或 `or` |
| `archivedOnly` | boolean | 否 | 默认 `true`：附加 `cljd=已归档`（处理进度=已归档）过滤；传 `false` 可查询全部进度 |

契约锁与泛微是两套独立应用，`passid` / `listId` / `cusMenuId` 各不相同；搜索字段配置接口（`showFilters`）源资料未收录，字段名不确定时**先用泛微 `archive-oa.contract.fields` 的字段规则参考，并提示用户确认**。

## 输出处理

- 行数据在 `rows`，列定义见 `meta.columns`。
- `rows[].id` 静默缓存供 `archive-oa.qys.borrow-car.add.prepare` 的 `dataIds` 使用，不展示给最终用户。
- `archivedOnly` 为 `true` 而结果为空时，提示可改为 `false` 查询全部处理进度，不要直接判定为无数据。
- **展示列固定为 8 列**（与契约锁列表页一致，其余字段一律不展示）：合同号 `hth`、企业名称 `qymc`、最终客户名称 `zzyhmc`、签订日期 `qyrq`、产品名称 `cpmc`、客户所在省份 `khszsf`、区域 `tjrbm`、所属行业 `szxy`。**契约锁与泛微字段名不同**（签订日期是 `qyrq` 而非 `qdrq`），不要套用泛微字段名；契约锁搜索字段配置（`showFilters`）源资料未收录，筛选字段名不确定时先向用户确认。
- **禁止翻页**：只查询 `pageNo=1`，**不得请求 `pageNo≥2`**、不做循环翻页累加；单次最多展示 20 条。命中超过 20 条时说明总数，并提示用户缩小筛选条件，**不得通过翻页获取更多数据**。
- 结果默认用 Markdown 表格输出（第一列「序号」从 1 递增，分隔行 `| :---: |` 居中）。

## 失败处理

| 场景 | 处理 |
| --- | --- |
| `authentication` / `session_expired` | 停止并让用户重新登录 |
| 字段名不确定 | 先向用户确认字段内部名，不猜测 |
| 用户说「案例」 | 走本链路；用户说「商务合同」而未指明来源时，先确认泛微还是契约锁 |
