
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 '未知'
}
