package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name = "IkiDanRemunerasi_T")
public class IkiDanRemunerasi extends BaseTransaction {

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectEvaluasiJabatanFk")
	@Caption(value = "Object Evaluasi Jabatan")
	private EvaluasiJabatan evaluasiJabatan;

	@Column(name = "ObjectEvaluasiJabatanFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false)
	private String evaluasiJabatanId;

	@Column(name = "NilaiJabatan")
	@Caption(value = "NilaiJabatan")
	private Double nilaiJabatan;

	@Column(name = "Gaji")
	@Caption(value = "Gaji")
	private Double gaji;

	@Column(name = "Grade")
	@Caption(value = "Grade")
	private String grade;

	@Column(name = "Iku")
	@Caption(value = "Iku")
	private Double iku;

	@Column(name = "Iki")
	@Caption(value = "Iki")
	private Double iki;

	@Column(name = "Pir")
	@Caption(value = "Pir")
	private Double pir;

	@Column(name = "P1")
	@Caption(value = "P1")
	private Double p1;

	@Column(name = "P2")
	@Caption(value = "P2")
	private Double p2;

	@Column(name = "P1Rp")
	@Caption(value = "P1Rp")
	private Double p1Rp;

	@Column(name = "P2Rp")
	@Caption(value = "P2Rp")
	private Double p2Rp;

	@Column(name = "Tanggal")
	@Caption(value = "Tanggal")
	private Date tanggal;

	@Column(name = "IndekKehadiran")
	@Caption(value = "IndekKehadiran")
	private Integer indekKehadiran;

	@Column(name = "Remunerasi")
	@Caption(value = "Remunerasi")
	private Double remunerasi;
	
	@Column(name = "Periode", nullable = true)
	@Caption(value = "Periode")
	private String periode;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectPegawaiFk")
	@Caption(value = "Object Pegawai")
	private Pegawai pegawai;
	
	@Column(name = "ObjectPegawaiFk", insertable = false, updatable = false)
	private Integer pegawaiId;
	
	@ManyToOne
	@JoinColumn(name = "noHistoriFK")
	@NotNull(message = "noHistori Harus Diisi")
	@Caption(value = "noHistori")
	private StrukHistori strukHistory;
	
	@Column(name = "noHistoriFK", columnDefinition = "CHAR(32)", insertable = false, updatable = false,nullable = false)
	private String strukHistoryId;
	
	public String getPeriode() {
		return periode;
	}

	public void setPeriode(String periode) {
		this.periode = periode;
	}

	public StrukHistori getStrukHistory() {
		return strukHistory;
	}

	public void setStrukHistory(StrukHistori strukHistory) {
		this.strukHistory = strukHistory;
	}

	public String getStrukHistoryId() {
		return strukHistoryId;
	}

	public void setStrukHistoryId(String strukHistoryId) {
		this.strukHistoryId = strukHistoryId;
	}

	public Integer getPegawaiId() {
		return pegawaiId;
	}

	public void setPegawaiId(Integer pegawaiId) {
		this.pegawaiId = pegawaiId;
	}

	public Double getRemunerasi() {
		return remunerasi;
	}

	public void setRemunerasi(Double remunerasi) {
		this.remunerasi = remunerasi;
	}

	public Pegawai getPegawai() {
		return pegawai;
	}

	public void setPegawai(Pegawai pegawai) {
		this.pegawai = pegawai;
	}
 
	public EvaluasiJabatan getEvaluasiJabatan() {
		return evaluasiJabatan;
	}

	public void setEvaluasiJabatan(EvaluasiJabatan evaluasiJabatan) {
		this.evaluasiJabatan = evaluasiJabatan;
	}

	public String getEvaluasiJabatanId() {
		return evaluasiJabatanId;
	}

	public void setEvaluasiJabatanId(String evaluasiJabatanId) {
		this.evaluasiJabatanId = evaluasiJabatanId;
	}

	public Double getNilaiJabatan() {
		return nilaiJabatan;
	}

	public void setNilaiJabatan(Double nilaiJabatan) {
		this.nilaiJabatan = nilaiJabatan;
	}

	public Double getGaji() {
		return gaji;
	}

	public void setGaji(Double gaji) {
		this.gaji = gaji;
	}

	public String getGrade() {
		return grade;
	}

	public void setGrade(String grade) {
		this.grade = grade;
	}

	public Double getIku() {
		return iku;
	}

	public void setIku(Double iku) {
		this.iku = iku;
	}

	public Double getIki() {
		return iki;
	}

	public void setIki(Double iki) {
		this.iki = iki;
	}

	public Double getPir() {
		return pir;
	}

	public void setPir(Double pir) {
		this.pir = pir;
	}

	public Double getP1() {
		return p1;
	}

	public void setP1(Double p1) {
		this.p1 = p1;
	}

	public Double getP2() {
		return p2;
	}

	public void setP2(Double p2) {
		this.p2 = p2;
	}

	public Double getP1Rp() {
		return p1Rp;
	}

	public void setP1Rp(Double p1Rp) {
		this.p1Rp = p1Rp;
	}

	public Double getP2Rp() {
		return p2Rp;
	}

	public void setP2Rp(Double p2Rp) {
		this.p2Rp = p2Rp;
	}

	public Date getTanggal() {
		return tanggal;
	}

	public void setTanggal(Date tanggal) {
		this.tanggal = tanggal;
	}

	public Integer getIndekKehadiran() {
		return indekKehadiran;
	}

	public void setIndekKehadiran(Integer indekKehadiran) {
		this.indekKehadiran = indekKehadiran;
	}
}
