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 GeneralDetailJenisProduk
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "GeneralDetailJenisProduk_M")
public class GeneralDetailJenisProdukVO extends BaseMasterVO {
	@Caption(value="GDetail Jenis Produk")
	private String gDetailJenisProduk;

	public void setGDetailJenisProduk(String gDetailJenisProduk) {
		this.gDetailJenisProduk = gDetailJenisProduk;
	}

	@Column(name = "GDetailJenisProduk", nullable = false , length = 50)
	public String getGDetailJenisProduk(){
		return this.gDetailJenisProduk;
	}

	@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 G Detail Jenis Produk")
	private String kdGDetailJenisProduk;

	public void setKdGDetailJenisProduk(String kdGDetailJenisProduk) {
		this.kdGDetailJenisProduk = kdGDetailJenisProduk;
	}

	@Column(name = "KdGDetailJenisProduk", nullable = false , length = 4)
	public String getKdGDetailJenisProduk(){
		return this.kdGDetailJenisProduk;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectGJenisProdukFk")
	@NotNull(message="Object G Jenis ProdukVO Harus Diisi")
	@Caption(value="Object G Jenis Produk")
	private GeneralJenisProdukVO gJenisProduk;

	public void setGJenisProduk(GeneralJenisProdukVO gJenisProduk) {
		this.gJenisProduk = gJenisProduk;
	}

	@Column(name = "KdGJenisProduk", nullable = false , length = 2)
	public GeneralJenisProdukVO getGJenisProduk(){
		return this.gJenisProduk;
	}

	@Column(name = "ObjectGJenisProdukFk", insertable=false,updatable=false)
	private Integer gJenisProdukId;

	@Caption(value="QG Detail Jenis Produk")
	private short qGDetailJenisProduk;

	public void setqGDetailJenisProduk(short qGDetailJenisProduk) {
		this.qGDetailJenisProduk = qGDetailJenisProduk;
	}

	@Column(name = "QGDetailJenisProduk", nullable = false )
	public short getqGDetailJenisProduk(){
		return this.qGDetailJenisProduk;
	}

/*	//
	@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "kdgdetailjenisproduk")
	private Set<GeneralProduk> GeneralProdukSet = new HashSet<GeneralProduk>();
	
	public Set<GeneralProduk> getGeneralProdukSet() {
		return GeneralProdukSet;
	}

	public void setGeneralProdukSet(Set<GeneralProduk> generalProdukSet) {
		GeneralProdukSet = generalProdukSet;
	}*/

}

