package com.jasamedika.medifirst2000.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name = "MappingKirimDokumenPasien_T")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class MappingKirimDokumenPasien extends BaseTransaction {

	@ManyToOne
	@JoinColumn(name = "ObjectStrukKirimFk")
	@Caption(value = "Object Struk Kirim")
	private StrukKirim strukKirim;

	@Column(name = "ObjectStrukKirimFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String strukKirimId;

	@ManyToOne
	@JoinColumn(name = "ObjectDokumenRekamMedisFk")
	@Caption(value = "Object Dokumen Rekam Medis")
	private DokumenRekamMedis dokumenRekamMedis;

	@Column(name = "ObjectDokumenRekamMedisFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String dokumenRekamMedisId;

	@ManyToOne
	@JoinColumn(name = "ObjectStrukPelayananFk")
	@Caption(value = "Object Struk Pelayanan")
	private StrukPelayanan strukPelayanan;

	@Column(name = "ObjectStrukPelayananFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String strukPelayananId;

	@ManyToOne
	@JoinColumn(name = "DokumenMasukFk")
	@Caption(value = "Object Dokumen Masuk")
	private DokumenMasuk dokumenMasuk;

	@Column(name = "DokumenMasukFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String dokumenMasukId;

	@ManyToOne
	@JoinColumn(name = "ObjectPegawaiTujuanLastFk")
	@Caption(value = "Object Pegawai Tujuan Last")
	private LoginUser kdpegawaitujuanlast;

	@Column(name = "ObjectPegawaiTujuanLastFk", insertable = false, updatable = false)
	private Integer ObjectPegawaiTujuanLastId;

	@ManyToOne
	@JoinColumn(name = "ObjectRuanganTujuanLastFk")
	@Caption(value = "Object Ruangan Tujuan Last")
	private Ruangan kdruangantujuanlast;

	@Column(name = "ObjectRuanganTujuanLastFk", insertable = false, updatable = false)
	private Integer ObjectRuanganTujuanLastId;

	@ManyToOne
	@JoinColumn(name = "RuanganTujuanSuratMasukFk")
	@Caption(value = "Object Ruangan Tujuan Surat Masuk")
	private Ruangan ruanganTujuan;

	@Column(name = "RuanganTujuanSuratMasukFk", insertable = false, updatable = false)
	private Integer ruanganTujuanId;

	@ManyToOne
	@JoinColumn(name = "PasienFk")
	private Pasien pasien;

	@Column(name = "PasienFk", insertable = false, updatable = false, nullable = true)
	private Integer pasienId;

	@ManyToOne
	@JoinColumn(name = "DokumenFk")
	private Dokumen dokumen;

	@Column(name = "DokumenFk", insertable = false, updatable = false, nullable = true)
	private Integer dokumenId;

	@ManyToOne
	@JoinColumn(name = "PasienDaftarFk")
	private PasienDaftar pasienDaftar;

	@Column(name = "PasienDaftarFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String pasienDaftarId;

	@ManyToOne
	@JoinColumn(name = "PasienDiPeriksaFk")
	private AntrianPasienDiPeriksa pasienDiPeriksa;

	@Column(name = "PasienDiPeriksaFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String pasienDiPeriksaId;
	
	@Column(name = "Status", nullable = true, length = 100)
	@Caption(value = "Status")
	private String status;
	
	@ManyToOne
	@JoinColumn(name = "NoTerimaFk")
	@Caption(value = "No Terima")
	private StrukPelayanan noTerima;

	public StrukPelayanan getNoTerima() {
		return noTerima;
	}

	public void setNoTerima(StrukPelayanan noTerima) {
		this.noTerima = noTerima;
	}

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

	public String getStatus() {
		return this.status;
	}

	public AntrianPasienDiPeriksa getPasienDiPeriksa() {
		return pasienDiPeriksa;
	}

	public void setPasienDiPeriksa(AntrianPasienDiPeriksa pasienDiPeriksa) {
		this.pasienDiPeriksa = pasienDiPeriksa;
	}

	public PasienDaftar getPasienDaftar() {
		return pasienDaftar;
	}

	public void setPasienDaftar(PasienDaftar pasienDaftar) {
		this.pasienDaftar = pasienDaftar;
	}

	public Pasien getPasien() {
		return pasien;
	}

	public void setPasien(Pasien pasien) {
		this.pasien = pasien;
	}

	public Dokumen getDokumen() {
		return dokumen;
	}

	public void setDokumen(Dokumen dokumen) {
		this.dokumen = dokumen;
	}

	public Ruangan getRuanganTujuan() {
		return ruanganTujuan;
	}

	public void setRuanganTujuan(Ruangan ruanganTujuan) {
		this.ruanganTujuan = ruanganTujuan;
	}

	public LoginUser getKdpegawaitujuanlast() {
		return kdpegawaitujuanlast;
	}

	public void setKdpegawaitujuanlast(LoginUser kdpegawaitujuanlast) {
		this.kdpegawaitujuanlast = kdpegawaitujuanlast;
	}

	public Ruangan getKdruangantujuanlast() {
		return kdruangantujuanlast;
	}

	public void setKdruangantujuanlast(Ruangan kdruangantujuanlast) {
		this.kdruangantujuanlast = kdruangantujuanlast;
	}

	public DokumenMasuk getDokumenMasuk() {
		return dokumenMasuk;
	}

	public void setDokumenMasuk(DokumenMasuk dokumenMasuk) {
		this.dokumenMasuk = dokumenMasuk;
	}

	public StrukKirim getStrukKirim() {
		return strukKirim;
	}

	public void setStrukKirim(StrukKirim strukKirim) {
		this.strukKirim = strukKirim;
	}

	public DokumenRekamMedis getDokumenRekamMedis() {
		return dokumenRekamMedis;
	}

	public void setDokumenRekamMedis(DokumenRekamMedis dokumenRekamMedis) {
		this.dokumenRekamMedis = dokumenRekamMedis;
	}

	public StrukPelayanan getStrukPelayanan() {
		return strukPelayanan;
	}

	public void setStrukPelayanan(StrukPelayanan strukPelayanan) {
		this.strukPelayanan = strukPelayanan;
	}

}
