package com.ywt.mg.domain.ywtDrugEntities;

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

@Entity
@Table(name = "prescription_info")
public class PrescriptionInfo {

    @Id
    private int id;

    /**
     * 业务编码
     */
    @Column(name = "pre_biz_no")
    private String preBizNo;

    /**
     * 第三方编码
     */
    @Column(name = "biz_no_3th")
    private String bizNo3th;

    /**
     * 医生姓名
     */
    @Column(name = "doctor_name")
    private String doctorName;

    /**
     * 医生编号
     */
    @Column(name = "doctor_code")
    private String doctorCode;

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

    /**
     * 患者年龄
     */
    @Column(name = "patient_age")
    private String patientAge;

    /**
     * 患者性别(男、女)
     */
    @Column(name = "patient_sex")
    private String patientSex;

    /**
     * 患者编号
     */
    @Column(name = "patient_no")
    private String patientNo;

    /**
     * 临床诊断
     */
    @Column(name = "diagnose")
    private String diagnose;

    /**
     * 科室
     */
    @Column(name = "dept")
    private String dept;

    /**
     * 创建时间
     */
    @Column(name = "create_on")
    private Date createOn;

    /**
     * 来源
     */
    @Column(name = "source")
    private Integer source;

    /**
     * 状态
     */
    @Column(name = "status")
    private Integer status;

    /**
     * 总价格
     */
    @Column(name = "total_price")
    private Integer totalPrice;

    /**
     * 支付状态 (0: 待支付, 1: 支付处理中, 2: 支付成功, 3: 支付失败)
     */
    @Column(name = "payment_status")
    private Integer paymentStatus;

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

    @Column(name = "user_type")
    private Integer userType;

    @Column(name = "user_key_id")
    private String userKeyId;

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

    /**
     * 过敏史
     */
    @Column(name = "allergic_history")
    private String allergicHistory;

    /**
     * 病情描述
     */
    @Column(name = "description")
    private String description;

    /**
     * 医生签名Id
     */
    @Column(name = "doctor_sign_id")
    private Integer doctorSignId;

    /**
     * 医生Id
     */
    @Column(name = "doctor_id")
    private Integer doctorId;

    @Column(name = "hospital_id")
    private Integer hospitalId;

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

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

    /**
     * HIS单号
     * HIS订单号(当source字段的值为12的时候，对应ywt_center数据库的outpatient_order表的his_order_no字段)
     */
    @Column(name = "his_order_no")
    private String hisOrderNo;

    /**
     * 快递运费
     */
    @Column(name = "freight")
    private Integer freight;

    /**
     * 药房地址ID，对应pharmacy表
     */
    @Column(name = "pharmacy_id")
    private Integer pharmacyId;

    /**
     * 个人支付总金额（药品总金额 - 医保 + 运费）
     */
    @Column(name = "individual", nullable = false)
    private Integer individual;

    /**
     * 开始时间（发药）
     */
    @Column(name = "start_send_time")
    private Date startSendTime;

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

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

    /**
     * 取药二维码
     */
    @Column(name = "qr_code_url")
    private String qrCodeUrl;

    @Column(name = "id_card_no")
    private String idCardNo;

    /**
     * 拓展状态，位运算，1-是否报到，2-是否发药，4-是否打印发票
     */
    @Column(name = "ext_status")
    private Integer extStatus;

    /**
     * 是否需要打印发票，0-不需要，1-需要
     */
    @Column(name = "need_print_status")
    private Integer needPrintStatus;

    /**
     * 患者报到时间
     */
    @Column(name = "check_in_time")
    private Date checkInTime;

    /**
     * 平台
     */
    @Column(name = "terminal")
    private Integer terminal;

    /**
     * 患者支付时间
     */
    @Column(name = "pay_time")
    private Date payTime;

    /**
     * 订单号，对应orders表order_no字段
     */
    @Column(name = "order_no")
    private String orderNo;

    /**
     * 订单Id，对应orders表id字段
     */
    @Column(name = "order_id")
    private Integer orderId;

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

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

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

