yxh
昨天 fce96ef468291fb9a0e6a4d34ab371315e9485d4
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java
@@ -1,12 +1,15 @@
package cn.lihu.jh.module.ecg.dal.dataobject.queue;
import cn.lihu.jh.module.ecg.dal.dataobject.patient.PatDetails;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 排队 DO
@@ -29,6 +32,18 @@
    @TableId
    private Integer id;
    /**
     * 预约申请号
     */
    private String applyNo;
    /**
     * 就诊流水号
     */
    private String episodeId;
    /**
     * 内部预约编号
     */
    private Long appointId;
    /**
     * 患者编号
     */
    private String patId;
@@ -43,7 +58,8 @@
    /**
     * 患者详情
     */
    private String patDetails;
    @TableField(typeHandler = JacksonTypeHandler.class)
    private PatDetails patDetails;
    /**
     * 预约日期
     */
@@ -85,6 +101,10 @@
     */
    private Byte jumpFlag;
    /**
     * 是否亲和项, 用于控制 亲和项的不叫号
     */
    private Integer affinityItem;
    /**
     * 诊室编号
     */
    private Long roomId;
@@ -96,10 +116,70 @@
     * 诊疗床编号
     */
    private String bedNo;
    @TableField(exist = false)
    private String tolerance;
    /**
     * 亲和项
     * 是否床边(0否 1是)—— 需求2。
     * <p>
     * queue 表已有该列(见 _prep/22_add_seq_rule_and_bedside.sql),
     * 预约确认时由 appointment.is_bedside 带入;对已存在的队列行,
     * 也可由 {@code fillAppointmentInfo} 回查补填。
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<Integer> affinityItems;
    private String isBedside;
    /**
     * 以下字段来自预约单(appointment),queue 表中不存在,
     * 由 QueueServiceImpl#fillAppointmentInfo 在查询后按 applyNo 回查填充。
     */
    @TableField(exist = false)
    private LocalDate patBirthday;
    @TableField(exist = false)
    private Date registerDate;
    @TableField(exist = false)
    private String doctor;
    @TableField(exist = false)
    private Date doctorTime;
    // ==================== 需求1:患者信息 18 项所需的平铺字段 ====================
    // 以下均来自 appointment,queue 表无对应列,由 fillAppointmentInfo 回填。
    // 之所以"平铺"而不是让前端读 patDetails JSON:
    //   1) patDetails 是确认预约时写入的快照,可能滞后于 appointment 的最新值;
    //   2) 前端模板读 `row.patDetails?.xxx` 无法享受 TS 类型提示,易写错。
    @TableField(exist = false)
    private Integer patSrc;
    @TableField(exist = false)
    private String patMobile;
    @TableField(exist = false)
    private String patPhone;
    @TableField(exist = false)
    private String patWardDesc;
    @TableField(exist = false)
    private String patBedNo;
    /** 就诊卡号(medical_card;库中多为空,前端自行回退到 outpatient_no) */
    @TableField(exist = false)
    private String medicalCard;
    @TableField(exist = false)
    private String outpatientNo;
    @TableField(exist = false)
    private String patIdentityId;
    /**
     * 医嘱号(HIS 报文 observationRequest.id.item[root=2.16.156.10011.1.28].extension)。
     * 与「申请单号 applyNo」不同:前者是医嘱标识,后者是申请单标识。该节点在规范中非必须项,库中可为空。
     */
    private String doctorAdviceNo;
}