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
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
package cn.lihu.jh.module.ecg.dal.dataobject.jobrecord;
 
import lombok.*;
import java.util.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO;
 
/**
 * 工作记录 DO
 *
 * @author 芋道源码
 */
@TableName("job_record")
@KeySequence("job_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class JobRecordDO extends BaseDO {
 
    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 检查类型
     */
    private Integer checkType;
    /**
     * 作业类型
     */
    private Integer jobType;
    /**
     * 医生编号
     */
    private Long docId;
    /**
     * 医生名称
     */
    private String docName;
    /**
     * 设备编号
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private String devId;
    /**
     * 患者编号
     */
    private String patId;
    /**
     * 患者名称
     */
    private String patName;
    /**
     * 作业时间
     */
    private LocalDateTime jobTime;
    /**
     * 作业概要
     */
    private String summary;
    /**
     * 备注
     */
    private String remark;
 
    /**
     * 对应租赁编号
     */
    private Long rentId;
 
    @TableField(exist = false)
    private Integer paid;
 
    // ==================== 需求1:患者信息 18 项 ====================
    // job_record 只存了 patId / patName,其余患者信息在 appointment 表。
    // 回填链路:job_record.rentId → dev_rent.applyNo → appointment
    // 由 JobRecordServiceImpl#fillPatientInfo 按 rentId 批量回填(避免 N+1)。
    //
    // 【重要】必须标 @TableField(exist = false):本 DO 会用于 insert/updateById,
    // 若不加注解,MyBatis-Plus 会把这些不存在的列拼进 SQL → Unknown column 报错。
 
    @TableField(exist = false)
    private String applyNo;
 
    @TableField(exist = false)
    private String episodeId;
 
    @TableField(exist = false)
    private Byte patGender;
 
    @TableField(exist = false)
    private LocalDate patBirthday;
 
    @TableField(exist = false)
    private Date registerDate;
 
    @TableField(exist = false)
    private String doctor;
 
    @TableField(exist = false)
    private Date doctorTime;
 
    @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;
 
    @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;
 
    /** 多耐药:0无 1多耐 2多重耐药 */
    @TableField(exist = false)
    private String tolerance;
}