package com.jasamedika.medifirst2000.entities;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;
import com.jasamedika.medifirst2000.entities.JenisWaktu;
import com.jasamedika.medifirst2000.entities.JenisDiet;
import com.jasamedika.medifirst2000.entities.Produk;
import com.jasamedika.medifirst2000.entities.SatuanWaktu;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.jasamedika.medifirst2000.base.BaseTransaction;

import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;

/**
 * class OrderPelayananDiet
 * 
 * @author Generator
 */
@Entity //@Audited
@Table(name = "OrderPelayananDiet_T")
public class OrderPelayananDiet extends MedicalRecordTransaction {
	@Column(name = "NamaPemesan", nullable = false, length = 100)
	@Caption(value = "NamaPemesan")
	private String namaPemesan;

	public String getNamaPemesan() {
		return namaPemesan;
	}

	public void setNamaPemesan(String namaPemesan) {
		this.namaPemesan = namaPemesan;
	}

	@Column(name = "TglPesan", nullable = false, length = 100)
	@Caption(value = "TglPesan")
	private Date tglPesan;

	public Date getTglPesan() {
		return tglPesan;
	}

	public void setTglPesan(Date tglPesan) {
		this.tglPesan = tglPesan;
	}

	@ManyToOne
	@JoinColumn(name = "JenisWaktuFk")
	@NotNull(message = "Jenis Waktu Harus Diisi")
	@Caption(value = "Jenis Waktu")
	private JenisWaktu jenisWaktu;

	public JenisWaktu getJenisWaktu() {
		return jenisWaktu;
	}

	public void setJenisWaktu(JenisWaktu jenisWaktu) {
		this.jenisWaktu = jenisWaktu;
	}

	@Column(name = "JenisWaktuFk", insertable = false, updatable = false)
	private Integer jenisWaktuId;

	@ManyToOne
	@JoinColumn(name = "JenisDietFk")
	@NotNull(message = "Jenis Diet Harus Diisi")
	@Caption(value = "Jenis Diet")
	private JenisDiet jenisDiet;

	public JenisDiet getJenisDiet() {
		return jenisDiet;
	}

	public void setJenisDiet(JenisDiet jenisDiet) {
		this.jenisDiet = jenisDiet;
	}

	@Column(name = "JenisDietFk", insertable = false, updatable = false)
	private Integer jenisDietId;

	@ManyToOne
	@JoinColumn(name = "NamaMenuFk")
	@NotNull(message = "Nama Menu Harus Diisi")
	@Caption(value = "Nama Menu")
	private Produk namaMenu;

	public Produk getNamaMenu() {
		return namaMenu;
	}

	public void setNamaMenu(Produk namaMenu) {
		this.namaMenu = namaMenu;
	}

	@Column(name = "NamaMenuFk", insertable = false, updatable = false)
	private Integer namaMenuId;

	@Column(name = "TipeMakanan", nullable = false, length = 100)
	@Caption(value = "TipeMakanan")
	private String tipeMakanan;

	public String getTipeMakanan() {
		return tipeMakanan;
	}

	public void setTipeMakanan(String tipeMakanan) {
		this.tipeMakanan = tipeMakanan;
	}

	@Column(name = "Minum", nullable = false, length = 100)
	@Caption(value = "Minum")
	private String minum;

	public String getMinum() {
		return minum;
	}

	public void setMinum(String minum) {
		this.minum = minum;
	}

	@ManyToOne
	@JoinColumn(name = "FrekuensiFk")
	@NotNull(message = "Frekuensi Harus Diisi")
	@Caption(value = "Frekuensi")
	private SatuanWaktu frekuensi;

	public SatuanWaktu getFrekuensi() {
		return frekuensi;
	}

	public void setFrekuensi(SatuanWaktu frekuensi) {
		this.frekuensi = frekuensi;
	}

	@Column(name = "FrekuensiFk", insertable = false, updatable = false)
	private Integer frekuensiId;

	@Column(name = "Volume", nullable = false, length = 100)
	@Caption(value = "Volume")
	private String volume;

	public String getVolume() {
		return volume;
	}

	public void setVolume(String volume) {
		this.volume = volume;
	}

}