- osi.ListHealthCheckPeople(JKTJLIST00002 /auto/jktjlist/query) - ListHealthCheckQuery:checkYear 必填、page/rows 默认、idCard/checkType 可选 - contract.HealthCheckPerson 名单行 20 字段,字段名按实测校正(birthday/phrId/manaDoctorId/manaDocterName/empiId) - 单测:名单解码/路径/baseInfo 分页/checkYear 校验(脱敏假数据) - 实测端点已部署,code=01 返回分页人员名单 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
45 lines
2.4 KiB
Go
45 lines
2.4 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"`
|
||
}
|
||
|
||
// HealthCheckPerson 是 JKTJLIST00002 已检/未检名单里的一行(人员 + 体检状态,非体检明细)。
|
||
// 字段名以实测样本为准(docx 多处有误,见 docs/04 §11.4)。字段稳定且均为字符串,故全部建模。
|
||
type HealthCheckPerson struct {
|
||
CheckType string `json:"checkType"` // 体检状态:0 已检 / 1 未检
|
||
IDCard string `json:"idCard"`
|
||
PersonName string `json:"personName"`
|
||
PhrID string `json:"phrId"` // 注意驼峰(docx 误写 phrid)
|
||
EMPIID string `json:"empiId"`
|
||
Age string `json:"age"`
|
||
Birthday string `json:"birthday"` // docx 误写 birthDay
|
||
SexCode string `json:"sexCode"`
|
||
SignFlag string `json:"signFlag"` // 签约:y 已签约 / n 未签约
|
||
Rqbj string `json:"rqbj"` // 人群标志(同 personSign 码表,多值逗号分隔)
|
||
RegionCode string `json:"regionCode"`
|
||
RegionCodeText string `json:"regionCodeText"`
|
||
ManaUnitID string `json:"manaUnitId"`
|
||
ManaUnitText string `json:"manaUnitText"`
|
||
ManaDoctorID string `json:"manaDoctorId"` // docx 误写 manadoctorId
|
||
ManaDoctorName string `json:"manaDocterName"` // 实测拼写就是 Docter
|
||
Address string `json:"address"`
|
||
MobileNumber string `json:"mobileNumber"`
|
||
Contact string `json:"contact"`
|
||
ContactPhone string `json:"contactPhone"`
|
||
}
|