package com.yihu.jw.entity.base.doctor;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;


/**
 * 医生基本信息实体
 *
 * @author Administrator on  2018年09月05日
 *
 */
@Entity
@Table(name = "base_doctor")
public class BaseDoctorDO extends UuidIdentityEntityWithOperator {

    /**
     * 密码
     */
    private String password;

    /**
     *
     */
    private String salt;

    /**
     * 姓名
     */
    private String name;

    /**
     * 性别（1男，2女） 用国家标准字典
     */
    private Integer sex;

    /**
     * 医生专长
     */
    private String expertise;

    /**
     * 医生介绍
     */
    private String introduce;

    /**
     *  身份证
     */
    private String idcard;

    /**
     * 生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date birthday;

    /**
     * 头像http地址
     */
    private String photo;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 医生二维码
     */
    private String qrcode;

    /**
     * 省代码
     */
    private String provinceCode;

    /**
     * 省名称
     */
    private String provinceName;

    /**
     * 市代码
     */
    private String cityCode;

    /**
     * 市名称
     */
    private String cityName;

    /**
     * 区县代码
     */
    private String townCode;

    /**
     * 区县名称
     */
    private String townName;

    /**
     * 街道代码
     */
    private String streetCode;

    /**
     * 街道名称
     */
    private String streetName;

    /**
     * 资格是否认证通过，1是，0否
     */
    private String iscertified;

    /**
     * 是否是名医，1是，0否
     */
    private Integer isFamous;

    /**
     * 是否提示设置密码  1 提示过 0未提示
     */
    private String isPasswordPrompt;

    /**
     * 名称拼音首字母
     */
    private String spell;

    /**
     * CA证书过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date certifiedOvertime;

    /**
     * CA证书编号
     */
    private String certificateNum;

    /**
     * 用户微信openid
     */
    private String openid;

    /**
     * 职称代码
     */
    private String jobTitleCode;

    /**
     * 职称名称
     */
    private String jobTitleName;

    /**
     * 号别字典
     */
    private String chargeType;
    /**
     * 作废标识，1正常，0作废
     */
    private String del;
    /**
     * 是否锁定：0可用；1锁定
     */
    private Integer locked;
    /**
     * 账号是否可用，1为可用；0为不可用
     */
    private Integer enabled;


    /**
     * 咨询类型1图文，2视频，多用‘，’分割
     */
    private String outpatientType;

    /**
     * 1在线接诊，0下线
     */
    private String consultStatus;

    /**
     * 医生费用
     */
    private String fee;

    /**
     * 医生风采图，图片逗号隔开
     */
    private String img;

    /**
     * 医生出诊医院code
     */
    private String visitHospital;

    /**
     * 医生出诊医院名称
     */
    private String visitHospitalName;

    /**
     * 出诊科室code
     */
    private String visitDept;

    /**
     * 出诊科室名称
     */
    private String visitDeptName;

    /**
     * 背景图片
     */
    private String background;


    /**
     * 背景图片code
     */
    private String backgroundId;


    /**
     * 学术背景
     */
    private String learning;
    /**
     * 人气值
     */
    private Integer popularity;

    /**
     * 上线下线状态
     */
    private String online;//1上线0下线
    /**
     * ca标识
     */
    private Integer caFlag;
    /**
     *身份验证秘钥
     */
    private String verifyCode;
    /**
     *眼科同医生id
     */
    private String yktDoctorId;
    /**
     * 图文复诊号别
     */
    private String twfzChargeType;
    /**
     * 视频复诊号别
     */
    private String spfzChargeType;
    /**
     * 图文咨询号别
     */
    private String twzxChargeType;
    /**
     * 视频咨询号别
     */
    private String spzxChargeType;
    /**
     * 协同复诊号别
     */
    private String xtfzChargeType;
    /**
     * 家医咨询号别
     */
    private String jyzxChargeType;

    private String visitTime;

    /**
     * 类型 1社区医生，2助老员, 3教师
     */
    private Integer level;
    private String doctorLat;//医生当前定位地址纬度
    private String doctorLon;//医生当前定位地址经度
    private String doctorLocateAddress;//医生定位地址
    private String levelName;
    private String isSign;
    private Date lastSignTime;
    @Column(name = "is_sign")
    public String getIsSign() {
        return isSign;
    }

    public void setIsSign(String isSign) {
        this.isSign = isSign;
    }
    @Column(name = "last_sign_time")
    public Date getLastSignTime() {
        return lastSignTime;
    }

    public void setLastSignTime(Date lastSignTime) {
        this.lastSignTime = lastSignTime;
    }

