package com.ywt.outpatient.domain.entity.center;

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name = "checkup_booking_order")
public class CheckupBookingOrder {

    @Id
    @Column(name = "id", nullable = false)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 用户 id
     */
    @Column(name = "user_id", nullable = false)
    private Integer userId;

    /**
     * 患者姓名
     */
    @Column(name = "patient_name", nullable = false)
    private String patientName;

    /**
     * 患者手机号
     */
    @Column(name = "patient_mobile", nullable = false)
    private String patientMobile;

    /**
     * 诊疗卡号
     */
    @Column(name = "medical_card_no", nullable = false)
    private String medicalCardNo;

    /**
     * 诊疗卡 id
     */
    @Column(name = "his_patient_id", nullable = false)
    private String hisPatientId;

    /**
     * 科室名称
     */
    @Column(name = "dept_name", nullable = false)
    private String deptName;

    /**
     * 科室代码
     */
    @Column(name = "dept_code", nullable = false)
    private String deptCode;

    /**
     * 订单号
     */
    @Column(name = "order_no", nullable = false)
    private String orderNo;

    /**
     * 医院 id
     */
    @Column(name = "hospital_id", nullable = false)
    private Integer hospitalId;

    /**
     * 分院 id
     */
    @Column(name = "sub_hospital_id")
    private Integer subHospitalId;

    /**
     * 总价，单位：分
     */
    @Column(name = "total_price", nullable = false)
    private Integer totalPrice;

    /**
     * 订单状态：预约成功-1，已取消-2
     */
    @Column(name = "status", nullable = false)
    private Integer status;

    /**
     * 创建时间
     */
    @Column(name = "create_time", nullable = false)
    private Date createTime;

    /**
     * 更新时间
     */
    @Column(name = "update_time", nullable = false)
    private Date updateTime;

    /**
     * 删除标识：0-未删除；1-已删除
     */
    @Column(name = "deleted", nullable = false)
    private Boolean deleted;

    @Column(name = "reg_id", nullable = false)
    private String regId;
    @Column(name = "id_card", nullable = false)
    private String idCard;
    @Column(name = "can_cancel", nullable = false)
    private Integer canCancel;
    @Column(name = "adm_id")
    private String admId;
    @Column(name = "pre_iadm")
    private String preIadm;
    @Column(name = "pm_type")
    private String pmType;
    @Column(name = "pe_id")
    private String peId;
    @Column(name = "can_modify_flag")
    private String canModifyFlag;
    @Column(name = "pre_way")
    private String preWay;
    @Column(name = "reg_checkup_items")
    private String regCheckupItems;
    // 预约日期 yyyy-MM-dd
    @Column(name = "reg_exam_date")
    private Date regExamDate;
    // 预约时间段，格式：hh:ss-hh:ss
    @Column(name = "reg_exam_time")
    private String regExamTime;
    // HIS 套餐 id
    @Column(name = "ord_sets_id")
    private String ordSetsId;


    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    /**
     * 用户 id
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 用户 id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 患者姓名
     */
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    /**
     * 患者姓名
     */
    public String getPatientName() {
        return patientName;
    }

    /**
     * 患者手机号
     */
    public void setPatientMobile(String patientMobile) {
        this.patientMobile = patientMobile;
    }

    /**
     * 患者手机号
     */
    public String getPatientMobile() {
        return patientMobile;
    }

    /**
     * 诊疗卡号
     */
    public void setMedicalCardNo(String medicalCardNo) {
        this.medicalCardNo = medicalCardNo;
    }

    /**
     * 诊疗卡号
     */
    public String getMedicalCardNo() {
        return medicalCardNo;
    }

    /**
     * 诊疗卡 id
     */
    public void setHisPatientId(String hisPatientId) {
        this.hisPatientId = hisPatientId;
    }

    /**
     * 诊疗卡 id
     */
    public String getHisPatientId() {
        return hisPatientId;
    }

    /**
     * 科室名称
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /**
     * 科室名称
     */
    public String getDeptName() {
        return deptName;
    }

