package com.yihu.jw.entity.specialist.rehabilitation;

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

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * Created by humingfen on 2018/8/10.
 */
@Entity
@Table(name = "wlyy_patient_rehabilitation_plan")
public class PatientRehabilitationPlanDO extends UuidIdentityEntity implements Serializable{

    @Column(name = "saas_id")
    private String saasId;
    @Column(name = "patient")
    private String patient;//患者标识
    @Column(name = "name")
    private String name;//患者姓名
    @Column(name = "title")
    private String title;//康复服务套餐名称
    @Column(name = "disease")
    private String disease;//疾病
    @Column(name = "disease_name")
    private String diseaseName;//疾病名称
    @Column(name = "payment")
    private Integer payment;//支付方式（1立即支付，2按服务支付）
    @Column(name = "total_expense")
    private Integer totalExpense;//套餐总金额
    @Column(name = "plan_type")
    private Integer planType;//安排类型（1康复计划，2转社区医院，3转家庭病床）
    @Column(name = "service_package_id")
    private String servicePackageId;//服务包id
    @Column(name = "status")
    private Integer status;//状态（0已中止，1进行中，2已完成）
    @Column(name = "abort_reason")
    private String abortReason;//中止原因
    @Column(name = "abort_time")
    private Date abortTime;//中止时间
    @Column(name = "patient_img")
    private String patientImg;//居民签名照/证件照
    @Column(name = "medical_records_code")
    private String medicalRecordsCode;//住院病历（wlyy_patient_medical_records_rehabilitation 的code)
    @Column(name = "advice_content")
    private String adviceContent;//康复建议（wlyy_rehabilitation_advice 的content）
    @Column(name = "team_code")
    private Integer teamCode;//专科医生签约团队
    private Date createTime;
    private String createUser;
    private String createUserName;
    private Date updateTime;
    private String updateUser;
    private String updateUserName;

    private String healthStatusCode;//健康情况
    private String isVerify;

    private Long adminTeamCode;//家签行政团队Id

    @Column(name = "is_verify")
    public String getIsVerify() {
        return isVerify;
    }

    public void setIsVerify(String isVerify) {
        this.isVerify = isVerify;
    }

    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }

    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }

    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }

    public void setPatient(String patient) {
        this.patient = patient;
    }

    @Column(name = "title")
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Column(name = "payment")
    public Integer getPayment() {
        return payment;
    }

    public void setPayment(Integer payment) {
        this.payment = payment;
    }

    @Column(name = "total_expense")
    public Integer getTotalExpense() {
        return totalExpense;
    }

    public void setTotalExpense(Integer totalExpense) {
        this.totalExpense = totalExpense;
    }

    @Column(name = "plan_type")
    public Integer getPlanType() {
        return planType;
    }

    public void setPlanType(Integer planType) {
        this.planType = planType;
    }

    @Column(name = "name")
//    @Convert(converter = StringFStringEncryptConverter.class)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "service_package_id")
    public String getServicePackageId() {
        return servicePackageId;
    }

    public void setServicePackageId(String servicePackageId) {
        this.servicePackageId = servicePackageId;
    }

    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Column(name = "disease")
    public String getDisease() {
        return disease;
    }

    public void setDisease(String disease) {
        this.disease = disease;
    }

    @Column(name = "disease_name")
    public String getDiseaseName() {
        return diseaseName;
    }

    public void setDiseaseName(String diseaseName) {
        this.diseaseName = diseaseName;
    }

    @Column(name = "abort_reason")
    public String getAbortReason() {
        return abortReason;
    }

    public void setAbortReason(String abortReason) {
        this.abortReason = abortReason;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "abort_time")
    public Date getAbortTime() {
        return abortTime;
    }

    public void setAbortTime(Date abortTime) {
        this.abortTime = abortTime;
    }

    @Column(name = "patient_img")
    public String getPatientImg() {
        return patientImg;
    }

    public void setPatientImg(String patientImg) {
        this.patientImg = patientImg;
    }

    public String getAdviceContent() {
        return adviceContent;
    }

    public void setAdviceContent(String adviceContent) {
        this.adviceContent = adviceContent;
    }

    public String getMedicalRecordsCode() {
        return medicalRecordsCode;
    }

    public void setMedicalRecordsCode(String medicalRecordsCode) {
        this.medicalRecordsCode = medicalRecordsCode;
    }

    @Column(name = "team_code")
    public Integer getTeamCode() {
        return teamCode;
    }

    public void setTeamCode(Integer teamCode) {
        this.teamCode = teamCode;
    }

    @Column(name = "health_status_code")
    public String getHealthStatusCode() {
        return healthStatusCode;
    }

    public void setHealthStatusCode(String healthStatusCode) {
        this.healthStatusCode = healthStatusCode;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

//    @Convert(converter = StringFStringEncryptConverter.class)
    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

//    @Convert(converter = StringFStringEncryptConverter.class)
    public String getUpdateUserName() {
        return updateUserName;
    }

    public void setUpdateUserName(String updateUserName) {
        this.updateUserName = updateUserName;
    }

    @Column(name = "admin_team_code")
    public Long getAdminTeamCode() {
        return adminTeamCode;
    }

    public void setAdminTeamCode(Long adminTeamCode) {
        this.adminTeamCode = adminTeamCode;
    }
}
