package com.ywt.mg.domain.ywtDrugEntities;

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

/**
 * 药房表
 */
@Entity
@Table(name = "pharmacy")
public class Pharmacy implements Serializable {
  private static final long serialVersionUID = 1L;

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "id", insertable = false, nullable = false)
  private Integer id;

  /**
   * 药房名称
   */
  @Column(name = "name", nullable = false)
  private String name = "";

  /**
   * 权重
   */
  @Column(name = "weight", nullable = false)
  private Integer weight;

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

  /**
   * 医院名称
   */
  @Column(name = "hospital_name", nullable = false)
  private String hospitalName = "";

  /**
   * 是否删除
   */
  @Column(name = "deleted", nullable = false)
  private Integer deleted;

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

  /**
   * 药房地址
   */
  @Column(name = "address")
  private String address;

  /**
   * 是否支持医保，0-不支持，1-支持
   */
  @Column(name = "insurance")
  private Integer insurance;

  /**
   * 省名称
   */
  @Column(name = "province", nullable = false)
  private String province;

  /**
   * 市名称
   */
  @Column(name = "city", nullable = false)
  private String city;

  /**
   * 区、县名称
   */
  @Column(name = "area", nullable = false)
  private String area;

  /**
   * 状态，0-正常，1-禁用
   */
  @Column(name = "status")
  private Integer status = 0;

  /**
   * 药房电话
   */
  @Column(name = "tel")
  private String tel = "";

  /**
   * 1-可用于开处方
   */
  @Column(name = "type", nullable = false)
  private Integer type = 0;

  /**
   * 父级id
   */
  @Column(name = "parent_id")
  private Integer parentId = 0;

  /**
   * 树编码（eg. 210|33|112）
   */
  @Column(name = "tree_code", nullable = false)
  private String treeCode;

  /**
   * 扩展状态：1-前端不显示；2-支持快递,4-不能开针剂或者肽类药品
   */
  @Column(name = "ext_status")
  private Integer extStatus = 0;

  /**
   * 药房管理人员，店长
   */
  @Column(name = "manager")
  private String manager = "";

  /**
   * 开放处方进入的渠道，对应PrescriptionInfoSourceEnum
   */
  @Column(name = "open_source_ids")
  private String openSourceIds = "";

  /**
   * 药房别名
   */
  @Column(name = "other_name")
  private String otherName = "";

  /**
   * 经度
   */
  @Column(name = "longitude", nullable = false)
  private Double longitude = 0.000000D;

  /**
   * 纬度
   */
  @Column(name = "latitude", nullable = false)
  private Double latitude = 0.000000D;

  /**
   * 是否显示，0-显示，1-不显示
   */
  @Column(name = "display")
  private Integer display = 0;

  /**
   * 时间格式：18:00，表示当月未开发票的患者，在当月最后一天18：00后将不能线上提交开票申请
   */
  @Column(name = "invoice_end_time")
  private String invoiceEndTime;

  /**
   * 发票状态，0-关闭，1-开启
   */
  @Column(name = "invoice_status")
  private Integer invoiceStatus = 0;

  /**
   * 对账只能看到这个时间之后的数据
   */
  @Column(name = "filter_time")
  private String filterTime;

  /**
   * 不良反应反馈来源
   */
  @Column(name = "feedback_source")
  private Integer feedbackSource;

  /**
   * 处方权限，对应sys_dict_type_item表中type_code为prescription_right_doctor_class字段的记录中的value字段
   */
  @Column(name = "prescription_right_ids")
  private String prescriptionRightIds = "";

  /**
   * 无库存提示, 1: 开， 0: 关
   */
  @Column(name = "remind", nullable = false)
  private Integer remind = 1;

  /**
   * 是否是领队，0-不是，1-是，v4.3.6,用于多个药房之间的药房状态区分
   */
  @Column(name = "leader", nullable = false)
  private Integer leader = 0;

  /**
   * 商户外部系统编号，对应icbc_vendor表的out_vendor_id字段
   */
  @Column(name = "out_vendor_id")
  private String outVendorId = "";

  public Integer getId() {
    return id;
  }

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

  /**
   * 药房名称
   */
  public String getName() {
    return name;
  }

  /**
   * 药房名称
   */
  public void setName(String name) {
    this.name = name;
  }

  /**
   * 权重
   */
  public Integer getWeight() {
    return weight;
  }

  /**
   * 权重
   */
  public void setWeight(Integer weight) {
    this.weight = weight;
  }

  /**
   * 医院Id
   */
  public Integer getHospitalId() {
    return hospitalId;
  }

  /**
   * 医院Id
   */
  public void setHospitalId(Integer hospitalId) {
    this.hospitalId = hospitalId;
  }

  /**
   * 医院名称
   */
  public String getHospitalName() {
    return hospitalName;
  }

  /**
   * 医院名称
   */
  public void setHospitalName(String hospitalName) {
    this.hospitalName = hospitalName;
  }

  /**
   * 是否删除
   */
  public Integer getDeleted() {
    return deleted;
  }

  /**
   * 是否删除
   */
  public void setDeleted(Integer deleted) {
    this.deleted = deleted;
  }

  /**
   * 创建时间
   */
  public Date getCreateTime() {
    return createTime;
  }

  /**
   * 创建时间
   */
  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  /**
   * 药房地址
   */
  public String getAddress() {
    return address;
  }

  /**
   * 药房地址
   */
  public void setAddress(String address) {
    this.address = address;
  }

  /**
   * 是否支持医保，0-不支持，1-支持
   */
  public Integer getInsurance() {
    return insurance;
  }

  /**
   * 是否支持医保，0-不支持，1-支持
   */
  public void setInsurance(Integer insurance) {
    this.insurance = insurance;
  }

  /**
   * 省名称
   */
  public String getProvince() {
    return province;
  }

  /**
   * 省名称
   */
  public void setProvince(String province) {
    this.province = province;
  }

  /**
   * 市名称
   */
  public String getCity() {
    return city;
  }

  /**
   * 市名称
   */
  public void setCity(String city) {
    this.city = city;
  }

  /**
   * 区、县名称
   */
  public String getArea() {
    return area;
  }

  /**
   * 区、县名称
   */
  public void setArea(String area) {
    this.area = area;
  }

  /**
   * 状态，0-正常，1-禁用
   */
  public Integer getStatus() {
    return status;
  }

  /**
   * 状态，0-正常，1-禁用
   */
  public void setStatus(Integer status) {
    this.status = status;
  }

  /**
   * 药房电话
   */
  public String getTel() {
    return tel;
  }

  /**
   * 药房电话
   */
  public void setTel(String tel) {
    this.tel = tel;
  }

  /**
   * 1-可用于开处方
   */
  public Integer getType() {
    return type;
  }

  /**
   * 1-可用于开处方
   */
  public void setType(Integer type) {
    this.type = type;
  }

  /**
   * 父级id
   */
  public Integer getParentId() {
    return parentId;
  }

  /**
   * 父级id
   */
  public void setParentId(Integer parentId) {
    this.parentId = parentId;
  }

  /**
   * 树编码（eg. 210|33|112）
   */
  public String getTreeCode() {
    return treeCode;
  }

  /**
   * 树编码（eg. 210|33|112）
   */
  public void setTreeCode(String treeCode) {
    this.treeCode = treeCode;
  }

  /**
   * 扩展状态：1-前端不显示；2-支持快递,4-不能开针剂或者肽类药品
   */
  public Integer getExtStatus() {
    return extStatus;
  }

  /**
   * 扩展状态：1-前端不显示；2-支持快递,4-不能开针剂或者肽类药品
   */
  public void setExtStatus(Integer extStatus) {
    this.extStatus = extStatus;
  }

  /**
   * 药房管理人员，店长
   */
  public String getManager() {
    return manager;
  }

  /**
   * 药房管理人员，店长
   */
  public void setManager(String manager) {
    this.manager = manager;
  }

  /**
   * 开放处方进入的渠道，对应PrescriptionInfoSourceEnum
   */
  public String getOpenSourceIds() {
    return openSourceIds;
  }

  /**
   * 开放处方进入的渠道，对应PrescriptionInfoSourceEnum
   */
  public void setOpenSourceIds(String openSourceIds) {
    this.openSourceIds = openSourceIds;
  }

  /**
   * 药房别名
   */
  public String getOtherName() {
    return otherName;
  }

  /**
   * 药房别名
   */
  public void setOtherName(String otherName) {
    this.otherName = otherName;
  }

  /**
   * 经度
   */
  public Double getLongitude() {
    return longitude;
  }

  /**
   * 经度
   */
  public void setLongitude(Double longitude) {
    this.longitude = longitude;
  }

  /**
   * 纬度
   */
  public Double getLatitude() {
    return latitude;
  }

  /**
   * 纬度
   */
  public void setLatitude(Double latitude) {
    this.latitude = latitude;
  }

  /**
   * 是否显示，0-显示，1-不显示
   */
  public Integer getDisplay() {
    return display;
  }

  /**
   * 是否显示，0-显示，1-不显示
   */
  public void setDisplay(Integer display) {
    this.display = display;
  }

  /**
   * 时间格式：18:00，表示当月未开发票的患者，在当月最后一天18：00后将不能线上提交开票申请
   */
  public String getInvoiceEndTime() {
    return invoiceEndTime;
  }

  /**
   * 时间格式：18:00，表示当月未开发票的患者，在当月最后一天18：00后将不能线上提交开票申请
   */
  public void setInvoiceEndTime(String invoiceEndTime) {
    this.invoiceEndTime = invoiceEndTime;
  }

  /**
   * 发票状态，0-关闭，1-开启
   */
  public Integer getInvoiceStatus() {
    return invoiceStatus;
  }

  /**
   * 发票状态，0-关闭，1-开启
   */
  public void setInvoiceStatus(Integer invoiceStatus) {
    this.invoiceStatus = invoiceStatus;
  }

  /**
   * 对账只能看到这个时间之后的数据
   */
  public String getFilterTime() {
    return filterTime;
  }

  /**
   * 对账只能看到这个时间之后的数据
   */
  public void setFilterTime(String filterTime) {
    this.filterTime = filterTime;
  }

  /**
   * 不良反应反馈来源
   */
  public Integer getFeedbackSource() {
    return feedbackSource;
  }

  /**
   * 不良反应反馈来源
   */
  public void setFeedbackSource(Integer feedbackSource) {
    this.feedbackSource = feedbackSource;
  }

  /**
   * 处方权限，对应sys_dict_type_item表中type_code为prescription_right_doctor_class字段的记录中的value字段
   */
  public String getPrescriptionRightIds() {
    return prescriptionRightIds;
  }

  /**
   * 处方权限，对应sys_dict_type_item表中type_code为prescription_right_doctor_class字段的记录中的value字段
   */
  public void setPrescriptionRightIds(String prescriptionRightIds) {
    this.prescriptionRightIds = prescriptionRightIds;
  }

  /**
   * 无库存提示, 1: 开， 0: 关
   */
  public Integer getRemind() {
    return remind;
  }

  /**
   * 无库存提示, 1: 开， 0: 关
   */
  public void setRemind(Integer remind) {
    this.remind = remind;
  }

  /**
   * 是否是领队，0-不是，1-是，v4.3.6,用于多个药房之间的药房状态区分
   */
  public Integer getLeader() {
    return leader;
  }

  /**
   * 是否是领队，0-不是，1-是，v4.3.6,用于多个药房之间的药房状态区分
   */
  public void setLeader(Integer leader) {
    this.leader = leader;
  }

  /**
   * 商户外部系统编号，对应icbc_vendor表的out_vendor_id字段
   */
  public String getOutVendorId() {
    return outVendorId;
  }

  /**
   * 商户外部系统编号，对应icbc_vendor表的out_vendor_id字段
   */
  public void setOutVendorId(String outVendorId) {
    this.outVendorId = outVendorId;
  }

  public String toString() {
    return "Pharmacy{id=" + id + 
      ", name=" + name + 
      ", weight=" + weight + 
      ", hospitalId=" + hospitalId + 
      ", hospitalName=" + hospitalName + 
      ", deleted=" + deleted + 
      ", createTime=" + createTime + 
      ", address=" + address + 
      ", insurance=" + insurance + 
      ", province=" + province + 
      ", city=" + city + 
      ", area=" + area + 
      ", status=" + status + 
      ", tel=" + tel + 
      ", type=" + type + 
      ", parentId=" + parentId + 
      ", treeCode=" + treeCode + 
      ", extStatus=" + extStatus + 
      ", manager=" + manager + 
      ", openSourceIds=" + openSourceIds + 
      ", otherName=" + otherName + 
      ", longitude=" + longitude + 
      ", latitude=" + latitude + 
      ", display=" + display + 
      ", invoiceEndTime=" + invoiceEndTime + 
      ", invoiceStatus=" + invoiceStatus + 
      ", filterTime=" + filterTime + 
      ", feedbackSource=" + feedbackSource + 
      ", prescriptionRightIds=" + prescriptionRightIds + 
      ", remind=" + remind + 
      ", leader=" + leader + 
      ", outVendorId=" + outVendorId + 
      "}";
  }
}