| | |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | import com.alibaba.excel.annotation.*; |
| | | import com.alibaba.excel.annotation.format.DateTimeFormat; |
| | | import com.alibaba.excel.annotation.write.style.ColumnWidth; |
| | | import cn.lihu.jh.framework.excel.core.annotations.DictFormat; |
| | | import cn.lihu.jh.framework.excel.core.convert.DictConvert; |
| | | |
| | |
| | | |
| | | @Schema(description = "患者生日") |
| | | @ExcelProperty("患者生日") |
| | | // 【本需求】导出只显示日期(原来 LocalDateTime 默认带时分秒 → "1990-01-01 00:00:00") |
| | | @DateTimeFormat("yyyy-MM-dd") |
| | | private LocalDateTime patBirthday; |
| | | |
| | | @Schema(description = "患者手机") |
| | |
| | | |
| | | @Schema(description = "预约发生时间", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @ExcelProperty("预约发生时间") |
| | | // 【本需求】列宽固定 20:原先靠 LongestMatchColumnWidth 自动算(约 18), |
| | | // 与登记时间/开单时间(Date 型单元格只算到 12)不一致,这里三列统一。 |
| | | @ColumnWidth(20) |
| | | private LocalDateTime bookTime; |
| | | |
| | | @Schema(description = "预约检查类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") |
| | |
| | | @ExcelProperty(value = "预约检查类型", converter = DictConvert.class) |
| | | private Integer bookCheckType; |
| | | |
| | | @Schema(description = "内部预约编号", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @ExcelProperty("内部预约编号") |
| | | /** |
| | | * 排队号(对外字段名保持 bookSeqNum 不变)。 |
| | | * |
| | | * <p>【号统一(本需求)】值来源已改为 {@code queue.seq_num} —— |
| | | * 号在签到时一次性分配、之后不变;本字段只在"该预约已排队"时用于回显。 |
| | | * 显示时请拼上 {@code check_type.seq_prefix}(号按检查项目各自编号,会跨项目重复)。 |
| | | */ |
| | | @Schema(description = "排队号(来源 queue.seq_num;已无 book 号)", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @ExcelProperty("排队号") |
| | | private Integer bookSeqNum; |
| | | |
| | | @Schema(description = "预约来源:X系统、护士手动预约", requiredMode = Schema.RequiredMode.REQUIRED) |
| | |
| | | */ |
| | | @Schema(description = "登记时间", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @ExcelProperty("登记时间") |
| | | // 【本需求】列宽固定 20(与「预约发生时间」一致): |
| | | // Date 型单元格在 LongestMatchColumnWidth 下只会算到 12,时间被截断。 |
| | | @ColumnWidth(20) |
| | | private Date registerDate; |
| | | |
| | | /** |
| | |
| | | * 开单时间 |
| | | */ |
| | | @ExcelProperty("开单时间") |
| | | // 【本需求】列宽固定 20(与「预约发生时间」一致) |
| | | @ColumnWidth(20) |
| | | private Date doctorTime; |
| | | |
| | | // ==================== HIS 接入补充字段(2026-09-27 随表新增列一起加入) ==================== |