feat(osi): 体检已检/未检名单查询打通(T-305)

- 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>
This commit is contained in:
ila
2026-07-08 21:11:17 +08:00
co-authored by Claude Opus 4.8
parent 425ca0a0fa
commit bf204e0162
3 changed files with 118 additions and 0 deletions
+25
View File
@@ -17,3 +17,28 @@ type HealthCheckSummary struct {
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"`
}