package com.jasamedika.medifirst2000.vo;

import java.io.Serializable;
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 TypeProduk
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "TypeProduk_M")
public class TypeProdukVO extends BaseMasterVO {
	@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;

	@ManyToOne
	@JoinColumn(name = "ObjectKelompokProdukFk")
	@Caption(value="Object Kelompok Produk")
	private KelompokProdukVO kelompokProduk;

	public void setKelompokProduk(KelompokProdukVO kelompokProduk) {
		this.kelompokProduk = kelompokProduk;
	}

	@Column(name = "KdKelompokProduk", nullable = true )
	public KelompokProdukVO getKelompokProduk(){
		return this.kelompokProduk;
	}

	@Column(name = "ObjectKelompokProdukFk", insertable=false,updatable=false)
	private Integer kelompokProdukId;

	@ManyToOne
	@JoinColumn(name = "ObjectMerkProdukFk")
	@NotNull(message="Object Merk ProdukVO Harus Diisi")
	@Caption(value="Object Merk Produk")
	private MerkProdukVO merkProduk;

	public void setMerkProduk(MerkProdukVO merkProduk) {
		this.merkProduk = merkProduk;
	}

	@Column(name = "KdMerkProduk", nullable = false )
	public MerkProdukVO getMerkProduk(){
		return this.merkProduk;
	}

	@Column(name = "ObjectMerkProdukFk", insertable=false,updatable=false)
	private Integer merkProdukId;

	@Caption(value="Kode Type Produk")
	private short kdTypeProduk;

	public void setKdTypeProduk(short kdTypeProduk) {
		this.kdTypeProduk = kdTypeProduk;
	}

	@Column(name = "KdTypeProduk", nullable = false )
	public short getKdTypeProduk(){
		return this.kdTypeProduk;
	}

	@Caption(value="QType Produk")
	private short qTypeProduk;

	public void setqTypeProduk(short qTypeProduk) {
		this.qTypeProduk = qTypeProduk;
	}

	@Column(name = "QTypeProduk", nullable = false )
	public short getqTypeProduk(){
		return this.qTypeProduk;
	}

	@Caption(value="Type Produk")
	private String typeProduk;

	public void setypeProduk(String typeProduk) {
		this.typeProduk = typeProduk;
	}

	@Column(name = "TypeProduk", nullable = false , length = 30)
	public String getTypeProduk(){
		return this.typeProduk;
	}


}

