feat(mcp): 新增 district.paper.trace.list.query 客户换纸记录工具 (REQ-20261012-0002)

- ES paperuselog 热/冷索引 + LocalEsDate 云/本地集群路由(复用 statistics 同款)
- 出分页明细(from+size+track_total_hits),不复刻老系统 scroll 轨迹展开
- snCode/rfid 走 .keyword 精确匹配(修老系统 matchQuery 分词坑)
- state 可选(2上纸/4撤纸,不传查所有,修老系统强制覆盖坑);区间硬限 31 天
- applyDistrictRowFilter 站点可见性校验(老系统此接口无鉴权属历史遗漏,MCP 收紧)
- isAssignment 查 m0 rfid_info assignment_flag>=1;v1 不返回满卷标记
- 单测 420/420(新增 gateway 4 例 + 工具 9 例)
This commit is contained in:
my_local_kimi_dev2
2026-10-12 14:18:30 +08:00
parent 8eaadbf527
commit f55e07f6ec
11 changed files with 1036 additions and 0 deletions
@@ -977,6 +977,26 @@
---
## 38. district.paper.trace.list.query
客户换纸记录分页查询(ES paperuselog 热索引 / paperuselog_all 冷索引),复刻老
`/MonthlyStatistics/getRfidTraceList` 的数据查询语义但**出分页明细**(不复刻轨迹展开)。
- 分类:district | 类型:读
- 入参:`districtId`、`startDate`、`endDate` 必填(yyyy-MM-dd 闭区间,endDate 不得晚于今天,区间硬限 31 天);
可选 `snCode`/`rfid`(**.keyword 精确匹配**)、`state`(2=上纸/4=撤纸,不传=查所有)、`deviceType`(0/1)、
`page`/`rows`(默认 1/20,上限 100 截断 + notice)。
- 返回 `districtId/districtName/index/total/page/rows/records`,record 含 createTime、state+stateText、rfid、
snCode、**lengthCm**(原始长度,单位厘米)、paperlengthCm、positionsId(0=厕所级)、toiletId、gender+genderText、
deviceType、isAssignment(m0 rfid_info assignment_flag≥1);按 createTime ASC 排序。
- 行级权限:`applyDistrictRowFilter` 校验站点可见性,不可见返回「站点不存在或无权访问」(老系统此接口无鉴权,属历史遗漏,MCP 收紧)。
- LocalEsDate 集群分界与冷热索引路由复用 district.paper.statistics.query 同款;跨界拒绝、字典缺失 fail fast。
- v1 不返回满卷标记(newPaperFlag),由 agent 按原始 lengthCm 自行判断。
详细设计见 [paper-trace-list-mcp-design](paper-trace-list-mcp-design.md)。
---
---
## 附录:在线查看工具清单