package com.jasamedika.medifirst2000.vo;

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

import javax.persistence.*;

import org.hibernate.validator.constraints.NotEmpty;


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

/**
 * class Produk
 * 
 * @author Generator
 */

public class ProdukDetailLaboratoriumVO extends BaseMasterVO {
	
	@ManyToOne(fetch = FetchType.LAZY)	
	@JoinColumn(name = "ProdukFk")	
	@Caption(value = "Produk")
	private ProdukVO produk;
	
	public ProdukVO getProduk() {
		return produk;
	}


	public void setProduk(ProdukVO produk) {
		this.produk = produk;
	}


	@Column(name = "ProdukFk", insertable = false, updatable = false)
	private Integer produkFk;
	
	public String getDetailPemeriksaan() {
		return detailPemeriksaan;
	}


	public void setDetailPemeriksaan(String detailPemeriksaan) {
		this.detailPemeriksaan = detailPemeriksaan;
	}


	public MetodePemeriksaanPenunjangVO getMetodePemeriksaanPenunjang() {
		return metodePemeriksaanPenunjang;
	}


	public void setMetodePemeriksaanPenunjang(MetodePemeriksaanPenunjangVO metodePemeriksaanPenunjang) {
		this.metodePemeriksaanPenunjang = metodePemeriksaanPenunjang;
	}


	@Caption(value = "Detail Pemeriksaan")
	@Column(name = "detailPemeriksaan", nullable = true, length = 300)
	private String detailPemeriksaan;
	
	@ManyToOne
	@JoinColumn(name = "MetodePemeriksaanPenunjangFk")	
	@Caption(value = "MetodePemeriksaanPenunjang")
	private MetodePemeriksaanPenunjangVO metodePemeriksaanPenunjang;

	
	@Column(name = "MetodePemeriksaanPenunjangFk", insertable = false, updatable = false)
	private Integer metodePemeriksaanPenunjangId;
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "produkDetail")
	private Set<ProdukDetailLaboratoriumHasilVO> produkDetailHasilSet = new HashSet<ProdukDetailLaboratoriumHasilVO>();

	public Set<ProdukDetailLaboratoriumHasilVO> getProdukDetailHasilSet() {
		return produkDetailHasilSet;
	}


	public void setProdukDetailHasilSet(Set<ProdukDetailLaboratoriumHasilVO> produkDetailHasilSet) {
		this.produkDetailHasilSet = produkDetailHasilSet;
	}
	
}
