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

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * (OutpatientOrder)实体类
 *
 * @author johnson lin
 * @since 2019-05-29 16:54:25
 */
@Entity
@Table(name = "outpatient_order")
public class OutpatientOrder implements Serializable {
    private static final long serialVersionUID = -20150319591256672L;

    @Id
    @Column(name = "id")
    private Integer id;

    @Column(name = "hospital_id")
    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")
    private Integer total;

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

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

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

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

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

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

    @Column(name = "pay_time")
    private LocalDateTime 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")
    private Boolean deleted;

    @Column(name = "create_time")
    private LocalDateTime createTime;

    @Column(name = "his_clinic_code")
    private String hisClinicCode;

    @Column(name = "his_order_no")
    private String hisOrderNo;

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

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

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

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

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

    /**
     * 修改时间
     */
    @Column(name = "update_time")
    private LocalDateTime 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 = "refund_status")
    private Integer refundStatus;

    /**
     * 退款时间
     */
    @Column(name = "refund_time")
    private LocalDateTime refundTime;

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

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

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

    /**
     * 订单编码
     */
    @Column(name = "order_no")
    private String orderNo;

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

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

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

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

    /**
     * 用于退款时填写的备注
     */
    @Column(name = "refund_remark")
    private String refundRemark;

    /**
     * 取药方式
     */
    @Column(name = "delivery_method")
    private Integer deliveryMethod;

    /**
     * 送货地址/药店地址
     */
    @Column(name = "address_id")
    private Integer addressId;

    /**
     * 邮费
     */
    @Column(name = "postage")
    private Integer postage;

    /**
     * 开始时间
     */
    @Column(name = "start_send_time")
    private LocalDateTime startSendTime;

    /**
     * 完成时间
     */
    @Column(name = "finish_send_time")
    private LocalDateTime finishSendTime;

    /**
     * 配送号
     */
    @Column(name = "send_no")
    private String sendNo;

    /**
     * 时效标准(快递的预计送达时间)
     */
    @Column(name = "time_standard")
    private String timeStandard;

    /**
     * 个人支付总额
     */
    @Column(name = "amount")
    private Integer amount;

    @Column(name = "invoice_no")
    private String invoiceNo;

    /**
     * 医保支付类型：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 = "med_pay_app_id")
    private String medPayAppId;

    @Column(name = "ins_tx_return_str")
    private String insTxReturnStr;

    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 LocalDateTime getPayTime() {
        return payTime;
    }

    public void setPayTime(LocalDateTime 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 LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime 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 String getPayName() {
        return payName;
    }

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

    public LocalDateTime getPrescriptionDate() {
        return prescriptionDate;
    }

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

    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 LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime 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 Integer getRefundStatus() {
        return refundStatus;
    }

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

    public LocalDateTime getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(LocalDateTime refundTime) {
        this.refundTime = refundTime;
    }

    public String getRefundNo() {
        return refundNo;
    }

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

    public String getRefundCallbackTime() {
        return refundCallbackTime;
    }

    public void setRefundCallbackTime(String 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 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 getPaymentChannel() {
        return paymentChannel;
    }

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

    public Integer getExpress() {
        return express;
    }

    public void setExpress(Integer express) {
        this.express = express;
    }

    public String getRefundRemark() {
        return refundRemark;
    }

    public void setRefundRemark(String refundRemark) {
        this.refundRemark = refundRemark;
    }

    public Integer getDeliveryMethod() {
        return deliveryMethod;
    }

    public void setDeliveryMethod(Integer deliveryMethod) {
        this.deliveryMethod = deliveryMethod;
    }

    public Integer getAddressId() {
        return addressId;
    }

    public void setAddressId(Integer addressId) {
        this.addressId = addressId;
    }

    public Integer getPostage() {
        return postage;
    }

    public void setPostage(Integer postage) {
        this.postage = postage;
    }

    public LocalDateTime getStartSendTime() {
        return startSendTime;
    }

    public void setStartSendTime(LocalDateTime startSendTime) {
        this.startSendTime = startSendTime;
    }

    public LocalDateTime getFinishSendTime() {
        return finishSendTime;
    }

    public void setFinishSendTime(LocalDateTime finishSendTime) {
        this.finishSendTime = finishSendTime;
    }

    public String getSendNo() {
        return sendNo;
    }

    public void setSendNo(String sendNo) {
        this.sendNo = sendNo;
    }

    public String getTimeStandard() {
        return timeStandard;
    }

    public void setTimeStandard(String timeStandard) {
        this.timeStandard = timeStandard;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

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

    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 getMedPayAppId() {
        return medPayAppId;
    }

    public void setMedPayAppId(String medPayAppId) {
        this.medPayAppId = medPayAppId;
    }

    public String getInsTxReturnStr() {
        return insTxReturnStr;
    }

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