package com.eitc.patient.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.eitc.common.core.domain.EitcBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * PatientAppointment
 *
 * @author mtx
 * @date: 2024/05/17 14:45
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("患者预约表")
@TableName("erm_patient_appointment")
public class PatientAppointment extends EitcBaseEntity {

    @TableField(value = "medical_record_id")
    @ApiModelProperty(value = "病历id", name = "medicalRecordId")
    private String medicalRecordId;

    @TableField(value = "outpatient_service")
    @ApiModelProperty(value = "预约门诊", name = "outpatientService")
    private String outpatientService;

    @TableField(value = "department")
    @ApiModelProperty(value = "预约部门", name = "department")
    private String department;

    @TableField(value = "appointment_type")
    @ApiModelProperty(value = "预约类型（1就诊，2复诊）", name = "appointmentType")
    private Integer appointmentType;

    @TableField(value = "attending_doctor_id")
    @ApiModelProperty(value = "主治医生", name = "attendingDoctorId")
    private String attendingDoctorId;

    @TableField(value = "attending_doctor")
    @ApiModelProperty(value = "主治医生", name = "attendingDoctor")
    private String attendingDoctor;

    @TableField(value = "visit_type")
    @ApiModelProperty(value = "就诊类型（1初诊，2复诊）", name = "visitType")
    private Integer visitType;

    @TableField(value = "appointment_person_id")
    @ApiModelProperty(value = "患者", name = "appointmentPersonId")
    private String appointmentPersonId;

    @TableField(value = "appointment_person")
    @ApiModelProperty(value = "患者", name = "appointmentPerson")
    private String appointmentPerson;

    @TableField(value = "register_user_id")
    @ApiModelProperty(value = "登记人", name = "registerUserId")
    private Long registerUserId;

    @TableField(value = "register_user")
    @ApiModelProperty(value = "登记人", name = "registerUser")
    private String registerUser;

    @TableField(value = "appointment_start_time")
    @ApiModelProperty(value = "预约开始时间", name = "appointmentStartTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date appointmentStartTime;

    @TableField(value = "appointment_end_time")
    @ApiModelProperty(value = "预约结束时间", name = "appointmentEndTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date appointmentEndTime;

    @TableField(value = "appointment_project")
    @ApiModelProperty(value = "预约项目", name = "appointmentProject")
    private String appointmentProject;

    @TableField(value = "appointment_status")
    @ApiModelProperty(value = "预约状态（1预约，2已确定，3已到店，4治疗中，5治疗完成，6已结账，7已离开，8已失约）", name = "appointmentStatus")
    private Integer appointmentStatus;

    @TableField(value = "remark")
    @ApiModelProperty(value = "备注", name = "remark")
    private String remark;

}
