package com.jasamedika.medifirst2000.vo;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;

import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 *  class PegawaiJadwalKerjaDokter
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "PegawaiJadwalKerjaDokter_M")
public class PegawaiJadwalKerjaDokterVO extends BaseMasterVO {
	@Caption(value="Jam Akhir")
	private String jamAkhir;

	public void setJamAkhir(String jamAkhir) {
		this.jamAkhir = jamAkhir;
	}

	@Column(name = "JamAkhir", nullable = true , length = 5)
	public String getJamAkhir(){
		return this.jamAkhir;
	}

	@Caption(value="Jam Awal")
	private String jamAwal;

	public void setJamAwal(String jamAwal) {
		this.jamAwal = jamAwal;
	}

	@Column(name = "JamAwal", nullable = false , length = 5)
	public String getJamAwal(){
		return this.jamAwal;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectHariFk")
	@NotNull(message="Object HariVO Harus Diisi")
	@Caption(value="Object Hari")
	private HariVO hari;

	public void setHari(HariVO hari) {
		this.hari = hari;
	}

	@Column(name = "KdHari", nullable = false )
	public HariVO getHari(){
		return this.hari;
	}

	@Column(name = "ObjectHariFk", insertable=false,updatable=false)
	private Integer hariId;

	@ManyToOne
	@JoinColumn(name = "ObjectKamarFk")
	@Caption(value="Object Kamar")
	private KamarVO kamar;

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

	@Column(name = "KdKamar", nullable = true )
	public KamarVO getKamar(){
		return this.kamar;
	}

	@Column(name = "ObjectKamarFk", insertable=false,updatable=false)
	private Integer kamarId;

	@ManyToOne
	@JoinColumn(name = "ObjectPegawaiFk")
	@NotNull(message="Object PegawaiVO Harus Diisi")
	@Caption(value="Object Pegawai")
	private LoginUserVO pegawai;

	public void setPegawai(LoginUserVO pegawai) {
		this.pegawai = pegawai;
	}

	@Column(name = "KdPegawai", nullable = false , length = 5)
	public LoginUserVO getPegawai(){
		return this.pegawai;
	}

	@Column(name = "ObjectPegawaiFk", insertable=false,updatable=false)
	private Integer pegawaiId;

	@ManyToOne
	@JoinColumn(name = "ObjectRuanganFk")
	@NotNull(message="Object RuanganVO Harus Diisi")
	@Caption(value="Object Ruangan")
	private RuanganVO ruangan;

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

	@Column(name = "KdRuangan", nullable = false , length = 3)
	public RuanganVO getRuangan(){
		return this.ruangan;
	}

	@Column(name = "ObjectRuanganFk", insertable=false,updatable=false)
	private Integer ruanganId;

	@ManyToOne
	@JoinColumn(name = "ObjectStatusAbsensiFk")
	@NotNull(message="Object Status Absensi Harus Diisi")
	@Caption(value="Object Status Absensi")
	private StatusAbsensiVO statusAbsensi;

	public void setStatusAbsensi(StatusAbsensiVO statusAbsensi) {
		this.statusAbsensi = statusAbsensi;
	}

	@Column(name = "KdStatusAbsensi", nullable = false )
	public StatusAbsensiVO getStatusAbsensi(){
		return this.statusAbsensi;
	}

	@Column(name = "ObjectStatusAbsensiFk", insertable=false,updatable=false)
	private Integer statusAbsensiId;

	@Caption(value="Keterangan Lainnya")
	private String keteranganLainnya;

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

	@Column(name = "KeteranganLainnya", nullable = true , length = 150)
	public String getKeteranganLainnya(){
		return this.keteranganLainnya;
	}


}