    /**
     * 是否已经发送微信取药消息，0-否，1-是 (1-发送"未取药"提醒，2-发送"提醒取药"，位运算)
     */
    @Column(name = "get_medicine_notice")
    private Integer getMedicineNotice;

    /**
     * 推送给国控的进度（位存储）
     * 0-未推送 1-药品匹配成功 2-处方订单确认
     */
    @Column(name = "sinopharm")
    private Integer sinopharm;

    /**
     * 匹配成功流水
     */
    @Column(name = "match_id")
    private String matchId;

    @Column(name = "ext_data")
    private String extData;

    @Column(name = "remarks")
    private String remarks;

    @Column(name = "sender_account")
    private String senderAccount;

    @Column(name = "sender_nickname")
    private String senderNickname;

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

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

    /**
     * 药房树编码
     */
    @Column(name = "pharmacy_tree_code")
    private String pharmacyTreeCode;


    /**
     * 3.1.5 新增
     * 处方作废状态：0-初始状态，1-作废申请中，2-已作废，3-作废失败
     */
    @Column(name = "cancel_status")
    private Integer cancelStatus;


    /**
     * 3.1.5 新增
     * 处方作废备注
     */
    @Column(name = "cancel_remark")
    private String cancelRemark;

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

    /**
     * HIS 插入医嘱返回的 orderId, 多个用英文逗号隔开
     */
    @Column(name = "his_oeori_order_id")
    private String hisOeoriOrderId;

    /**
     * 3.3.3 新增
     * 申请作废原因
     */
    @Column(name = "cancel_reason")
    private String cancelReason;


    public int getId() {
        return id;
    }

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

    public String getPreBizNo() {
        return preBizNo;
    }

    public void setPreBizNo(String preBizNo) {
        this.preBizNo = preBizNo;
    }

    public String getBizNo3th() {
        return bizNo3th;
    }

    public void setBizNo3th(String bizNo3th) {
        this.bizNo3th = bizNo3th;
    }

    public String getDoctorName() {
        return doctorName;
    }

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

    public String getDoctorCode() {
        return doctorCode;
    }

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

    public String getPatientName() {
        return patientName;
    }

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

    public String getPatientSex() {
        return patientSex;
    }

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

    public String getPatientNo() {
        return patientNo;
    }

    public void setPatientNo(String patientNo) {
        this.patientNo = patientNo;
    }

    public String getDiagnose() {
        return diagnose;
    }

    public void setDiagnose(String diagnose) {
        this.diagnose = diagnose;
    }

    public String getDept() {
        return dept;
    }

    public void setDept(String dept) {
        this.dept = dept;
    }

    public Date getCreateOn() {
        return createOn;
    }

    public void setCreateOn(Date createOn) {
        this.createOn = createOn;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }

    public Integer getStatus() {
        return status;
    }

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

    public Integer getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(Integer totalPrice) {
        this.totalPrice = totalPrice;
    }

    public Integer getPaymentStatus() {
        return paymentStatus;
    }

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

    public Integer getUserId() {
        return userId;
    }

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

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public String getUserKeyId() {
        return userKeyId;
    }

    public void setUserKeyId(String userKeyId) {
        this.userKeyId = userKeyId;
    }

    public String getPatientAge() {
        return patientAge;
    }

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

    public String getPatientMobile() {
        return patientMobile;
    }

    public void setPatientMobile(String patientMobile) {
        this.patientMobile = patientMobile;
    }

    public String getAllergicHistory() {
        return allergicHistory;
    }

