package com.jasamedika.medifirst2000.entities;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
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="AdmisiRencanaPindahRuangan_T")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class AdmisiRencanaPindahRuangan extends BaseTransaction{
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectRegistrasiPelayananPasienFk")
	@Caption(value="Registrasi Pelayanan Pasien")
	private AntrianPasienDiPeriksa registrasiPelayananPasien;
	
	@Column(name = "ObjectRegistrasiPelayananPasienFk", insertable=false, updatable=false, nullable = true )
	private String registrasiPelayananPasienId;

	@Caption(value="Tanggal Keluar Rencana")
	@Column(name = "TglKeluarRencana", nullable = true )
	private Date tglKeluarRencana ;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectStatusKeluarRencanaFk")
	@Caption(value="Status Keluar Rencana")
	private StatusKeluar statusKeluarRencana;
	
	@Column(name = "ObjectStatusKeluarRencanaFk", insertable=false, updatable=false, nullable = true )
	private Integer statusKeluarRencanaId;

	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectKelasRencanaFk")
	@Caption(value="Kelas Rencana")
	private Kelas kelasRencana;
	
	@Column(name = "ObjectKelasRencanaFk", insertable=false, updatable=false, nullable = true )
	private Integer kelasRencanaId;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectRuanganRencanaFk")
	@Caption(value="Ruangan Rencana")
	private Ruangan ruanganRencana;
	
	@Column(name = "ObjectRuanganRencanaFk", insertable=false, updatable=false, nullable = true )
	private Integer ruanganRencanaId;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectKelasKamarRencanaFk")
	@Caption(value="Kelas Kamar Rencana")
	private Kamar kelasKamarRencana;
	
	@Column(name = "ObjectKelasKamarRencanaFk", insertable=false, updatable=false, nullable = true )
	private Integer kelasKamarRencanaId;
	
	@Caption(value="No Bed")
	@Column(name = "NoBedRencana", nullable = true)
	private Integer noBedRencana;
	
	@Caption(value="Keterangan Lainya")
	@Column(name = "KeteranganLainya", nullable = true , length = 100)
	private String keteranganLainya;
	
	//-----------------------------------------------------------------------------------------------
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectKelasAwalFk")
	@Caption(value="Kelas Awal")
	private Kelas kelasAwal;
	
	@Column(name = "ObjectKelasAwalFk", insertable=false, updatable=false, nullable = true )
	private Integer kelasAwalId;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectRuanganAwalFk")
	@Caption(value="Ruangan Awal")
	private Ruangan ruanganAwal;
	
	@Column(name = "ObjectRuanganAwalFk", insertable=false, updatable=false, nullable = true )
	private Integer ruanganAwalId;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectKelasKamarAwalFk")
	@Caption(value="Kelas Kamar Awal")
	private Kamar kelasKamarAwal;
	
	@Column(name = "ObjectKelasKamarAwalFk", insertable=false, updatable=false, nullable = true )
	private Integer kelasKamarAwalId;

	public AntrianPasienDiPeriksa getRegistrasiPelayananPasien() {
		return registrasiPelayananPasien;
	}

	public void setRegistrasiPelayananPasien(AntrianPasienDiPeriksa registrasiPelayananPasien) {
		this.registrasiPelayananPasien = registrasiPelayananPasien;
	}

	public String getRegistrasiPelayananPasienId() {
		return registrasiPelayananPasienId;
	}

	public void setRegistrasiPelayananPasienId(String registrasiPelayananPasienId) {
		this.registrasiPelayananPasienId = registrasiPelayananPasienId;
	}

	public Date getTglKeluarRencana() {
		return tglKeluarRencana;
	}

	public void setTglKeluarRencana(Date tglKeluarRencana) {
		this.tglKeluarRencana = tglKeluarRencana;
	}
	
	public Integer getStatusKeluarRencanaId() {
		return statusKeluarRencanaId;
	}

	public void setStatusKeluarRencanaId(Integer statusKeluarRencanaId) {
		this.statusKeluarRencanaId = statusKeluarRencanaId;
	}
	
	public Kelas getKelasRencana() {
		return kelasRencana;
	}

	public void setKelasRencana(Kelas kelasRencana) {
		this.kelasRencana = kelasRencana;
	}

	public Integer getKelasRencanaId() {
		return kelasRencanaId;
	}

	public void setKelasRencanaId(Integer kelasRencanaId) {
		this.kelasRencanaId = kelasRencanaId;
	}

	public Ruangan getRuanganRencana() {
		return ruanganRencana;
	}

	public void setRuanganRencana(Ruangan ruanganRencana) {
		this.ruanganRencana = ruanganRencana;
	}

	public Integer getRuanganRencanaId() {
		return ruanganRencanaId;
	}

	public void setRuanganRencanaId(Integer ruanganRencanaId) {
		this.ruanganRencanaId = ruanganRencanaId;
	}

	public Kamar getKelasKamarRencana() {
		return kelasKamarRencana;
	}

	public void setKelasKamarRencana(Kamar kelasKamarRencana) {
		this.kelasKamarRencana = kelasKamarRencana;
	}

	public Integer getKelasKamarRencanaId() {
		return kelasKamarRencanaId;
	}

	public void setKelasKamarRencanaId(Integer kelasKamarRencanaId) {
		this.kelasKamarRencanaId = kelasKamarRencanaId;
	}

	public Integer getNoBedRencana() {
		return noBedRencana;
	}

	public void setNoBedRencana(Integer noBedRencana) {
		this.noBedRencana = noBedRencana;
	}

	public String getKeteranganLainya() {
		return keteranganLainya;
	}

	public void setKeteranganLainya(String keteranganLainya) {
		this.keteranganLainya = keteranganLainya;
	}

	public Kelas getKelasAwal() {
		return kelasAwal;
	}

	public void setKelasAwal(Kelas kelasAwal) {
		this.kelasAwal = kelasAwal;
	}

	public Integer getKelasAwalId() {
		return kelasAwalId;
	}

	public void setKelasAwalId(Integer kelasAwalId) {
		this.kelasAwalId = kelasAwalId;
	}

	public Ruangan getRuanganAwal() {
		return ruanganAwal;
	}

	public void setRuanganAwal(Ruangan ruanganAwal) {
		this.ruanganAwal = ruanganAwal;
	}

	public Integer getRuanganAwalId() {
		return ruanganAwalId;
	}

	public void setRuanganAwalId(Integer ruanganAwalId) {
		this.ruanganAwalId = ruanganAwalId;
	}

	public Kamar getKelasKamarAwal() {
		return kelasKamarAwal;
	}

	public void setKelasKamarAwal(Kamar kelasKamarAwal) {
		this.kelasKamarAwal = kelasKamarAwal;
	}

	public Integer getKelasKamarAwalId() {
		return kelasKamarAwalId;
	}

	public void setKelasKamarAwalId(Integer kelasKamarAwalId) {
		this.kelasKamarAwalId = kelasKamarAwalId;
	}

	public StatusKeluar getStatusKeluarRencana() {
		return statusKeluarRencana;
	}

	public void setStatusKeluarRencana(StatusKeluar statusKeluarRencana) {
		this.statusKeluarRencana = statusKeluarRencana;
	}
}
