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

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

@Entity
@Table(name = "outpatient_order")
public class OutpatientOrder {
    @Id
    private Integer id;

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

    @Column(name = "hospital_name")
    private String hospitalName;

    @Column(name = "dept_code")
    private String deptCode;

    @Column(name = "dept_name")
    private String deptName;

    @Column(name = "doctor_code")
    private String doctorCode;

    @Column(name = "doctor_name")
    private String doctorName;

    /**
     * 总费用
     */
    @Column(name = "total", nullable = false)
    private Integer total;

    /**
     * 医保报销
     */
    @Column(name = "reimbursement", nullable = false)
    private Integer reimbursement;

    /**
     * 个人金额
     */
    @Column(name = "individual", nullable = false)
    private Integer individual;

    @Column(name = "payment_status", nullable = false)
    private Integer paymentStatus;

    @Column(name = "outpatient_status", nullable = false)
    private Integer outpatientStatus;

    @Column(name = "user_id")
    private Integer userId;

    @Column(name = "his_patient_id")
    private String hisPatientId;

    @Column(name = "pay_time")
    private Date payTime;

    /**
     * 微信商户Id
     */
    @Column(name = "wx_merchant_id")
    private String wxMerchantId;

    /**
     * 内部支付实现唯一编码
     */
    @Column(name = "wx_internal_pay_no")
    private String wxInternalPayNo;

    /**
     * 微信支付订单号
     */
    @Column(name = "wx_transaction_id")
    private String wxTransactionId;

    /**
     * 是否删除（标识物理删除）
     */
    @Column(name = "deleted", nullable = false)
    private Boolean deleted;

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

    /**
     * 就诊流水号
     */
    @Column(name = "his_clinic_code")
    private String hisClinicCode;

    /**
     * HIS订单号
     */
    @Column(name = "his_order_no", nullable = false)
    private String hisOrderNo;

    @Column(name = "pay_name", nullable = false)
    private String payName;

    @Column(name = "patient_name")
    private String patientName;

    @Column(name = "patient_age")
    private Integer patientAge;

    @Column(name = "patient_sex")
    private Integer patientSex;

    /**
     * 处方单生成日期
     */
    @Column(name = "prescription_date")
    private Date prescriptionDate;

    /**
     * 修改时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    @Column(name = "insure_key")
    private String insureKey;

    @Column(name = "insure_biz_type")
    private String insureBizType;

    @Column(name = "insure_treatment_type")
    private String insureTreatmentType;

    //身份证号
    @Column(name = "id_no")
    private String idNo;

    //支付流水号
    @Column(name = "payment_no")
    private String paymentNo;

    //退款状态
    @Column(name = "refund_status")
    private Integer refundStatus;

    //退款时间
    @Column(name = "refund_time")
    private Date refund_time;

    //退款流水号
    @Column(name = "refund_no")
    private String refundNo;

    //退款回调时间
    @Column(name = "refund_callback_time")
    private Date refundCallbackTime;

    //订单ID
    @Column(name = "order_id")
    private Integer orderId;

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

    //支付渠道
    @Column(name = "payment_channel")
    private Integer paymentChannel;

    @Column(name = "order_ins_type")
    private String orderInsType;
    @Column(name = "invoice_no")
    private String invoiceNo;
    @Column(name = "resp_log")
    private String respLog;
    /**
     * 医保支付类型：1-自费，2-医保
     */
    @Column(name = "pay_ins_type")
    private Integer payInsType;

    @Column(name = "med_trans_id")
    private String medTransId;
    @Column(name = "med_refund_id")
    private String medRefundId;
    @Column(name = "med_pay_url")
    private String medPayUrl;
    @Column(name = "ins_row_id")
    private String insRowId;
    @Column(name = "ins_upload_fee_resp")
    private String insUploadFeeResp;
    @Column(name = "ins_pay_callback_resp")
    private String insPayCallbackResp;
    @Column(name = "ins_return_str")
    private String insReturnStr;
    @Column(name = "ins_tx_return_str")
    private String insTxReturnStr;
    @Column(name = "insu_div_dr")
    private String insuDivDr;
    @Column(name = "med_ins_type")
    private Integer medInsType;

    @Column(name = "terminal")
    private Integer terminal;

    public String getOrderInsType() {
        return orderInsType;
    }

    public void setOrderInsType(String orderInsType) {
        this.orderInsType = orderInsType;
    }

    public Integer getId() {
        return id;
    }

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

    public Integer getHospitalId() {
        return hospitalId;
    }

    public void setHospitalId(Integer hospitalId) {
        this.hospitalId = hospitalId;
    }

