yxh
昨天 fce96ef468291fb9a0e6a4d34ab371315e9485d4
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
package cn.lihu.jh.module.ecg.controller.admin.queue.vo;
 
import cn.lihu.jh.module.ecg.dal.dataobject.patient.PatDetails;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
 
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
 
 
@Schema(description = "管理后台 - 排队新增/修改 Request VO")
@Data
public class QueueSaveReqVO {
 
    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21320")
    private Integer id;
 
    @Schema(description = "预约申请号", example = "2024435")
    private String applyNo;
 
    @Schema(description = "就诊流水号", example = "2024435")
    private String episodeId;
 
    @Schema(description = "内部预约编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21320")
    private Long appointId;
 
    @Schema(description = "患者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473")
    @NotEmpty(message = "患者编号不能为空")
    private String patId;
 
    @Schema(description = "患者姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "患者姓名不能为空")
    private String patName;
 
    @Schema(description = "患者性别")
    private Byte patGender;
 
    @Schema(description = "患者详情")
    private PatDetails patDetails;
 
    @Schema(description = "预约日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "预约日期不能为空")
    private LocalDate bookDate;
 
    @Schema(description = "预约时间段", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "预约时间段不能为空")
    private Integer bookTimeslot;
 
    @Schema(description = "预约检查类型", example = "1")
    private Integer bookCheckType;
 
    @Schema(description = "预约序号", requiredMode = Schema.RequiredMode.REQUIRED)
    //@NotNull(message = "预约序号不能为空")
    private Integer bookSeqNum;
 
    @Schema(description = "是否VIP", requiredMode = Schema.RequiredMode.REQUIRED)
    //@NotNull(message = "是否VIP")
    private Integer isVip;
 
    @Schema(description = "排队序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "排队序号不能为空")
    private Integer seqNum;
 
    @Schema(description = "5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 ", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 不能为空")
    private Integer status;
 
    @Schema(description = "过号标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "过号标记不能为空")
    private Byte passed;
 
    @Schema(description = "预约过期标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "预约过期标记不能为空")
    private Byte expired;
 
    private Integer affinityItem;
 
    @Schema(description = "诊室编号")
    private Long roomId;
 
    @Schema(description = "诊室名称")
    private String roomName;
 
    @Schema(description = "诊疗床编号")
    private String bedNo;
 
    /**
     * 加急/插队标记:1=加急(排队时优先),其余/空=常规。
     * <p>
     * 来源:HIS 报文 {@code observationRequest.zdy.jjbz}(N=常规,J=加急)
     * → 预约记录 {@code appointment.jjbz} → 预约确认时带入排队。
     * 与人工插队({@code QueueServiceImpl#patientJump})共用该字段:
     * {@code queue} 表按 {@code order by jump_flag desc, book_timeslot, create_time} 取号,
     * 因此置 1 即实现"加急优先"。
     */
    @Schema(description = "加急标记 1=加急")
    private Byte jumpFlag;
 
    /**
     * 是否床边(需求2)。来源 HIS 报文 {@code observationRequest.zdy.ISCB}(0=否,1=是)
     * → 预约记录 {@code appointment.is_bedside} → 预约确认时带入排队。
     * <p>
     * 与「检查类型」的区别:{@code check_type.value=1000} 是"床边心电图"这个**项目**,
     * 而本字段表达**同一项目、患者需到床边做**这一属性。
     */
    @Schema(description = "是否床边 0=否 1=是", example = "0")
    private String isBedside;
}