package com.jasamedika.medifirst2000.vo;

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

import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;

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

/**
 *  class JenisPeriksaPenunjang
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "JenisPeriksaPenunjang_M")
public class JenisPeriksaPenunjangVO extends BaseMasterVO {
	@Caption(value="Jenis Periksa")
	private String jenisPeriksa;

	public void setJenisPeriksa(String jenisPeriksa) {
		this.jenisPeriksa = jenisPeriksa;
	}

	@Column(name = "JenisPeriksa", nullable = false , length = 50)
	public String getJenisPeriksa(){
		return this.jenisPeriksa;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectBahanSampleFk")
	@Caption(value="Object Bahan Sample")
	private BahanSampleVO bahanSample;

	public void setBahanSample(BahanSampleVO bahanSample) {
		this.bahanSample = bahanSample;
	}

	@Column(name = "KdBahanSample", nullable = true , length = 2)
	public BahanSampleVO getBahanSample(){
		return this.bahanSample;
	}

	@Column(name = "ObjectBahanSampleFk", insertable=false,updatable=false)
	private Integer bahanSampleId;

	@ManyToOne
	@JoinColumn(name = "ObjectDepartemenFk")
	@NotNull(message="Object DepartemenVO Harus Diisi")
	@Caption(value="Object Departemen")
	private DepartemenVO departemen;

	public void setDepartemen(DepartemenVO departemen) {
		this.departemen = departemen;
	}

	@Column(name = "KdDepartemen", nullable = false , length = 1)
	public DepartemenVO getDepartemen(){
		return this.departemen;
	}

	@Column(name = "ObjectDepartemenFk", insertable=false,updatable=false)
	private Integer departemenId;

	@Caption(value="Kode Jenis Periksa")
	private short kdJenisPeriksa;

	public void setKdJenisPeriksa(short kdJenisPeriksa) {
		this.kdJenisPeriksa = kdJenisPeriksa;
	}

	@Column(name = "KdJenisPeriksa", nullable = false )
	public short getKdJenisPeriksa(){
		return this.kdJenisPeriksa;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectJenisPeriksaHeadFk")
	@Caption(value="Object Jenis Periksa Head")
	private JenisPeriksaPenunjangVO jenisPeriksaHead;

	public void setJenisPeriksaHead(JenisPeriksaPenunjangVO jenisPeriksaHead) {
		this.jenisPeriksaHead = jenisPeriksaHead;
	}

	@Column(name = "KdJenisPeriksaHead", nullable = true )
	public JenisPeriksaPenunjangVO getJenisPeriksaHead(){
		return this.jenisPeriksaHead;
	}

	@Column(name = "ObjectJenisPeriksaHeadFk", insertable=false,updatable=false)
	private Integer jenisPeriksaHeadId;

	@Caption(value="No Urut")
	private Byte noUrut;

	public void setNoUrut(Byte noUrut) {
		this.noUrut = noUrut;
	}

	@Column(name = "NoUrut", nullable = false )
	public Byte getNoUrut(){
		return this.noUrut;
	}

	@Caption(value="QJenis Periksa")
	private short qJenisPeriksa;

	public void setqJenisPeriksa(short qJenisPeriksa) {
		this.qJenisPeriksa = qJenisPeriksa;
	}

	@Column(name = "QJenisPeriksa", nullable = false )
	public short getqJenisPeriksa(){
		return this.qJenisPeriksa;
	}


	/*//
	@OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="kdjenisperiksahead")
	private Set<JenisPeriksaPenunjang> JenisPeriksaPenunjangSet = new HashSet<JenisPeriksaPenunjang>();

	public Set<JenisPeriksaPenunjang> getJenisPeriksaPenunjangSet() {
		return JenisPeriksaPenunjangSet;
	}

	public void setJenisPeriksaPenunjangSet(Set<JenisPeriksaPenunjang> jenisPeriksaPenunjangSet) {
		JenisPeriksaPenunjangSet = jenisPeriksaPenunjangSet;
	}*/
}

