yxh
6 天以前 68ff33beff11310e830b0615b5a81f83fad0f683
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
package cn.lihu.jh.module.ecg.controller.admin.callingscreen;
 
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
 
import java.time.LocalDate;
 
@Schema(description = "叫号屏数据")
@Data
public class ScreenQueueRespVO {
 
    @Schema(description = "患者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473")
    @ExcelProperty("患者编号")
    private String patId;
 
    @Schema(description = "患者姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("患者姓名")
    private String patName;
 
    @Schema(description = "患者性别")
    @ExcelProperty("患者性别")
    private Byte patGender;
 
    @Schema(description = "预约日期")
    @ExcelProperty("预约日期")
    private LocalDate bookDate;
 
    @Schema(description = "预约检查类型", example = "1")
    @ExcelProperty("预约检查类型")
    private Integer bookCheckType;
 
    @Schema(description = "排队序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("排队序号")
    private Integer seqNum;
 
    /**
     * 排队号显示前缀({@code check_type.seq_prefix})。
     *
     * <p>【号统一(本需求)】排队号改为**按检查项目各自编号**,不同检查项目之间会出现相同数字
     * (例:动态心电 5 号、动态血压 5 号),屏幕必须靠前缀区分,故由后端随队列数据一并下发。
     * <p>屏幕设备未登录、拿不到检查项目字典接口,因此不能由前端自行查表。
     */
    @Schema(description = "排队号显示前缀(检查项目配置的 seq_prefix)", example = "A")
    @ExcelProperty("排队号前缀")
    private String seqPrefix;
 
    /** 【已停用】屏幕请显示 seqPrefix + seqNum;本字段仅保留兼容老屏幕页面,后端已不再写入 */
    @Schema(description = "预约序号(已停用,请用 seqPrefix + seqNum)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("预约序号")
    private Integer bookSeqNum;
 
    /**
     * 【重叫(本需求)】该患者**最近一次叫号记录**的 id。
     *
     * <p>屏幕靠"数据变化"触发播报:医生点「重叫」只会新增一条叫号记录、不改变队列数据,
     * 因此把 callId 一并下发 —— 它一变,屏幕就重新播报(大屏绕过"同一患者只播一次"的锁,
     * 诊间屏对比上次的 callId)。为空表示今天还没有叫号记录,屏幕按老逻辑处理。
     */
    @Schema(description = "最近一次叫号记录id(用于重叫时重新播报)", example = "1234")
    private Long callId;
 
    /**
     * 5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成
     */
    @Schema(description = "排队状态", example = "1")
    @ExcelProperty("排队状态")
    private Byte status;
 
    @Schema(description = "过号标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("过号标记")
    private Byte passed;
 
    @Schema(description = "预约过期标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("预约过期标记")
    private Byte expired;
 
    @Schema(description = "插队标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("插队标记")
    private Byte jumpFlag;
 
    @Schema(description = "诊室编号")
    @ExcelProperty("诊室编号")
    private Long roomId;
 
    @Schema(description = "诊室名称")
    @ExcelProperty("诊室名称")
    private String roomName;
 
    @Schema(description = "诊疗床编号")
    @ExcelProperty("诊疗床编号")
    private String bedNo;
 
    // ==================== 需求1:患者信息 18 项 ====================
    // 均来自预约单 appointment(queue 表无此列),由 CallingScreenServiceImpl
    // 调用 QueueService#fillAppointmentInfo 回填后再经 BeanUtils.toBean 映射到这里。
    // 补齐后大屏/诊间屏才能展示完整患者信息。
 
    @Schema(description = "就诊流水号")
    @ExcelProperty("就诊流水号")
    private String episodeId;
 
    @Schema(description = "申请编号")
    @ExcelProperty("申请编号")
    private String applyNo;
 
    @Schema(description = "出生日期")
    @ExcelProperty("出生日期")
    private java.time.LocalDate patBirthday;
 
    @Schema(description = "患者电话(手机优先,回退固话)")
    @ExcelProperty("患者电话")
    private String patMobile;
 
    @Schema(description = "病区名称")
    @ExcelProperty("病区名称")
    private String patWardDesc;
 
    @Schema(description = "病床号(注意不是本类的 bedNo,后者是诊疗床/工位号)")
    @ExcelProperty("病床号")
    private String patBedNo;
 
    @Schema(description = "患者来源:1门诊 2急诊 3住院 4体检")
    @ExcelProperty("患者来源")
    private Integer patSrc;
 
    @Schema(description = "开单医师")
    @ExcelProperty("开单医师")
    private String doctor;
 
    @Schema(description = "开单日期")
    @ExcelProperty("开单日期")
    private java.util.Date doctorTime;
 
    @Schema(description = "登记时间")
    @ExcelProperty("登记时间")
    private java.util.Date registerDate;
 
    @Schema(description = "多耐药:0无 1多耐 2多重耐药")
    @ExcelProperty("多耐药")
    private String tolerance;
 
    private String isBedside;
 
    @Schema(description = "医嘱号(HIS observationRequest.id.item[root=2.16.156.10011.1.28];与申请号 applyNo 不同)")
    @ExcelProperty("医嘱号")
    private String doctorAdviceNo;
}