yxh
昨天 fce96ef468291fb9a0e6a4d34ab371315e9485d4
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java
@@ -1,17 +1,22 @@
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
 *
 * @author 芋道源码
 */
@TableName("queue")
@TableName( value="queue", autoResultMap = true )
@KeySequence("queue_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@@ -27,6 +32,18 @@
    @TableId
    private Integer id;
    /**
     * 预约申请号
     */
    private String applyNo;
    /**
     * 就诊流水号
     */
    private String episodeId;
    /**
     * 内部预约编号
     */
    private Long appointId;
    /**
     * 患者编号
     */
    private String patId;
@@ -39,6 +56,11 @@
     */
    private Byte patGender;
    /**
     * 患者详情
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private PatDetails patDetails;
    /**
     * 预约日期
     */
    private LocalDate bookDate;
@@ -49,7 +71,15 @@
    /**
     * 预约检查类型
     */
    private Byte bookCheckType;
    private Integer bookCheckType;
    /**
     * 预约序号
     */
    private Integer bookSeqNum;
    /**
     * 是否VIP
     */
    private Integer isVip;
    /**
     * 排队序号
     */
@@ -57,7 +87,7 @@
    /**
     * 5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成
     */
    private Byte status;
    private Integer status;
    /**
     * 过号标记
     */
@@ -67,13 +97,13 @@
     */
    private Byte expired;
    /**
     * 语音叫号标记
     */
    private Integer called;
    /**
     * 插队标记
     */
    private Byte jumpFlag;
    /**
     * 是否亲和项, 用于控制 亲和项的不叫号
     */
    private Integer affinityItem;
    /**
     * 诊室编号
     */
@@ -87,4 +117,69 @@
     */
    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} 回查补填。
     */
    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;
}