package com.jasamedika.medifirst2000.entities;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;

/**
 *  class PosisiRahim
 * 
 * @author Generator
 */
@Entity //@Audited
@Table(name = "DetailDokterOperasi_T")
public class DetailDokterOperasi extends BaseTransaction {
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectPenghitunganKassaDanAlatOperasiFk")
	@NotNull(message="Produk Harus Diisi")
	@Caption(value="Penghitungan Kassa Dan Alat Operasi")
	@JsonBackReference
	private PenghitunganKassaDanAlatOperasi penghitunganKassaDanAlatOperasi;

	@Column(name = "ObjectPenghitunganKassaDanAlatOperasiFk", insertable=false,updatable=false,nullable = false)
	private String penghitunganKassaDanAlatOperasiId;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectProdukFk")
	@Caption(value="Nama Alat Yang Digunakan")
	private Produk produk;

	@Column(name = "ObjectProdukFk", insertable=false,updatable=false,nullable = true)
	private Integer produkId;
	
	//@Column(name = "ahliBedah")
	//private String ahliBedah;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectkAhliBedahFk")
	@NotNull(message="Ahli Bedah Harus Diisi")
	@Caption(value="Ahli Bedah")
	private Pegawai ahliBedah;
	
	@Column(name = "ObjectkAhliBedahFk", insertable=false,updatable=false,nullable = false)
	private Integer ahliBedahId;
	
	//@Column(name = "asisten")
	//private String asisten;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectkAsistenFk")
	@NotNull(message="Asisten Harus Diisi")
	@Caption(value="Asisten")
	private Pegawai asisten;
	
	@Column(name = "ObjectkAsistenFk", insertable=false,updatable=false,nullable = false)
	private Integer asistenId;

	//@Column(name = "perawatInstrumen")
	//private String perawatInstrumen;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectkPerawatInstrumenFk")
	@NotNull(message="Perawat Instrumen Harus Diisi")
	@Caption(value="Perawat Instrumen")
	private Pegawai perawatInstrumen;
	
	@Column(name = "ObjectkPerawatInstrumenFk", insertable=false,updatable=false,nullable = false)
	private Integer perawatInstrumenId;
	
	//@Column(name = "perawatSekuler")
	//private String perawatSekuler;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectkPerawatSekulerFk")
	@NotNull(message="Perawat Sekuler Harus Diisi")
	@Caption(value="Perawat Sekuler")
	private Pegawai perawatSekuler;
	
	@Column(name = "ObjectkPerawatSekulerFk", insertable=false,updatable=false,nullable = false)
	private Integer perawatSekulerId;
	
	@Column(name = "kondisiSterilisasi")
	private String kondisiSterilisasi;
	
	@Column(name = "load")
	private String load;
	
	//@Column(name = "perawatSirkuler")
	//private String perawatSirkuler;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectkPerawatSirkulerFk")
	@NotNull(message="Perawat Sirkuler Diisi")
	@Caption(value="Perawat Sirkuler")
	private Pegawai perawatSirkuler;
	
	@Column(name = "ObjectkPerawatSirkulerFk", insertable=false,updatable=false,nullable = false)
	private Integer Id;
	
	@Column(name = "tanggalSteril")
	private Date tanggalSteril;
	
	@Column(name = "alat")
	private String alat;

	public PenghitunganKassaDanAlatOperasi getPenghitunganKassaDanAlatOperasi() {
		return penghitunganKassaDanAlatOperasi;
	}

	public void setPenghitunganKassaDanAlatOperasi(PenghitunganKassaDanAlatOperasi penghitunganKassaDanAlatOperasi) {
		this.penghitunganKassaDanAlatOperasi = penghitunganKassaDanAlatOperasi;
	}

	public String getPenghitunganKassaDanAlatOperasiId() {
		return penghitunganKassaDanAlatOperasiId;
	}

	public void setPenghitunganKassaDanAlatOperasiId(String penghitunganKassaDanAlatOperasiId) {
		this.penghitunganKassaDanAlatOperasiId = penghitunganKassaDanAlatOperasiId;
	}

	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;
	}

	//public String getAhliBedah() {
	//	return ahliBedah;
	//}

	//public void setAhliBedah(String ahliBedah) {
	//	this.ahliBedah = ahliBedah;
	//}

	//public String getAsisten() {
	//	return asisten;
	//}

	//public void setAsisten(String asisten) {
	//	this.asisten = asisten;
	//}

	//public String getPerawatInstrumen() {
	//	return perawatInstrumen;
	//}

	//public void setPerawatInstrumen(String perawatInstrumen) {
	//	this.perawatInstrumen = perawatInstrumen;
	//}

	//public String getPerawatSekuler() {
	//	return perawatSekuler;
	//}

	//public void setPerawatSekuler(String perawatSekuler) {
	//	this.perawatSekuler = perawatSekuler;
	//}

	public String getKondisiSterilisasi() {
		return kondisiSterilisasi;
	}

	public void setKondisiSterilisasi(String kondisiSterilisasi) {
		this.kondisiSterilisasi = kondisiSterilisasi;
	}

	public String getLoad() {
		return load;
	}

	public void setLoad(String load) {
		this.load = load;
	}

	//public String getPerawatSirkuler() {
	//	return perawatSirkuler;
	//}

	//public void setPerawatSirkuler(String perawatSirkuler) {
	//	this.perawatSirkuler = perawatSirkuler;
	//}

	public Date getTanggalSteril() {
		return tanggalSteril;
	}

	public void setTanggalSteril(Date tanggalSteril) {
		this.tanggalSteril = tanggalSteril;
	}

	public Pegawai getAhliBedah() {
		return ahliBedah;
	}

	public void setAhliBedah(Pegawai ahliBedah) {
		this.ahliBedah = ahliBedah;
	}

	public Integer getAhliBedahId() {
		return ahliBedahId;
	}

	public void setAhliBedahId(Integer ahliBedahId) {
		this.ahliBedahId = ahliBedahId;
	}

	public Pegawai getAsisten() {
		return asisten;
	}

	public void setAsisten(Pegawai asisten) {
		this.asisten = asisten;
	}

	public Integer getAsistenId() {
		return asistenId;
	}

	public void setAsistenId(Integer asistenId) {
		this.asistenId = asistenId;
	}

	public Pegawai getPerawatInstrumen() {
		return perawatInstrumen;
	}

	public void setPerawatInstrumen(Pegawai perawatInstrumen) {
		this.perawatInstrumen = perawatInstrumen;
	}

	public Integer getPerawatInstrumenId() {
		return perawatInstrumenId;
	}

	public void setPerawatInstrumenId(Integer perawatInstrumenId) {
		this.perawatInstrumenId = perawatInstrumenId;
	}

	public Pegawai getPerawatSekuler() {
		return perawatSekuler;
	}

	public void setPerawatSekuler(Pegawai perawatSekuler) {
		this.perawatSekuler = perawatSekuler;
	}

	public Integer getPerawatSekulerId() {
		return perawatSekulerId;
	}

	public void setPerawatSekulerId(Integer perawatSekulerId) {
		this.perawatSekulerId = perawatSekulerId;
	}

	public Pegawai getPerawatSirkuler() {
		return perawatSirkuler;
	}

	public void setPerawatSirkuler(Pegawai perawatSirkuler) {
		this.perawatSirkuler = perawatSirkuler;
	}

	public String getAlat() {
		return alat;
	}

	public void setAlat(String alat) {
		this.alat = alat;
	}
	
	
	
	
}