    @Transient
    public String getLevelName() {
        return levelName;
    }

    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }

    @Column(name = "visit_time")
    public String getVisitTime() {
        return visitTime;
    }

    public void setVisitTime(String visitTime) {
        this.visitTime = visitTime;
    }

    @Column(name = "jyzx_charge_type")
    public String getJyzxChargeType() {
        return jyzxChargeType;
    }

    public void setJyzxChargeType(String jyzxChargeType) {
        this.jyzxChargeType = jyzxChargeType;
    }

    @Column(name = "YKT_DOCTOR_ID")
    public String getYktDoctorId() {
        return yktDoctorId;
    }

    public void setYktDoctorId(String yktDoctorId) {
        this.yktDoctorId = yktDoctorId;
    }

    @Column(name = "verify_code")
    public String getVerifyCode() {
        return verifyCode;
    }

    public void setVerifyCode(String verifyCode) {
        this.verifyCode = verifyCode;
    }

    @Column(name = "popularity")
    public Integer getPopularity() {
        return popularity;
    }

    public void setPopularity(Integer popularity) {
        this.popularity = popularity;
    }

    @Column(name = "password")
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

    @Column(name = "salt")
    public String getSalt() {
        return salt;
    }
    public void setSalt(String salt) {
        this.salt = salt;
    }

    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "sex")
    public Integer getSex() {
        return sex;
    }
    public void setSex(Integer sex) {
        this.sex = sex;
    }

    @Column(name = "expertise")
    public String getExpertise() {
        return expertise;
    }
    public void setExpertise(String expertise) {
        this.expertise = expertise;
    }

    @Column(name = "introduce")
    public String getIntroduce() {
        return introduce;
    }
    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    @Column(name = "idcard")
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }

    @Column(name = "birthday")
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    @Column(name = "photo")
    public String getPhoto() {
        return photo;
    }
    public void setPhoto(String photo) {
        this.photo = photo;
    }

    @Column(name = "mobile")
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Column(name = "qrcode")
    public String getQrcode() {
        return qrcode;
    }
    public void setQrcode(String qrcode) {
        this.qrcode = qrcode;
    }

    @Column(name = "province_code")
    public String getProvinceCode() {
        return provinceCode;
    }
    public void setProvinceCode(String provinceCode) {
        this.provinceCode = provinceCode;
    }

    @Column(name = "province_name")
    public String getProvinceName() {
        return provinceName;
    }
    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }

    @Column(name = "city_code")
    public String getCityCode() {
        return cityCode;
    }
    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }

    @Column(name = "city_name")
    public String getCityName() {
        return cityName;
    }
    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    @Column(name = "town_code")
    public String getTownCode() {
        return townCode;
    }
    public void setTownCode(String townCode) {
        this.townCode = townCode;
    }

    @Column(name = "town_name")
    public String getTownName() {
        return townName;
    }
    public void setTownName(String townName) {
        this.townName = townName;
    }

    @Column(name = "street_code")
    public String getStreetCode() {
        return streetCode;
    }
    public void setStreetCode(String streetCode) {
        this.streetCode = streetCode;
    }

    @Column(name = "street_name")
    public String getStreetName() {
        return streetName;
    }
    public void setStreetName(String streetName) {
        this.streetName = streetName;
    }

    @Column(name = "iscertified")
    public String getIscertified() {
        return iscertified;
    }
    public void setIscertified(String iscertified) {
        this.iscertified = iscertified;
    }

    @Column(name = "is_famous")
    public Integer getIsFamous() {
        return isFamous;
    }
    public void setIsFamous(Integer isFamous) {
        this.isFamous = isFamous;
    }

    @Column(name = "is_password_prompt")
    public String getIsPasswordPrompt() {
        return isPasswordPrompt;
    }
    public void setIsPasswordPrompt(String isPasswordPrompt) {
        this.isPasswordPrompt = isPasswordPrompt;
    }

    @Column(name = "spell")
    public String getSpell() {
        return spell;
    }
    public void setSpell(String spell) {
        this.spell = spell;
    }

    @Column(name = "certified_overtime")
    public Date getCertifiedOvertime() {
        return certifiedOvertime;
    }
    public void setCertifiedOvertime(Date certifiedOvertime) {
        this.certifiedOvertime = certifiedOvertime;
    }

    @Column(name = "certificate_num")
    public String getCertificateNum() {
        return certificateNum;
    }
    public void setCertificateNum(String certificateNum) {
        this.certificateNum = certificateNum;
    }

    @Column(name = "openid")
    public String getOpenid() {
        return openid;
    }
    public void setOpenid(String openid) {
        this.openid = openid;
    }

    @Column(name = "del")
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }

    public String getJobTitleCode() {
        return jobTitleCode;
    }

    public void setJobTitleCode(String jobTitleCode) {
        this.jobTitleCode = jobTitleCode;
    }

    public String getJobTitleName() {
        return jobTitleName;
    }

    public void setJobTitleName(String jobTitleName) {
        this.jobTitleName = jobTitleName;
    }

    @Column(name = "charge_type")
    public String getChargeType() {
        return chargeType;
    }

    public void setChargeType(String chargeType) {
        this.chargeType = chargeType;
    }

    @Column(name = "outpatient_type")
    public String getOutpatientType() {
        return outpatientType;
    }

    public void setOutpatientType(String outpatientType) {
        this.outpatientType = outpatientType;
    }

    @Column(name = "consult_status")
    public String getConsultStatus() {
        return consultStatus;
    }

    public void setConsultStatus(String consultStatus) {
        this.consultStatus = consultStatus;
    }
    public Integer getLocked() {
        return locked;
    }

    public void setLocked(Integer locked) {
        this.locked = locked;
    }

    public Integer getEnabled() {
        return enabled;
    }

    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    @Column(name = "fee")
    public String getFee() {
        return fee;
    }

    public void setFee(String fee) {
        this.fee = fee;
    }

    @Column(name = "img")
    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    @Column(name = "visit_hospital")
    public String getVisitHospital() {
        return visitHospital;
    }

    public void setVisitHospital(String visitHospital) {
        this.visitHospital = visitHospital;
    }

    @Column(name = "visit_hospital_name")
    public String getVisitHospitalName() {
        return visitHospitalName;
    }

    public void setVisitHospitalName(String visitHospitalName) {
        this.visitHospitalName = visitHospitalName;
    }

    @Column(name = "visit_dept")
    public String getVisitDept() {
        return visitDept;
    }

    public void setVisitDept(String visitDept) {
        this.visitDept = visitDept;
    }

    @Column(name = "visit_dept_name")
    public String getVisitDeptName() {
        return visitDeptName;
    }

    public void setVisitDeptName(String visitDeptName) {
        this.visitDeptName = visitDeptName;
    }

    @Column(name = "background")
    public String getBackground() {
        return background;
    }

    public void setBackground(String background) {
        this.background = background;
    }

    @Column(name = "background_id")
    public String getBackgroundId() {
        return backgroundId;
    }

    public void setBackgroundId(String backgroundId) {
        this.backgroundId = backgroundId;
    }


    @Column(name = "learning")
    public String getLearning() {
        return learning;
    }

    public void setLearning(String learning) {
        this.learning = learning;
    }


    @Column(name = "on_line")
    public String getOnline() {
        return online;
    }

    public void setOnline(String online) {
        this.online = online;
    }

    @Column(name = "ca_flag")
    public Integer getCaFlag() {
        return caFlag;
    }

    public void setCaFlag(Integer caFlag) {
        this.caFlag = caFlag;
    }


    @Column(name = "twfz_charge_type")
    public String getTwfzChargeType() {
        return twfzChargeType;
    }

    public void setTwfzChargeType(String twfzChargeType) {
        this.twfzChargeType = twfzChargeType;
    }

    @Column(name = "spfz_charge_type")
    public String getSpfzChargeType() {
        return spfzChargeType;
    }

    public void setSpfzChargeType(String spfzChargeType) {
        this.spfzChargeType = spfzChargeType;
    }

    @Column(name = "twzx_charge_type")
    public String getTwzxChargeType() {
        return twzxChargeType;
    }

    public void setTwzxChargeType(String twzxChargeType) {
        this.twzxChargeType = twzxChargeType;
    }

    @Column(name = "spzx_charge_type")
    public String getSpzxChargeType() {
        return spzxChargeType;
    }

    public void setSpzxChargeType(String spzxChargeType) {
        this.spzxChargeType = spzxChargeType;
    }

    @Column(name = "xtfz_charge_type")
    public String getXtfzChargeType() {
        return xtfzChargeType;
    }

    public void setXtfzChargeType(String xtfzChargeType) {
        this.xtfzChargeType = xtfzChargeType;
    }

    @Column(name = "doctor_level")
    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getDoctorLat() {
        return doctorLat;
    }

    public void setDoctorLat(String doctorLat) {
        this.doctorLat = doctorLat;
    }

    public String getDoctorLon() {
        return doctorLon;
    }

    public void setDoctorLon(String doctorLon) {
        this.doctorLon = doctorLon;
    }

    public String getDoctorLocateAddress() {
        return doctorLocateAddress;
    }

    public void setDoctorLocateAddress(String doctorLocateAddress) {
        this.doctorLocateAddress = doctorLocateAddress;
    }
}