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 KomponenIndexDetail
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "KomponenIndexDetail_M")
public class KomponenIndexDetailVO extends BaseMasterVO {
	@Caption(value="Factor Rate Index")
	private Double factorRateIndex;

	public void setFactorRateIndex(Double factorRateIndex) {
		this.factorRateIndex = factorRateIndex;
	}

	@Column(name = "FactorRateIndex", nullable = false )
	public Double getFactorRateIndex(){
		return this.factorRateIndex;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectJabatanStrukturalFk")
	@Caption(value="Object JabatanVO Struktural")
	private JabatanVO jabatanStruktural;

	public void setJabatanStruktural(JabatanVO jabatanStruktural) {
		this.jabatanStruktural = jabatanStruktural;
	}

	@Column(name = "KdJabatanStruktural", nullable = true , length = 2)
	public JabatanVO getJabatanStruktural(){
		return this.jabatanStruktural;
	}

	@Column(name = "ObjectJabatanStrukturalFk", insertable=false,updatable=false)
	private Integer jabatanStrukturalId;

	@ManyToOne
	@JoinColumn(name = "ObjectKomponenIndexFk")
	@NotNull(message="Object Komponen Index Harus Diisi")
	@Caption(value="Object Komponen Index")
	private KomponenIndexVO komponenIndex;

	public void setKomponenIndex(KomponenIndexVO komponenIndex) {
		this.komponenIndex = komponenIndex;
	}

	@Column(name = "KdKomponenIndex", nullable = false , length = 2)
	public KomponenIndexVO getKomponenIndex(){
		return this.komponenIndex;
	}

	@Column(name = "ObjectKomponenIndexFk", insertable=false,updatable=false)
	private Integer komponenIndexId;

	/*@ManyToOne
	@JoinColumn(name = "ObjectKomponenIndexDetailFk")
	@NotNull(message="Object Komponen Index Detail Harus Diisi")
	@Caption(value="Object Komponen Index Detail")
	private KomponenIndexVO komponenIndexDetail;

	public void setKomponenIndexDetail(KomponenIndexVO komponenIndexDetail) {
		this.komponenIndexDetail = komponenIndexDetail;
	}

	@Column(name = "KdKomponenIndexDetail", nullable = false , length = 3)
	public KomponenIndexVO getKomponenIndexDetail(){
		return this.komponenIndexDetail;
	}

	@Column(name = "ObjectKomponenIndexDetailFk", insertable=false,updatable=false)
	private Integer komponenIndexDetailId;
*/
	@ManyToOne
	@JoinColumn(name = "ObjectPendidikanFk")
	@Caption(value="Object Pendidikan")
	private PendidikanVO pendidikan;

	public void setPendidikan(PendidikanVO pendidikan) {
		this.pendidikan = pendidikan;
	}

	@Column(name = "KdPendidikan", nullable = true , length = 2)
	public PendidikanVO getPendidikan(){
		return this.pendidikan;
	}

	@Column(name = "ObjectPendidikanFk", insertable=false,updatable=false)
	private Integer pendidikanId;

	@Caption(value="Komponen Index Detail")
	private String namaKomponenIndexDetail;

	@Column(name = "KomponenIndexDetail", nullable = false , length = 50)
	public String getNamaKomponenIndexDetail() {
		return namaKomponenIndexDetail;
	}

	public void setNamaKomponenIndexDetail(String namaKomponenIndexDetail) {
		this.namaKomponenIndexDetail = namaKomponenIndexDetail;
	}

	@Caption(value="Nilai Index Standar")
	private Double nilaiIndexStandar;

	public void setNilaiIndexStandar(Double nilaiIndexStandar) {
		this.nilaiIndexStandar = nilaiIndexStandar;
	}

	@Column(name = "NilaiIndexStandar", nullable = false )
	public Double getNilaiIndexStandar(){
		return this.nilaiIndexStandar;
	}

	@Caption(value="No Urut")
	private Byte noUrut;

	public void setNoUrut(Byte noUrut) {
		this.noUrut = noUrut;
	}

	@Column(name = "NoUrut", nullable = false )
	public Byte getNoUrut(){
		return this.noUrut;
	}

	@Caption(value="QKomponen Index Detail")
	private short qKomponenIndexDetail;

	public void setqKomponenIndexDetail(short qKomponenIndexDetail) {
		this.qKomponenIndexDetail = qKomponenIndexDetail;
	}

	@Column(name = "QKomponenIndexDetail", nullable = false )
	public short getqKomponenIndexDetail(){
		return this.qKomponenIndexDetail;
	}


}

