package com.jasamedika.medifirst2000.vo;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;


import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
import com.jasamedika.medifirst2000.entities.DetailRencanaOperasi;
import com.jasamedika.medifirst2000.entities.JenisOperasi;
import com.jasamedika.medifirst2000.entities.Kamar;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.StrukOrder;
import com.fasterxml.jackson.annotation.JsonBackReference;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 *  class RencanaOperasiVOVO
 * 
 * @author Generator
 */
public class RencanaOperasiVO  extends BaseTransactionVO{
	
	@Caption(value = "TglRencana")
	private Date tglRencana;
	
	@Caption(value = "TglPermintaanOperasi")
	private Date tglPermintaanOperasi;
	
	@Caption(value = "statusBatal")
	private Boolean statusBatal;
	
	@Caption(value = "Pegawai")
	private PegawaiVO pegawaiYangMembatalkan;
	
	@Caption(value = "keterangan")
	private String keterangan;
	
	@Caption(value = "TglOperasi")
	private Date tglOperasi;

	@Caption(value = "Kamar")
	private KamarVO kamar;
	
	@Caption(value = "JenisOperasi")
	private JenisOperasiVO jenisOperasi;
	
	@Caption(value="StrukOrder")
	private StrukOrderVO strukOrder;	
	
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "rencanaOperasi")
	private Set<DetailRencanaOperasiVO> detailPelaksana = new HashSet<DetailRencanaOperasiVO>();

	@NotNull(message = "No Cm Harus Diisi")
	@Caption(value = "No Cm")
	private AntrianPasienDiPeriksaVO noCm;
	
	@Caption(value = "Ruangan")
	private RuanganVO ruangan;
	
	public RuanganVO getRuangan() {
		return ruangan;
	}
	
	@Caption(value="Asal Rujukan")
	private AsalRujukanVO asalRujukan;
	
	public AsalRujukanVO getAsalRujukan() {
		return asalRujukan;
	}

	public void setAsalRujukan(AsalRujukanVO asalRujukan) {
		this.asalRujukan = asalRujukan;
	}

	public void setRuangan(RuanganVO ruangan) {
		this.ruangan = ruangan;
	}

	public Date getTglRencana() {
		return tglRencana;
	}

	public void setTglRencana(Date tglRencana) {
		this.tglRencana = tglRencana;
	}

	public Date getTglPermintaanOperasi() {
		return tglPermintaanOperasi;
	}

	public void setTglPermintaanOperasi(Date tglPermintaanOperasi) {
		this.tglPermintaanOperasi = tglPermintaanOperasi;
	}

	public Boolean getStatusBatal() {
		return statusBatal;
	}

	public void setStatusBatal(Boolean statusBatal) {
		this.statusBatal = statusBatal;
	}

	public PegawaiVO getPegawaiYangMembatalkan() {
		return pegawaiYangMembatalkan;
	}

	public void setPegawaiYangMembatalkan(PegawaiVO pegawaiYangMembatalkan) {
		this.pegawaiYangMembatalkan = pegawaiYangMembatalkan;
	}

	public String getKeterangan() {
		return keterangan;
	}

	public void setKeterangan(String keterangan) {
		this.keterangan = keterangan;
	}

	public Date getTglOperasi() {
		return tglOperasi;
	}

	public void setTglOperasi(Date tglOperasi) {
		this.tglOperasi = tglOperasi;
	}

	public KamarVO getKamar() {
		return kamar;
	}
	
	public void setKamar(KamarVO kamar) {
		this.kamar = kamar;
	}

	public JenisOperasiVO getJenisOperasi() {
		return jenisOperasi;
	}

	public void setJenisOperasi(JenisOperasiVO jenisOperasi) {
		this.jenisOperasi = jenisOperasi;
	}

	public StrukOrderVO getStrukOrder() {
		return strukOrder;
	}

	public void setStrukOrder(StrukOrderVO strukOrder) {
		this.strukOrder = strukOrder;
	}

	public Set<DetailRencanaOperasiVO> getDetailPelaksana() {
		return detailPelaksana;
	}

	public void setDetailPelaksana(Set<DetailRencanaOperasiVO> detailPelaksana) {
		this.detailPelaksana = detailPelaksana;
	}

	public AntrianPasienDiPeriksaVO getNoCm() {
		return noCm;
	}

	public void setNoCm(AntrianPasienDiPeriksaVO noCm) {
		this.noCm = noCm;
	}

}