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 com.jasamedika.medifirst2000.entities.KomponenHarga;

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 ObjekPajak
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "ObjekPajak_M")
public class ObjekPajakVO extends BaseMasterVO {
	@Caption(value="Deskripsi")
	private String deskripsi;

	public void setDeskripsi(String deskripsi) {
		this.deskripsi = deskripsi;
	}

	@Column(name = "Deskripsi", nullable = true , length = 300)
	public String getDeskripsi(){
		return this.deskripsi;
	}
	
	@ManyToOne
	@JoinColumn(name = "ObjectKomponenHargaFk")
	@NotNull(message = "Kd KomponenHarga tidak boleh kosong")
	@Caption(value = "Object KomponenHarga")
	private KomponenHarga komponenHarga;
	
	@Column(name = "ObjectKomponenHargaFk", insertable = false, updatable = false)
	private Integer komponenHargaId;

	@Caption(value="Kode Objek Pajak")
	private Byte kdObjekPajak;

	public void setKdObjekPajak(Byte kdObjekPajak) {
		this.kdObjekPajak = kdObjekPajak;
	}

	@Column(name = "KdObjekPajak", nullable = false )
	public Byte getKdObjekPajak(){
		return this.kdObjekPajak;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectPajakFk")
	@NotNull(message="Object PajakVO Harus Diisi")
	@Caption(value="Object Pajak")
	private PajakVO pajak;

	public void setPajak(PajakVO pajak) {
		this.pajak = pajak;
	}

	@Column(name = "KdPajak", nullable = false )
	public PajakVO getPajak(){
		return this.pajak;
	}

	@Column(name = "ObjectPajakFk", insertable=false,updatable=false)
	private Integer pajakId;

	@ManyToOne
	@JoinColumn(name = "ObjectProdukFk")
	@Caption(value="Object Produk")
	private ProdukVO produk;

	public void setProduk(ProdukVO produk) {
		this.produk = produk;
	}

	@Column(name = "KdProduk", nullable = true , length = 6)
	public ProdukVO getProduk(){
		return this.produk;
	}

	@Column(name = "ObjectProdukFk", insertable=false,updatable=false)
	private Integer produkId;

	@Caption(value="Objek Pajak")
	private String objekPajak;

	public void setObjekPajak(String objekPajak) {
		this.objekPajak = objekPajak;
	}

	@Column(name = "ObjekPajak", nullable = false , length = 100)
	public String getObjekPajak(){
		return this.objekPajak;
	}

	@Caption(value="QObjek Pajak")
	private Byte qObjekPajak;

	public void setqObjekPajak(Byte qObjekPajak) {
		this.qObjekPajak = qObjekPajak;
	}

	@Column(name = "QObjekPajak", nullable = false )
	public Byte getqObjekPajak(){
		return this.qObjekPajak;
	}

	public KomponenHarga getKomponenHarga() {
		return komponenHarga;
	}

	public void setKomponenHarga(KomponenHarga komponenHarga) {
		this.komponenHarga = komponenHarga;
	}

	public Integer getKomponenHargaId() {
		return komponenHargaId;
	}

	public void setKomponenHargaId(Integer komponenHargaId) {
		this.komponenHargaId = komponenHargaId;
	}

	public Integer getPajakId() {
		return pajakId;
	}

	public void setPajakId(Integer pajakId) {
		this.pajakId = pajakId;
	}

	public Integer getProdukId() {
		return produkId;
	}

	public void setProdukId(Integer produkId) {
		this.produkId = produkId;
	}


}