    /**
     * 科室代码
     */
    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }

    /**
     * 科室代码
     */
    public String getDeptCode() {
        return deptCode;
    }

    /**
     * 订单号
     */
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    /**
     * 订单号
     */
    public String getOrderNo() {
        return orderNo;
    }

    /**
     * 医院 id
     */
    public void setHospitalId(Integer hospitalId) {
        this.hospitalId = hospitalId;
    }

    /**
     * 医院 id
     */
    public Integer getHospitalId() {
        return hospitalId;
    }

    /**
     * 分院 id
     */
    public void setSubHospitalId(Integer subHospitalId) {
        this.subHospitalId = subHospitalId;
    }

    /**
     * 分院 id
     */
    public Integer getSubHospitalId() {
        return subHospitalId;
    }

    /**
     * 总价，单位：分
     */
    public void setTotalPrice(Integer totalPrice) {
        this.totalPrice = totalPrice;
    }

    /**
     * 总价，单位：分
     */
    public Integer getTotalPrice() {
        return totalPrice;
    }

    /**
     * 订单状态：预约成功-1，已取消-2
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 订单状态：预约成功-1，已取消-2
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 删除标识：0-未删除；1-已删除
     */
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    /**
     * 删除标识：0-未删除；1-已删除
     */
    public Boolean isDeleted() {
        return deleted;
    }

    public String getRegId() {
        return regId;
    }

    public void setRegId(String regId) {
        this.regId = regId;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public Integer getCanCancel() {
        return canCancel;
    }

    public void setCanCancel(Integer canCancel) {
        this.canCancel = canCancel;
    }

    public String getAdmId() {
        return admId;
    }

    public void setAdmId(String admId) {
        this.admId = admId;
    }

    public String getPreIadm() {
        return preIadm;
    }

    public void setPreIadm(String preIadm) {
        this.preIadm = preIadm;
    }

    public String getPmType() {
        return pmType;
    }

    public void setPmType(String pmType) {
        this.pmType = pmType;
    }

    public String getPeId() {
        return peId;
    }

    public void setPeId(String peId) {
        this.peId = peId;
    }

    public String getCanModifyFlag() {
        return canModifyFlag;
    }

    public void setCanModifyFlag(String canModifyFlag) {
        this.canModifyFlag = canModifyFlag;
    }

    public String getPreWay() {
        return preWay;
    }

    public void setPreWay(String preWay) {
        this.preWay = preWay;
    }

    public String getRegCheckupItems() {
        return regCheckupItems;
    }

    public void setRegCheckupItems(String regCheckupItems) {
        this.regCheckupItems = regCheckupItems;
    }

    public Date getRegExamDate() {
        return regExamDate;
    }

    public void setRegExamDate(Date regExamDate) {
        this.regExamDate = regExamDate;
    }

    public String getRegExamTime() {
        return regExamTime;
    }

    public void setRegExamTime(String regExamTime) {
        this.regExamTime = regExamTime;
    }

    public String getOrdSetsId() {
        return ordSetsId;
    }

    public void setOrdSetsId(String ordSetsId) {
        this.ordSetsId = ordSetsId;
    }

    @Override
    public String toString() {
        return "CheckupBookingOrder{" +
                "id=" + id +
                ", userId=" + userId +
                ", patientName='" + patientName + '\'' +
                ", patientMobile='" + patientMobile + '\'' +
                ", medicalCardNo='" + medicalCardNo + '\'' +
                ", hisPatientId='" + hisPatientId + '\'' +
                ", deptName='" + deptName + '\'' +
                ", deptCode='" + deptCode + '\'' +
                ", orderNo='" + orderNo + '\'' +
                ", hospitalId=" + hospitalId +
                ", subHospitalId=" + subHospitalId +
                ", totalPrice=" + totalPrice +
                ", status=" + status +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", deleted=" + deleted +
                ", regId='" + regId + '\'' +
                ", idCard='" + idCard + '\'' +
                ", canCancel=" + canCancel +
                ", admId='" + admId + '\'' +
                ", preIadm='" + preIadm + '\'' +
                ", pmType='" + pmType + '\'' +
                ", peId='" + peId + '\'' +
                ", canModifyFlag='" + canModifyFlag + '\'' +
                ", preWay='" + preWay + '\'' +
                ", regCheckupItems='" + regCheckupItems + '\'' +
                ", regExamDate=" + regExamDate +
                ", regExamTime='" + regExamTime + '\'' +
                ", ordSetsId='" + ordSetsId + '\'' +
                '}';
    }
}
