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 AsalProduk
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "AsalProduk_M")
public class AsalProdukVO extends BaseMasterVO {
	@Caption(value="Asal Produk")
	private String asalProduk;

	public void setAsalProduk(String asalProduk) {
		this.asalProduk = asalProduk;
	}

	@Column(name = "AsalProduk", nullable = false , length = 30)
	public String getAsalProduk(){
		return this.asalProduk;
	}

	@Caption(value="Kode Asal Produk")
	private Byte kdAsalProduk;

	@Column(name = "QAsalProduk", nullable = false )
	public Byte getKdAsalProduk() {
		return kdAsalProduk;
	}

	public void setKdAsalProduk(Byte kdAsalProduk) {
		this.kdAsalProduk = kdAsalProduk;
	}

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

	public Integer getDepartemenId() {
		return departemenId;
	}

	public void setDepartemenId(Integer departemenId) {
		this.departemenId = 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;
	
	

	public Integer getKelompokProdukId() {
		return kelompokProdukId;
	}

	public void setKelompokProdukId(Integer kelompokProdukId) {
		this.kelompokProdukId = kelompokProdukId;
	}

	@Caption(value="QAsal Produk")
	private Byte qAsalProduk;

	public Byte getqAsalProduk() {
		return qAsalProduk;
	}

	public void setqAsalProduk(Byte qAsalProduk) {
		this.qAsalProduk = qAsalProduk;
	}


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

	public Set<HargaNettoProdukByKelas> getHargaNettoDiscPasienPulangSet() {
		return HargaNettoDiscPasienPulangSet;
	}

	public void setHargaNettoDiscPasienPulangSet(Set<HargaNettoProdukByKelas> hargaNettoDiscPasienPulangSet) {
		HargaNettoDiscPasienPulangSet = hargaNettoDiscPasienPulangSet;
	}
	
	//
	@OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="kdasalproduk")
	private Set<HargaNettoProdukByKelas> HargaNettoProdukByKelasSet = new HashSet<HargaNettoProdukByKelas>();

	public Set<HargaNettoProdukByKelas> getHargaNettoProdukByKelasSet() {
		return HargaNettoProdukByKelasSet;
	}

	public void setHargaNettoProdukByKelasSet(Set<HargaNettoProdukByKelas> hargaNettoProdukByKelasSet) {
		HargaNettoProdukByKelasSet = hargaNettoProdukByKelasSet;
	}

	//
	@OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="kdasalproduk")
	private Set<HargaNettoProdukByKelasD> HargaNettoProdukByKelasDSet = new HashSet<HargaNettoProdukByKelasD>();

	public Set<HargaNettoProdukByKelasD> getHargaNettoProdukByKelasDSet() {
		return HargaNettoProdukByKelasDSet;
	}

	public void setHargaNettoProdukByKelasDSet(Set<HargaNettoProdukByKelasD> hargaNettoProdukByKelasDSet) {
		HargaNettoProdukByKelasDSet = hargaNettoProdukByKelasDSet;
	}*/

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

	public Set<HargaNettoProdukByTerima> getHargaNettoProdukByTerimaSet() {
		return HargaNettoProdukByTerimaSet;
	}

	public void setHargaNettoProdukByTerimaSet(Set<HargaNettoProdukByTerima> hargaNettoProdukByTerimaSet) {
		HargaNettoProdukByTerimaSet = hargaNettoProdukByTerimaSet;
	}*/

	
}

