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 Paket
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "Paket_M")
public class PaketVO extends BaseMasterVO {
	@ManyToOne
	@JoinColumn(name = "ObjectJenisPaketFk")
	@NotNull(message="Object Jenis PaketVO Harus Diisi")
	@Caption(value="Object Jenis Paket")
	private JenisPaketVO jenisPaket;

	public void setJenisPaket(JenisPaketVO jenisPaket) {
		this.jenisPaket = jenisPaket;
	}

	@Column(name = "KdJenisPaket", nullable = false )
	public JenisPaketVO getJenisPaket(){
		return this.jenisPaket;
	}

	@Column(name = "ObjectJenisPaketFk", insertable=false,updatable=false)
	private Integer jenisPaketId;

	@ManyToOne
	@JoinColumn(name = "ObjectJenisTransaksiFk")
	@Caption(value="Object Jenis Transaksi")
	private JenisTransaksiVO jenisTransaksi;

	public void setJenisTransaksi(JenisTransaksiVO jenisTransaksi) {
		this.jenisTransaksi = jenisTransaksi;
	}

	@Column(name = "KdJenisTransaksi", nullable = false )
	public JenisTransaksiVO getJenisTransaksi(){
		return this.jenisTransaksi;
	}

	@Column(name = "ObjectJenisTransaksiFk", insertable=false,updatable=false)
	private Integer jenisTransaksiId;

	@Caption(value="Kode Paket")
	private Byte kdPaket;
	
	public void setKdPaket(Byte kdPaket) {
		this.kdPaket = kdPaket;
	}

	@Column(name = "KdPaket", nullable = false )
	public Byte getKdPaket(){
		return this.kdPaket;
	}

	@Caption(value="Nama Paket")
	private String namaPaket;

	public void setNamaPaket(String namaPaket) {
		this.namaPaket = namaPaket;
	}

	@Column(name = "NamaPaket", nullable = false , length = 50)
	public String getNamaPaket(){
		return this.namaPaket;
	}

	@Caption(value="QPaket")
	private Byte qPaket;

	public void setqPaket(Byte qPaket) {
		this.qPaket = qPaket;
	}

	@Column(name = "QPaket", nullable = false )
	public Byte getqPaket(){
		return this.qPaket;
	}
	
	private Double harga;

	public Double getHarga() {
		return harga;
	}

	public void setHarga(Double harga) {
		this.harga = harga;
	}
		
	/*//
	@OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="kdpaket")
	private Set<HargaPaketPenjamin> HargaPaketPenjaminSet = new HashSet<HargaPaketPenjamin>();

	public Set<HargaPaketPenjamin> getHargaPaketPenjaminSet() {
		return HargaPaketPenjaminSet;
	}

	public void setHargaPaketPenjaminSet(Set<HargaPaketPenjamin> hargaPaketPenjaminSet) {
		HargaPaketPenjaminSet = hargaPaketPenjaminSet;
	}
	

	//
	@OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="kdpaket")
	private Set<HargaPaketPenjaminLuarPaket> HargaPaketPenjaminLuarPaketSet = new HashSet<HargaPaketPenjaminLuarPaket>();

	public Set<HargaPaketPenjaminLuarPaket> getHargaPaketPenjaminLuarPaketSet() {
		return HargaPaketPenjaminLuarPaketSet;
	}

	public void setHargaPaketPenjaminLuarPaketSet(Set<HargaPaketPenjaminLuarPaket> hargaPaketPenjaminLuarPaketSet) {
		HargaPaketPenjaminLuarPaketSet = hargaPaketPenjaminLuarPaketSet;
	}*/
}