    public void setAllergicHistory(String allergicHistory) {
        this.allergicHistory = allergicHistory;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getDoctorSignId() {
        return doctorSignId;
    }

    public void setDoctorSignId(Integer doctorSignId) {
        this.doctorSignId = doctorSignId;
    }

    public Integer getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(Integer doctorId) {
        this.doctorId = doctorId;
    }

    public Integer getHospitalId() {
        return hospitalId;
    }

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

    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 String getHisOrderNo() {
        return hisOrderNo;
    }

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

    public Integer getFreight() {
        return freight;
    }

    public void setFreight(Integer freight) {
        this.freight = freight;
    }

    public Integer getPharmacyId() {
        return pharmacyId;
    }

    public void setPharmacyId(Integer pharmacyId) {
        this.pharmacyId = pharmacyId;
    }

    public Integer getIndividual() {
        return individual;
    }

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

    public Date getStartSendTime() {
        return startSendTime;
    }

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

    public Date getFinishSendTime() {
        return finishSendTime;
    }

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

    public String getSendNo() {
        return sendNo;
    }

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

    public String getQrCodeUrl() {
        return qrCodeUrl;
    }

    public void setQrCodeUrl(String qrCodeUrl) {
        this.qrCodeUrl = qrCodeUrl;
    }

    public String getIdCardNo() {
        return idCardNo;
    }

    public void setIdCardNo(String idCardNo) {
        this.idCardNo = idCardNo;
    }

    public Integer getExtStatus() {
        return extStatus;
    }

    public void setExtStatus(Integer extStatus) {
        this.extStatus = extStatus;
    }

    public Integer getNeedPrintStatus() {
        return needPrintStatus;
    }

    public void setNeedPrintStatus(Integer needPrintStatus) {
        this.needPrintStatus = needPrintStatus;
    }

    public Date getCheckInTime() {
        return checkInTime;
    }

    public void setCheckInTime(Date checkInTime) {
        this.checkInTime = checkInTime;
    }

    public Integer getTerminal() {
        return terminal;
    }

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

    public Date getPayTime() {
        return payTime;
    }

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

    public Integer getPaymentChannel() {
        return paymentChannel;
    }

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

    public String getPaymentNo() {
        return paymentNo;
    }

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

    public Date getRefundTime() {
        return refundTime;
    }

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

    public Integer getGetMedicineNotice() {
        return getMedicineNotice;
    }

    public void setGetMedicineNotice(Integer getMedicineNotice) {
        this.getMedicineNotice = getMedicineNotice;
    }

    public Integer getSinopharm() {
        return sinopharm;
    }

    public void setSinopharm(Integer sinopharm) {
        this.sinopharm = sinopharm;
    }

    public String getMatchId() {
        return matchId;
    }

    public void setMatchId(String matchId) {
        this.matchId = matchId;
    }

    public String getExtData() {
        return extData;
    }

    public void setExtData(String extData) {
        this.extData = extData;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getSenderAccount() {
        return senderAccount;
    }

    public void setSenderAccount(String senderAccount) {
        this.senderAccount = senderAccount;
    }

    public String getSenderNickname() {
        return senderNickname;
    }

    public void setSenderNickname(String senderNickname) {
        this.senderNickname = senderNickname;
    }

    public String getOrderNo() {
        return orderNo;
    }

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

    public Integer getOrderId() {
        return orderId;
    }

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

    public Integer getRefundStatus() {
        return refundStatus;
    }

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

    public String getRefundNo() {
        return refundNo;
    }

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

    public String getPharmacyTreeCode() {
        return pharmacyTreeCode;
    }

    public void setPharmacyTreeCode(String pharmacyTreeCode) {
        this.pharmacyTreeCode = pharmacyTreeCode;
    }

    public Integer getCancelStatus() {
        return cancelStatus;
    }

    public void setCancelStatus(Integer cancelStatus) {
        this.cancelStatus = cancelStatus;
    }

    public String getCancelRemark() {
        return cancelRemark;
    }

    public void setCancelRemark(String cancelRemark) {
        this.cancelRemark = cancelRemark;
    }

    public String getHisPatientId() {
        return hisPatientId;
    }

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

    public String getHisOeoriOrderId() {
        return hisOeoriOrderId;
    }

    public void setHisOeoriOrderId(String hisOeoriOrderId) {
        this.hisOeoriOrderId = hisOeoriOrderId;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }
}
