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; }