    public String getHospitalName() {
        return hospitalName;
    }

    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }

    public String getDeptCode() {
        return deptCode;
    }

    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDoctorCode() {
        return doctorCode;
    }

    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }

    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public Integer getTotal() {
        return total;
    }

    public void setTotal(Integer total) {
        this.total = total;
    }

    public Integer getReimbursement() {
        return reimbursement;
    }

    public void setReimbursement(Integer reimbursement) {
        this.reimbursement = reimbursement;
    }

    public Integer getIndividual() {
        return individual;
    }

    public void setIndividual(Integer individual) {
        this.individual = individual;
    }

    public Integer getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(Integer paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public Integer getOutpatientStatus() {
        return outpatientStatus;
    }

    public void setOutpatientStatus(Integer outpatientStatus) {
        this.outpatientStatus = outpatientStatus;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getHisPatientId() {
        return hisPatientId;
    }

    public void setHisPatientId(String hisPatientId) {
        this.hisPatientId = hisPatientId;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public String getWxMerchantId() {
        return wxMerchantId;
    }

    public void setWxMerchantId(String wxMerchantId) {
        this.wxMerchantId = wxMerchantId;
    }

    public String getWxInternalPayNo() {
        return wxInternalPayNo;
    }

    public void setWxInternalPayNo(String wxInternalPayNo) {
        this.wxInternalPayNo = wxInternalPayNo;
    }

    public String getWxTransactionId() {
        return wxTransactionId;
    }

    public void setWxTransactionId(String wxTransactionId) {
        this.wxTransactionId = wxTransactionId;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public String getHisClinicCode() {
        return hisClinicCode;
    }

    public void setHisClinicCode(String hisClinicCode) {
        this.hisClinicCode = hisClinicCode;
    }

    public String getHisOrderNo() {
        return hisOrderNo;
    }

    public void setHisOrderNo(String hisOrderNo) {
        this.hisOrderNo = hisOrderNo;
    }

    public Date getPrescriptionDate() {
        return prescriptionDate;
    }

    public void setPrescriptionDate(Date prescriptionDate) {
        this.prescriptionDate = prescriptionDate;
    }

    public String getPayName() {
        return payName;
    }

    public void setPayName(String payName) {
        this.payName = payName;
    }

    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    public Integer getPatientAge() {
        return patientAge;
    }

    public void setPatientAge(Integer patientAge) {
        this.patientAge = patientAge;
    }

    public Integer getPatientSex() {
        return patientSex;
    }

    public void setPatientSex(Integer patientSex) {
        this.patientSex = patientSex;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

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

    public String getInsureKey() {
        return insureKey;
    }

    public void setInsureKey(String insureKey) {
        this.insureKey = insureKey;
    }

    public String getInsureBizType() {
        return insureBizType;
    }

    public void setInsureBizType(String insureBizType) {
        this.insureBizType = insureBizType;
    }

    public String getInsureTreatmentType() {
        return insureTreatmentType;
    }

    public void setInsureTreatmentType(String insureTreatmentType) {
        this.insureTreatmentType = insureTreatmentType;
    }

    public String getIdNo() {
        return idNo;
    }

    public void setIdNo(String idNo) {
        this.idNo = idNo;
    }

    public String getPaymentNo() {
        return paymentNo;
    }

    public void setPaymentNo(String paymentNo) {
        this.paymentNo = paymentNo;
    }

    public Integer getRefundStatus() {
        return refundStatus;
    }

    public void setRefundStatus(Integer refundStatus) {
        this.refundStatus = refundStatus;
    }

    public Date getRefund_time() {
        return refund_time;
    }

    public void setRefund_time(Date refund_time) {
        this.refund_time = refund_time;
    }

    public String getRefundNo() {
        return refundNo;
    }

    public void setRefundNo(String refundNo) {
        this.refundNo = refundNo;
    }

    public Date getRefundCallbackTime() {
        return refundCallbackTime;
    }

    public void setRefundCallbackTime(Date refundCallbackTime) {
        this.refundCallbackTime = refundCallbackTime;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getPaymentChannel() {
        return paymentChannel;
    }

    public void setPaymentChannel(Integer paymentChannel) {
        this.paymentChannel = paymentChannel;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getRespLog() {
        return respLog;
    }

    public void setRespLog(String respLog) {
        this.respLog = respLog;
    }

    public Integer getPayInsType() {
        return payInsType;
    }

    public void setPayInsType(Integer payInsType) {
        this.payInsType = payInsType;
    }

    public String getMedTransId() {
        return medTransId;
    }

    public void setMedTransId(String medTransId) {
        this.medTransId = medTransId;
    }

    public String getMedRefundId() {
        return medRefundId;
    }

    public void setMedRefundId(String medRefundId) {
        this.medRefundId = medRefundId;
    }

    public String getMedPayUrl() {
        return medPayUrl;
    }

    public void setMedPayUrl(String medPayUrl) {
        this.medPayUrl = medPayUrl;
    }

    public String getInsRowId() {
        return insRowId;
    }

    public void setInsRowId(String insRowId) {
        this.insRowId = insRowId;
    }

    public String getInsUploadFeeResp() {
        return insUploadFeeResp;
    }

    public void setInsUploadFeeResp(String insUploadFeeResp) {
        this.insUploadFeeResp = insUploadFeeResp;
    }

    public String getInsPayCallbackResp() {
        return insPayCallbackResp;
    }

    public void setInsPayCallbackResp(String insPayCallbackResp) {
        this.insPayCallbackResp = insPayCallbackResp;
    }

    public String getInsReturnStr() {
        return insReturnStr;
    }

    public void setInsReturnStr(String insReturnStr) {
        this.insReturnStr = insReturnStr;
    }

    public String getInsTxReturnStr() {
        return insTxReturnStr;
    }

    public void setInsTxReturnStr(String insTxReturnStr) {
        this.insTxReturnStr = insTxReturnStr;
    }

    public String getInsuDivDr() {
        return insuDivDr;
    }

    public void setInsuDivDr(String insuDivDr) {
        this.insuDivDr = insuDivDr;
    }

    public Integer getMedInsType() {
        return medInsType;
    }

    public void setMedInsType(Integer medInsType) {
        this.medInsType = medInsType;
    }

    public Integer getTerminal() {
        return terminal;
    }

    public void setTerminal(Integer terminal) {
        this.terminal = terminal;
    }
}
