package com.jasamedika.medifirst2000.vo;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotEmpty;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 * @author salmanoe
 * @since Jul 6, 2022
 *
 */
public class PenilaianKinerjaVO extends BaseTransactionVO {

	private static final long serialVersionUID = -2885864808873627462L;

	@Caption("Bulan")
	@NotNull(message = "Bulan wajib diisi")
	private Date bulan;

	@Caption("Pegawai")
	@NotNull(message = "Pegawai wajib diisi")
	private PegawaiVO pegawai;

	private Integer pegawaiId;

	@Caption("Jabatan")
	@NotNull(message = "Jabatan wajib diisi")
	private JabatanVO jabatan;

	private Integer jabatanId;
	
	@Caption(value = "Nilai Jabatan")
	private Double nilaiJabatan;

	@Caption(value = "IKI")
	@NotNull(message = "IKI wajib diisi")
	private Double iki;

	@Caption(value = "Bobot")
	@NotNull(message = "Bobot wajib diisi")
	private Double bobot;

	@Caption(value = "Hasil")
	@NotNull(message = "Hasil wajib diisi")
	private Double hasil;

	@Caption(value = "Kriteria")
	@NotEmpty(message = "Kriteria wajib diisi")
	private String kriteria;

	@JsonBackReference
	private Set<PenilaianKinerjaDetailVO> detail = new HashSet<PenilaianKinerjaDetailVO>();

	public Date getBulan() {
		return bulan;
	}

	public void setBulan(Date bulan) {
		this.bulan = bulan;
	}

	public PegawaiVO getPegawai() {
		return pegawai;
	}

	public void setPegawai(PegawaiVO pegawai) {
		this.pegawai = pegawai;
	}

	public Integer getPegawaiId() {
		return pegawaiId;
	}

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

	public JabatanVO getJabatan() {
		return jabatan;
	}

	public void setJabatan(JabatanVO jabatan) {
		this.jabatan = jabatan;
	}

	public Integer getJabatanId() {
		return jabatanId;
	}

	public void setJabatanId(Integer jabatanId) {
		this.jabatanId = jabatanId;
	}

	public Double getNilaiJabatan() {
		return nilaiJabatan;
	}

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

	public Double getIki() {
		return iki;
	}

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

	public Double getBobot() {
		return bobot;
	}

	public void setBobot(Double bobot) {
		this.bobot = bobot;
	}

	public Double getHasil() {
		return hasil;
	}

	public void setHasil(Double hasil) {
		this.hasil = hasil;
	}

	public String getKriteria() {
		return kriteria;
	}

	public void setKriteria(String kriteria) {
		this.kriteria = kriteria;
	}

	public Set<PenilaianKinerjaDetailVO> getDetail() {
		return detail;
	}

	public void setDetail(Set<PenilaianKinerjaDetailVO> detail) {
		this.detail = detail;
	}

}
