2026-07-08 00:45:47 +08:00
|
|
|
|
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"`
|
|
|
|
|
|
}
|
2026-07-08 21:11:17 +08:00
|
|
|
|
|
2026-07-08 22:14:39 +08:00
|
|
|
|
// HealthCheckRecordSummary 是 JKTJ00002(某人全部体检)数组里一条体检的定位字段。
|
|
|
|
|
|
// 完整体检内容(结构同 §11.3)由 osi.Result.Raw 保留,本结构只取定位/列举字段。
|
|
|
|
|
|
// ⚠ 身份证字段是驼峰 idCard(≠ 最近一次 HealthCheckSummary 的小写 idcard)。
|
|
|
|
|
|
type HealthCheckRecordSummary struct {
|
|
|
|
|
|
CheckID string `json:"checkId"` // 体检编号;历史记录为 null(→""),仅近年有值
|
|
|
|
|
|
CheckDate string `json:"checkDate"` // 体检日期,历史记录用它定位(checkId 可能缺)
|
|
|
|
|
|
IDCard string `json:"idCard"` // 注意驼峰
|
|
|
|
|
|
PersonName string `json:"personName"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-08 21:11:17 +08:00
|
|
|
|
// 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"`
|
|
|
|
|
|
}
|