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.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name = "PlanningDiklatHumasMarket_T")
public class PlanningDiklatHumasMarket extends BaseTransaction {
	
	public PlanningDiklatHumasMarket(String kdProdukDHM, Date tglPlanning){
		this.kdProdukDHM = kdProdukDHM;
		this.tglPlanning = tglPlanning;
	}
	public PlanningDiklatHumasMarket() {
		 
	}
	@Caption(value = "No Planning")
	@Column(name = "NoPlanning", length = 10, nullable = true)
	private String noPlanning;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "NoPlanningFk")
	@NotNull(message="No Planning Harus Diisi")
	@Caption(value="No Planning")
	private StrukPlanning strukPlaning;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "kdProduk")
	@NotNull(message="Object Produk Harus Diisi")
	@Caption(value="Object Produk")
	private Produk produk;
	
	@Column(name = "kdProduk", insertable=false,updatable=false)
	private Integer produkId;


	@Column(name = "NoPlanningFk", insertable=false,updatable=false)
	private String strukPlaningId;
	
	@Caption(value = "Kd Produk DHM")
	@Column(name = "KdProdukDHM", length = 20, nullable = false)
	private String kdProdukDHM;
	
	@Caption(value = "Tgl Planning")
	@Column(name = "TglPlanning", nullable = false)
	private Date tglPlanning;
	
	@Caption(value = "Tgl Planning Akhir")
	@Column(name = "TglPlanningAkhir", nullable = false)
	private Date tglPlanningAkhir;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectKelasPlanDHMFk")
	@Caption(value = "Object Kelas Planning DHM")
	private Kelas kelasPlanDHM;
	
	@Column(name = "ObjectKelasPlanDHMFk", insertable = false, updatable = false, nullable = true)
	private Integer kdKelas;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectRuanganPlanDHMFk")
	@Caption(value = "Object Ruangan Planning DHM")
	private Ruangan ruanganPlanDHM;
	
	@Column(name = "ObjectRuanganPlanDHMFk", insertable = false, updatable = false, nullable = true)
	private Integer kdRuangan;
	
	@Column(name = "NamaRuangan", length = 50)
	private String namaRuangan;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectRekananPlanDHMFk")
	@Caption(value = "Object Rekanan Planning DHM")
	private Rekanan rekananPlanDHM;
	
	@Column(name = "ObjectRekananPlanDHMFk", insertable = false, updatable = false, nullable = true)
	private Integer kdRekanan;
	
	@Column(name = "NamaRekanan", length = 80)
	private String namaRekanan;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectJTempatPlanDHMFk")
	@Caption(value = "Object Jenis Tempat Planning DHM")
	private JenisTempat jenisTempatPlanDHM;
	
	@Column(name = "ObjectJTempatPlanDHMFk", insertable = false, updatable = false, nullable = true)
	private Integer kdJenisTempat;
	
	@Caption(value = "Kd Alamat Tempat Tujuan")
	@Column(name = "KdAlamatTempatTujuan", length = 200)
	private String kdAlamatTempatTujuan;
	
	@Caption(value = "Qty Peserta")
	@Column(name = "QtyPeserta", nullable = false)
	private Integer qtyPeserta;
	
	@Caption(value = "Deskirpsi Detail")
	@Column(name = "DeskripsiDetial", length = 200)
	private String deskripsiDetail;
	
	@Column(name = "KeteranganPlanLainnya")
	@Caption(value = "Keterangan Planning Lainnya")
	private String keteranganPlanLainnya;
	
	@Caption(value = "Tgl Planning Exec Awal")
	@Column(name = "TglPlanningExecAwal")
	private Date tglPlanningExecAwal;
	
	@Caption(value = "Tgl Planning Exec Akhir")
	@Column(name = "TglPlanningExecAkhir")
	private Date tglPlanningExecAkhir;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectRuanganExecFk")
	@Caption(value = "Object Ruangan Exec")
	private Ruangan ruanganExec;
	
	@Column(name = "ObjectRuanganExecFk", insertable = false, updatable = false, nullable = true)
	private Integer kdRuanganExec;
	
	@Column(name = "NamaRuanganExec", length = 50)
	private String namaRuanganExec;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectJenisExecFk")
	@Caption(value = "Object jenis Exec")
	private JenisTempat jenisTempatExec;
	
	@Column(name = "ObjectJenisExecFk", insertable = false, updatable = false, nullable = true)
	private Integer kdJenisTempatExec;
	
	@Column(name = "KdAlamatTempatTujuanExec", length = 200)
	@Caption(value = "Kd Alamat Tempat Tujuan Exec")
	private String kdAlamatTempatTujuanExec;
	
	@Column(name = "QtyPesertaExec")
	@Caption(value = "Qty Peserta Exec")
	private Integer qtyPesertaExec;
	
	@Column(name = "KeteranganExecLainnya")
	@Caption(value = "Keterangan Exec Lainnya")
	private String keteranganExecLainnya;
	
	@Column(name = "NoRetur")
	@Caption(value = "No Retur")
	private String noRetur;
	
	@Column(name = "NoVerifikasi")
	@Caption(value = "No Verifikasi")
	private String noVerifikasi;

	public String getNoPlanning() {
		return noPlanning;
	}

	public void setNoPlanning(String noPlanning) {
		this.noPlanning = noPlanning;
	}

	public String getKdProdukDHM() {
		return kdProdukDHM;
	}

	public void setKdProdukDHM(String kdProdukDHM) {
		this.kdProdukDHM = kdProdukDHM;
	}

	public Date getTglPlanning() {
		return tglPlanning;
	}

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

	public Date getTglPlanningAkhir() {
		return tglPlanningAkhir;
	}

	public void setTglPlanningAkhir(Date tglPlanningAkhir) {
		this.tglPlanningAkhir = tglPlanningAkhir;
	}

	public Kelas getKelasPlanDHM() {
		return kelasPlanDHM;
	}

	public void setKelasPlanDHM(Kelas kelasPlanDHM) {
		this.kelasPlanDHM = kelasPlanDHM;
	}

	public Integer getKdKelas() {
		return kdKelas;
	}

	public void setKdKelas(Integer kdKelas) {
		this.kdKelas = kdKelas;
	}

	public Ruangan getRuanganPlanDHM() {
		return ruanganPlanDHM;
	}

	public void setRuanganPlanDHM(Ruangan ruanganPlanDHM) {
		this.ruanganPlanDHM = ruanganPlanDHM;
	}

	public Integer getKdRuangan() {
		return kdRuangan;
	}

	public void setKdRuangan(Integer kdRuangan) {
		this.kdRuangan = kdRuangan;
	}

	public String getNamaRuangan() {
		return namaRuangan;
	}

	public void setNamaRuangan(String namaRuangan) {
		this.namaRuangan = namaRuangan;
	}

	public Rekanan getRekananPlanDHM() {
		return rekananPlanDHM;
	}

	public void setRekananPlanDHM(Rekanan rekananPlanDHM) {
		this.rekananPlanDHM = rekananPlanDHM;
	}

	public Integer getKdRekanan() {
		return kdRekanan;
	}

	public void setKdRekanan(Integer kdRekanan) {
		this.kdRekanan = kdRekanan;
	}

	public String getNamaRekanan() {
		return namaRekanan;
	}

	public void setNamaRekanan(String namaRekanan) {
		this.namaRekanan = namaRekanan;
	}

	public JenisTempat getJenisTempatPlanDHM() {
		return jenisTempatPlanDHM;
	}

	public void setJenisTempatPlanDHM(JenisTempat jenisTempatPlanDHM) {
		this.jenisTempatPlanDHM = jenisTempatPlanDHM;
	}

	public Integer getKdJenisTempat() {
		return kdJenisTempat;
	}

	public void setKdJenisTempat(Integer kdJenisTempat) {
		this.kdJenisTempat = kdJenisTempat;
	}

	public String getKdAlamatTempatTujuan() {
		return kdAlamatTempatTujuan;
	}

	public void setKdAlamatTempatTujuan(String kdAlamatTempatTujuan) {
		this.kdAlamatTempatTujuan = kdAlamatTempatTujuan;
	}

	public Integer getQtyPeserta() {
		return qtyPeserta;
	}

	public void setQtyPeserta(Integer qtyPeserta) {
		this.qtyPeserta = qtyPeserta;
	}

	public String getDeskripsiDetail() {
		return deskripsiDetail;
	}

	public void setDeskripsiDetail(String deskripsiDetail) {
		this.deskripsiDetail = deskripsiDetail;
	}

	public String getKeteranganPlanLainnya() {
		return keteranganPlanLainnya;
	}

	public void setKeteranganPlanLainnya(String keteranganPlanLainnya) {
		this.keteranganPlanLainnya = keteranganPlanLainnya;
	}

	public Date getTglPlanningExecAwal() {
		return tglPlanningExecAwal;
	}

	public void setTglPlanningExecAwal(Date tglPlanningExecAwal) {
		this.tglPlanningExecAwal = tglPlanningExecAwal;
	}

	public Date getTglPlanningExecAkhir() {
		return tglPlanningExecAkhir;
	}

	public void setTglPlanningExecAkhir(Date tglPlanningExecAkhir) {
		this.tglPlanningExecAkhir = tglPlanningExecAkhir;
	}

	public Ruangan getRuanganExec() {
		return ruanganExec;
	}

	public void setRuanganExec(Ruangan ruanganExec) {
		this.ruanganExec = ruanganExec;
	}

	public Integer getKdRuanganExec() {
		return kdRuanganExec;
	}

	public void setKdRuanganExec(Integer kdRuanganExec) {
		this.kdRuanganExec = kdRuanganExec;
	}

	public String getNamaRuanganExec() {
		return namaRuanganExec;
	}

	public void setNamaRuanganExec(String namaRuanganExec) {
		this.namaRuanganExec = namaRuanganExec;
	}

	public JenisTempat getJenisTempatExec() {
		return jenisTempatExec;
	}

	public void setJenisTempatExec(JenisTempat jenisTempatExec) {
		this.jenisTempatExec = jenisTempatExec;
	}

	public Integer getKdJenisTempatExec() {
		return kdJenisTempatExec;
	}

	public void setKdJenisTempatExec(Integer kdJenisTempatExec) {
		this.kdJenisTempatExec = kdJenisTempatExec;
	}

	public String getKdAlamatTempatTujuanExec() {
		return kdAlamatTempatTujuanExec;
	}

	public void setKdAlamatTempatTujuanExec(String kdAlamatTempatTujuanExec) {
		this.kdAlamatTempatTujuanExec = kdAlamatTempatTujuanExec;
	}

	public Integer getQtyPesertaExec() {
		return qtyPesertaExec;
	}

	public void setQtyPesertaExec(Integer qtyPesertaExec) {
		this.qtyPesertaExec = qtyPesertaExec;
	}

	public String getKeteranganExecLainnya() {
		return keteranganExecLainnya;
	}

	public void setKeteranganExecLainnya(String keteranganExecLainnya) {
		this.keteranganExecLainnya = keteranganExecLainnya;
	}

	public String getNoRetur() {
		return noRetur;
	}

	public void setNoRetur(String noRetur) {
		this.noRetur = noRetur;
	}

	public String getNoVerifikasi() {
		return noVerifikasi;
	}

	public void setNoVerifikasi(String noVerifikasi) {
		this.noVerifikasi = noVerifikasi;
	}
	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 Produk getProduk() {
		return produk;
	}
	public void setProduk(Produk produk) {
		this.produk = produk;
	}
	public Integer getProdukId() {
		return produkId;
	}
	public void setProdukId(Integer produkId) {
		this.produkId = produkId;
	}
	
	
	
}
