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

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

/**
 *  class PlanningPelayananPetugas
 * 
 * @author Generator
 */
@Entity
@Table(name = "PlanningPelayananPetugas_T")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class PlanningPelayananPetugas extends BaseTransaction {
	
	@Caption(value="Deskripsi Tugas Fungsi")
	@Column(name = "DeskripsiTugasFungsi", nullable = true , length = 75)
	private String deskripsiTugasFungsi;

	@Caption(value="Is Petugas Pe P Jawab")
	@Column(name = "isPetugasPePJawab", nullable = false )
	private Byte isPetugasPepJawab;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectJenisPetugasPeFk")
	@NotNull(message="Object Jenis Petugas Pe Harus Diisi")
	@Caption(value="Object Jenis Petugas Pe")
	private JenisPetugasPelaksana jenisPetugasPelaksana;

	@Column(name = "ObjectJenisPetugasPeFk", insertable=false,updatable=false)
	private Integer jenisPetugasPelaksanaId;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectPegawaiFk")
	@NotNull(message="Object Pegawai Harus Diisi")
	@Caption(value="Object Pegawai")
	private Pegawai pegawai;
	
	@Column(name = "ObjectPegawaiFk", insertable=false,updatable=false)
	private Integer pegawaiId;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectPegawaiExecFk")
	@Caption(value="Object Pegawai Exec")
	private Pegawai pegawaiExec;

	@Column(name = "ObjectPegawaiExecFk", insertable=false,updatable=false)
	private Integer pegawaiExecId;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectProdukFk")
	@NotNull(message="Object Produk Harus Diisi")
	@Caption(value="Object Produk")
	private Produk peoduk;

	@Column(name = "ObjectProdukFk", insertable=false,updatable=false)
	private Integer produkId;

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

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

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "NoOrderFk")
	@NotNull(message="No Order Harus Diisi")
	@Caption(value="No Order")
	private StrukOrder strukOrder;
	
	@Column(name = "NoOrderFk", insertable=false,updatable=false)
	private String strukOrderId;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "NoPlanningFk")
	@NotNull(message="No Planning Harus Diisi")
	@Caption(value="No Planning")
	private StrukPlanning strukPlaning;

	@Column(name = "NoPlanningFk", insertable=false,updatable=false)
	private String strukPlaningId;

	@Caption(value="Tanggal Pelayanan")
	@Column(name = "TglPelayanan", nullable = false )
	private Date tglPelayanan;

	@Caption(value="Tanggal Planning")
	@Column(name = "TglPlanning", nullable = false )
	private Date tglPlanning;

	public String getDeskripsiTugasFungsi() {
		return deskripsiTugasFungsi;
	}

	public void setDeskripsiTugasFungsi(String deskripsiTugasFungsi) {
		this.deskripsiTugasFungsi = deskripsiTugasFungsi;
	}

	public Byte getIsPetugasPepJawab() {
		return isPetugasPepJawab;
	}

	public void setIsPetugasPepJawab(Byte isPetugasPepJawab) {
		this.isPetugasPepJawab = isPetugasPepJawab;
	}

	public JenisPetugasPelaksana getJenisPetugasPelaksana() {
		return jenisPetugasPelaksana;
	}

	public void setJenisPetugasPelaksana(JenisPetugasPelaksana jenisPetugasPelaksana) {
		this.jenisPetugasPelaksana = jenisPetugasPelaksana;
	}

	public Integer getJenisPetugasPelaksanaId() {
		return jenisPetugasPelaksanaId;
	}

	public void setJenisPetugasPelaksanaId(Integer jenisPetugasPelaksanaId) {
		this.jenisPetugasPelaksanaId = jenisPetugasPelaksanaId;
	}

	public Pegawai getPegawai() {
		return pegawai;
	}

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

	public Integer getPegawaiId() {
		return pegawaiId;
	}

	public void setPegawaiId(Integer pegawaiId) {
		this.pegawaiId = pegawaiId;
	}

	public Pegawai getPegawaiExec() {
		return pegawaiExec;
	}

	public void setPegawaiExec(Pegawai pegawaiExec) {
		this.pegawaiExec = pegawaiExec;
	}

	public Integer getPegawaiExecId() {
		return pegawaiExecId;
	}

	public void setPegawaiExecId(Integer pegawaiExecId) {
		this.pegawaiExecId = pegawaiExecId;
	}

	public Produk getPeoduk() {
		return peoduk;
	}

	public void setPeoduk(Produk peoduk) {
		this.peoduk = peoduk;
	}

	public Integer getProdukId() {
		return produkId;
	}

	public void setProdukId(Integer produkId) {
		this.produkId = produkId;
	}

	public Ruangan getRuangan() {
		return ruangan;
	}

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

	public Integer getRuanganId() {
		return ruanganId;
	}

	public void setRuanganId(Integer ruanganId) {
		this.ruanganId = ruanganId;
	}

	public StrukOrder getStrukOrder() {
		return strukOrder;
	}

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

	public String getStrukOrderId() {
		return strukOrderId;
	}

	public void setStrukOrderId(String strukOrderId) {
		this.strukOrderId = strukOrderId;
	}

	public StrukPlanning getStrukPlaning() {
		return strukPlaning;
	}

	public void setStrukPlaning(StrukPlanning strukPlaning) {
		this.strukPlaning = strukPlaning;
	}

	public String getStrukPlaningId() {
		return strukPlaningId;
	}

	public void setStrukPlaningId(String strukPlaningId) {
		this.strukPlaningId = strukPlaningId;
	}

	public Date getTglPelayanan() {
		return tglPelayanan;
	}

	public void setTglPelayanan(Date tglPelayanan) {
		this.tglPelayanan = tglPelayanan;
	}
	
	public Date getTglPlanning() {
		return tglPlanning;
	}

	public void setTglPlanning(Date tglPlanning) {
		this.tglPlanning = tglPlanning;
	}



}

