package com.jasamedika.medifirst2000.vo;

import java.util.Date;
import java.util.List;

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 javax.validation.constraints.NotNull;

import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.entities.PasienDaftar;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.helper.Caption;

public class PapInstruksiPerjanjianVO extends BaseTransactionVO{
	
	private List<Date> jadwal;
	
	public List<Date> getJadwal() {
		return jadwal;
	}

	public void setJadwal(List<Date> jadwal) {
		this.jadwal = jadwal;
	}

	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectPegawaiFk")

	@Caption(value="Penanggung Jawab pasien")
	private PegawaiVO dokter;




	public PegawaiVO getDokter() {
		return dokter;
	}

	public void setDokter(PegawaiVO dokter) {
		this.dokter = dokter;
	}

	@Column(name = "ObjectPegawaiFk", insertable=false,updatable=false,nullable=true)
	private Integer dokterId;
	
	
	@ManyToOne
	private PasienDaftarVO pasienDaftar;	
	
	@ManyToOne
	@NotNull(message = "Pasien tidak boleh kosong")
	private PasienVO pasien;	
	
	@NotNull(message = "Tgl Input tidak boleh kosong")
	@Column(name = "tglInput", nullable = false)
	@Caption(value = "Tgl Input")
	private Date tglInput;

	@ManyToOne
	@JoinColumn(name = "ObjectKasusPenyakitFk")
	//@NotNull(message = "KasusPenyakit tidak boleh kosong")
	private KasusPenyakitVO kasusPenyakit;
	
	@NotNull(message = "Tgl Perjanjian tidak boleh kosong")
	@Column(name = "tglPerjanjian", nullable = false)
	@Caption(value = "Tgl Perjanjian")
	private Date tglPerjanjian;
	
	@Column(name = "keteranganLainnya", nullable = false)
	@Caption(value = "KeteranganLainnya")
	private String keteranganLainnya;
	
	@ManyToOne
	@JoinColumn(name = "ObjectRuanganFk")
	private RuanganVO ruangan;	
	
	@Column(name = "jumlahKujungan")
	private Integer jumlahKunjungan;

	public PasienVO getPasien() {
		return pasien;
	}

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

	public Date getTglInput() {
		return tglInput;
	}

	public void setTglInput(Date tglInput) {
		this.tglInput = tglInput;
	}

	public KasusPenyakitVO getKasusPenyakit() {
		return kasusPenyakit;
	}

	public void setKasusPenyakit(KasusPenyakitVO kasusPenyakit) {
		this.kasusPenyakit = kasusPenyakit;
	}

	public Date getTglPerjanjian() {
		return tglPerjanjian;
	}

	public void setTglPerjanjian(Date tglPerjanjian) {
		this.tglPerjanjian = tglPerjanjian;
	}

	public String getKeteranganLainnya() {
		return keteranganLainnya;
	}

	public void setKeteranganLainnya(String keteranganLainnya) {
		this.keteranganLainnya = keteranganLainnya;
	}

	public RuanganVO getRuangan() {
		return ruangan;
	}

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

	public Integer getJumlahKunjungan() {
		return jumlahKunjungan;
	}

	public void setJumlahKunjungan(Integer jumlahKunjungan) {
		this.jumlahKunjungan = jumlahKunjungan;
	}

	public PasienDaftarVO getPasienDaftar() {
		return pasienDaftar;
	}

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

	
	

}
