yxh
昨天 fce96ef468291fb9a0e6a4d34ab371315e9485d4
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentSaveReqVO.java
@@ -1,6 +1,7 @@
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.*;
@@ -8,7 +9,25 @@
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 {
@@ -21,6 +40,11 @@
    @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 = "患者编号不能为空")
@@ -82,4 +106,85 @@
    @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;
}