- osi.LastHealthCheck(JKTJLSJL00002 /auto/jktjlscx/query) - contract.HealthCheckSummary 只强类型化定位字段,完整内容走 Result.Raw - codes.go 登记 JKTJLSJL00002 + JKTJLIST00002 路由 - 单测:路径/解码/Raw 保留/idcard 小写映射/单键校验(脱敏假数据) - 实测:单查 JKTJ00002 平台未部署;data 为单对象;身份证字段小写 idcard Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
20 lines
1.0 KiB
Go
20 lines
1.0 KiB
Go
package contract
|
|
|
|
// 健康体检查询契约(JKTJ)。
|
|
//
|
|
// 体检记录字段极多(实测最近一次样本约 260 项,分 4 个 object 子节点 +
|
|
// 3 个 array 子节点,见 docs/04 §11)。查询场景只需定位/摘要字段即可,
|
|
// 完整内容由 osi.Result.Raw 原样保留;全量字段的强类型建模留到体检 create
|
|
// 任务(写入映射才真正需要每个字段),避免照单样本猜 null 字段类型。
|
|
//
|
|
// 注意与档案的两处差异:
|
|
// - 最近一次体检 data 是**单个对象**(档案 find 的 data 是数组)。
|
|
// - 体检身份证字段是小写 `idcard`(档案是 `idCard`)。
|
|
type HealthCheckSummary struct {
|
|
CheckID string `json:"checkId"` // 体检记录主键;各子节点用 healthCheck 外键指向它
|
|
HealthCheck string `json:"healthCheck"` // 冗余外键,值等于 checkId
|
|
IDCard string `json:"idcard"` // 体检用小写 idcard
|
|
PersonName string `json:"personName"`
|
|
CheckDate string `json:"checkDate"`
|
|
}
|