| | |
| | | package cn.lihu.jh.module.ecg.controller.admin.appointment.vo; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.*; |
| | | |
| | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 管理后台 - 预约新增/修改 Request VO |
| | | * |
| | | * <h3>⚠️ 关于 {@code registerDate} / {@code doctorTime} 的类型(2026-09-30 修正)</h3> |
| | | * 这两个字段原先声明为 {@code java.sql.Date}(经 {@code import java.sql.Date;} |
| | | * 通配到本类的 {@code Date}),而对应的 {@code AppointmentDO} 是 {@code java.util.Date}。 |
| | | * |
| | | * <p>{@code java.sql.Date} 是**只表示日期**的 JDBC 类型。实测(写入 datetime 列): |
| | | * <pre> |
| | | * setObject(java.util.Date) → 2026-09-26 16:58:53 保留时分秒 |
| | | * setObject(java.sql.Date) → 2026-09-26 00:00:00 时间被丢弃 |
| | | * </pre> |
| | | * 这正是 {@code appointment.register_date} 出现 {@code yyyy-MM-dd 00:00:00} |
| | | * 的成因类型 —— 凡是从本 VO 取值落库的路径都会把时间截断。 |
| | | * |
| | | * <p>现统一为 {@code java.util.Date},与 DO 及各写入路径({@code new Date()})保持一致。 |
| | | */ |
| | | @Schema(description = "管理后台 - 预约新增/修改 Request VO") |
| | | @Data |
| | | public class AppointmentSaveReqVO { |
| | | |
| | | private Integer id; |
| | | private Long id; |
| | | |
| | | @Schema(description = "预约申请号", example = "2024435") |
| | | private String applyNo; |
| | | |
| | | @Schema(description = "就诊流水号", example = "2024546") |
| | | //@NotEmpty(message = "就诊流水号") |
| | | private String episodeId; |
| | | |
| | | /** |
| | | * 患者来源类型 01问诊 02急诊 03体检 04住院 |
| | | */ |
| | | private Integer patSrc; |
| | | |
| | | @Schema(description = "患者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29034") |
| | | @NotEmpty(message = "患者编号不能为空") |
| | |
| | | @Schema(description = "床号") |
| | | private String patBedNo; |
| | | |
| | | @Schema(description = "预约编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27849") |
| | | //@NotEmpty(message = "预约编号不能为空") |
| | | private String bookId; |
| | | |
| | | @Schema(description = "预约日期", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @NotNull(message = "预约日期不能为空") |
| | | private LocalDateTime bookDate; |
| | |
| | | |
| | | @Schema(description = "已付款") |
| | | private Integer paid; |
| | | |
| | | // @TableField(exist = false) |
| | | private String status; |
| | | |
| | | /** |
| | | * 耐药性: 是否多耐1代表是,0代表不是 |
| | | */ |
| | | private String tolerance; |
| | | |
| | | /** |
| | | * 住院号 |
| | | */ |
| | | private String hospitalNo; |
| | | |
| | | /** |
| | | * 医保卡号 |
| | | */ |
| | | private String medicalCard; |
| | | |
| | | /** |
| | | * 门诊号 |
| | | */ |
| | | private String outpatientNo; |
| | | |
| | | /** |
| | | * 登记时间 |
| | | */ |
| | | private Date registerDate; |
| | | |
| | | /** |
| | | * 开单医生 |
| | | */ |
| | | private String doctor; |
| | | |
| | | /** |
| | | * 开单医生编码 |
| | | */ |
| | | private String doctorCode; |
| | | |
| | | /** |
| | | * 开单时间 |
| | | */ |
| | | private Date doctorTime; |
| | | |
| | | // ==================== HIS 接入补充字段(2026-09-27 随表新增列一起加入) ==================== |
| | | |
| | | /** |
| | | * 预约排序号(HIS 报文 patient.id.item[4]) |
| | | */ |
| | | private Integer bookSeqNum; |
| | | |
| | | /** |
| | | * 优先级 / 加急标记:N=常规,J=加急(HIS 报文 zdy.jjbz) |
| | | */ |
| | | private String jjbz; |
| | | |
| | | /** |
| | | * 检查方式编码(HIS 报文 methodCode.item[].code) |
| | | */ |
| | | private String methodCode; |
| | | |
| | | /** |
| | | * 检查部位编码(HIS 报文 targetSiteCode.item.code) |
| | | */ |
| | | private String targetSiteCode; |
| | | |
| | | /** |
| | | * 医嘱号(HIS 报文 observationRequest.id.item[root=2.16.156.10011.1.28].extension)。 |
| | | * 与「申请单号 applyNo」不同。 |
| | | */ |
| | | private String doctorAdviceNo; |
| | | |
| | | /** |
| | | * 检查房间名称(HIS 报文 ZDY.roomname) |
| | | */ |
| | | private String roomName; |
| | | |
| | | /** |
| | | * 注意事项(HIS 报文 ZDY.remark) |
| | | */ |
| | | private String remark; |
| | | } |