docs: 登记 T-306 全部体检查询(JKTJ00002 实测字段校准)

- docs/04 §11.1 记录驼峰 idCard、历史 checkId 为 null 两个坑
- docs/01 §5.2 JKTJ00002 联调可用;tasks T-306 DONE

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-08 22:14:39 +08:00
co-authored by Claude Opus 4.8
parent f3c5e1bf8d
commit adc99e1b43
5 changed files with 21 additions and 8 deletions
+9
View File
@@ -233,3 +233,12 @@
- 验证:待用户 `go test ./...`、`go build ./...` 复验(本环境离线无工具链)。
- 决策:端点直接回写 `Result.Raw`(同档案端点 T-208),完整内容不裁字段;last 按 idCard/phrid/empiId,list 按 checkYear(必填)+idCard+checkType;默认仅绑 127.0.0.1(返回真实档案/名单 PII)。
- 下一步:T-303 老年人查询探针。
## 2026-07-08 JKTJ00002 某人全部体检查询打通
- 状态:DONE
- 变更:`osi/codes.go` 登记 `ServiceIDJKTJQuery=JKTJ00002` → `/auto/jktj/query`;`contract/jktj.go` 加 `HealthCheckRecordSummary`(驼峰 idCard、checkId 可空);`osi/jktj.go` 加 `QueryHealthChecks`(返回数组);`handler/health_check.go` 加 `/api/health-check/all` 端点;`server.go` 注册路由;`osi/jktj_test.go`/`handler/health_check_test.go` 加测试(含 null checkId 场景);`docs/01 §5.2`、`docs/04 §11.1` 校准。
- 验证:Python 探针实测 JKTJ00002 `code=01`,返回 8 条体检历史(2013–2026)。Go 侧待用户 `go test ./...`。
- 发现(实测校准):① JKTJ00002 身份证字段是**驼峰 `idCard`**(≠ 最近一次小写 `idcard`;体检三接口 last 独用小写);② **`checkId` 仅近年记录有值,历史记录为 `null`**(本样本仅最近 2 条有编号)——历史体检只能按 `checkDate` 定位;③ 数组元素结构同 §11.3。
- 决策:数组查询只强类型化定位字段(checkId/checkDate/idCard/personName),完整体检走 Result.Raw;单独建 `HealthCheckRecordSummary`(驼峰 idCard)不复用最近一次的 `HealthCheckSummary`(小写 idcard),因平台字段大小写不一致。
- 下一步:go test 复验后提交;体检查询三接口(最近一次/全部/名单)osi+HTTP 全齐。