|
export function isStringEmpty(value: string | null | undefined): boolean {
|
return value == null || value.trim() === '';
|
}
|
|
/**
|
* 性别格式化(1 男 / 2 女)。
|
*
|
* 【修正】原实现是 `if (1===value) "男" else "女"` —— 会把**任何非 1 的值**都当成"女",
|
* 包括 0(未知)与 null/undefined。实测库中 `pat_gender = 0` 有 2,123 行
|
* (见 AppointmentServiceImpl 的 UNKNOWN_GENDER 常量语义),这些患者会被**错显为女性**。
|
*
|
* 另外注意:MySQL 的 `tinyint(1)` 会被 JDBC 驱动映射为 Boolean,
|
* 故这里同时兼容 boolean / 字符串数字("1"、"2")等形态。
|
*/
|
export function genderFormat(value: number | string | boolean | null | undefined): string {
|
if (value === null || value === undefined || value === '') return '未知'
|
if (value === true) return '男'
|
if (value === false) return '未知'
|
const n = Number(value)
|
if (n === 1) return '男'
|
if (n === 2) return '女'
|
// 0 = 未知(HIS 未提供),不要默认成"女"
|
return '未知'
|
}
|