package com.jasamedika.medifirst2000.entities;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;

@Entity //@Audited
@Table(name = "AntrianPasienRegistrasiDetail_T")
public class AntrianPasienRegistrasiDetail extends BaseTransaction{
	@Column(name = "merchant",length=50)
	@Caption(value="Merchant")
	private String merchant;

	@Column(name = "merchantInvoiceNo",length=20)
	@Caption(value="Merchant Invoice No")
	private String merchantInvoiceNo;
	
	@Column(name = "amount")
	@Caption(value="Amount")
	private Long amount;
	
	@ManyToOne
	@JoinColumn(name = "ObjectJenisKartuDetailFk")
	@Caption(value="Object AntrianPasienRegistrasiDetail")
	private JenisKartuDetail jenisKartuDetail;
	
	@Column(name = "ObjectJenisKartuDetailFk", insertable=false,updatable=false)
	private Integer jenisKartuDetailId;

	public JenisKartuDetail getJenisKartuDetail() {
		return jenisKartuDetail;
	}
	public void setJenisKartuDetail(JenisKartuDetail jenisKartuDetail) {
		this.jenisKartuDetail = jenisKartuDetail;
	}


	@ManyToOne
	@JoinColumn(name = "ObjectJenisKartuFk")
	@Caption(value="Object Jenis Kartu")
	private JenisKartu jenisKartu;
	
	@Column(name = "ObjectKartuKreditFk", insertable=false,updatable=false)
	private Integer jenisKartuId;

	@ManyToOne
	@JoinColumn(name = "ObjectCaraBayarFk")
	@Caption(value="Object Cara Bayar")
	private CaraBayar caraBayar;
	
	@Column(name = "ObjectKartuKreditFk", insertable=false,updatable=false)
	private Integer caraBayarId;

	public String getMerchant() {
		return merchant;
	}
	public void setMerchant(String merchant) {
		this.merchant = merchant;
	}
	public String getMerchantInvoiceNo() {
		return merchantInvoiceNo;
	}
	public void setMerchantInvoiceNo(String merchantInvoiceNo) {
		this.merchantInvoiceNo = merchantInvoiceNo;
	}
	public Long getAmount() {
		return amount;
	}
	public void setAmount(Long amount) {
		this.amount = amount;
	}
	public JenisKartu getJenisKartu() {
		return jenisKartu;
	}
	public void setJenisKartu(JenisKartu jenisKartu) {
		this.jenisKartu = jenisKartu;
	}
	public CaraBayar getCaraBayar() {
		return caraBayar;
	}
	public void setCaraBayar(CaraBayar caraBayar) {
		this.caraBayar = caraBayar;
	}

	@OneToOne
	@JoinColumn(name="ObjectAntrianPasienRegistrasiFK")
	@Caption(value="AntrianPasienRegistrasi")
	private AntrianPasienRegistrasi antrianPasienRegistrasi;

	public AntrianPasienRegistrasi getAntrianPasienRegistrasi() {
		return antrianPasienRegistrasi;
	}

	public void setAntrianPasienRegistrasi(AntrianPasienRegistrasi antrianPasienRegistrasi) {
		this.antrianPasienRegistrasi = antrianPasienRegistrasi;
	}

	@Column(name = "ObjectAntrianPasienRegistrasiFK",insertable=false,updatable=false)
	private String antrianPasienRegistrasiId;
	
}
