package com.jasamedika.medifirst2000.vo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;

public class PenilaianKinerjaSatpamVO extends BaseTransactionVO {

	private static final long serialVersionUID = 6921333722443946035L;

	@Column(name = "namaSatpam", nullable = true)
	private String namaSatpam;

	@Caption(value = "Tgl Penilaian")
	@Column(name = "TglPenilaian", nullable = true)
	private Date tglPenilaian;

	@Caption(value = "Tgl Periode Awal")
	@Column(name = "TglPeriodeAwal", nullable = true)
	private Date tglPeriodeAwal;

	@Caption(value = "Tgl Periode Akhir")
	@Column(name = "TglPeriodeAkhir", nullable = true)
	private Date tglPeriodeAkhir;

	@ManyToOne
	@JoinColumn(name = "ObjectPemberiNilaiFk")
	private PegawaiVO pemberiNilai;

	@Column(name = "GrandTotal", nullable = true)
	private Integer grandTotal;

	@Column(name = "TotalNilaiUraianTugas", nullable = true)
	private Integer totalNilaiUraianTugas;

	@Column(name = "TotalNilaiKualitas", nullable = true)
	private Integer totalNilaiKualitas;

	@Column(name = "TotalNilaiSikapPerilaku", nullable = true)
	private Integer totalNilaiSikapPerilaku;

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "penilaianKinerjaSatpam")
	@Caption(value = "mapUraianTugas")
	private List<MappingUraianTugasVO> mapUraianTugas = new ArrayList<MappingUraianTugasVO>();

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "penilaianKinerjaSatpam")
	@Caption(value = "mapKualitas")
	private List<MappingKualitasVO> mapKualitas = new ArrayList<MappingKualitasVO>();

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "penilaianKinerjaSatpam")
	@Caption(value = "mapSikapPerilaku")
	private List<MappingSikapPerilakuVO> mapSikapPerilaku = new ArrayList<MappingSikapPerilakuVO>();

	public Integer getTotalNilaiUraianTugas() {
		return totalNilaiUraianTugas;
	}

	public void setTotalNilaiUraianTugas(Integer totalNilaiUraianTugas) {
		this.totalNilaiUraianTugas = totalNilaiUraianTugas;
	}

	public Integer getTotalNilaiKualitas() {
		return totalNilaiKualitas;
	}

	public void setTotalNilaiKualitas(Integer totalNilaiKualitas) {
		this.totalNilaiKualitas = totalNilaiKualitas;
	}

	public Integer getTotalNilaiSikapPerilaku() {
		return totalNilaiSikapPerilaku;
	}

	public void setTotalNilaiSikapPerilaku(Integer totalNilaiSikapPerilaku) {
		this.totalNilaiSikapPerilaku = totalNilaiSikapPerilaku;
	}

	public String getNamaSatpam() {
		return namaSatpam;
	}

	public void setNamaSatpam(String namaSatpam) {
		this.namaSatpam = namaSatpam;
	}

	public Date getTglPenilaian() {
		return tglPenilaian;
	}

	public void setTglPenilaian(Date tglPenilaian) {
		this.tglPenilaian = tglPenilaian;
	}

	public PegawaiVO getPemberiNilai() {
		return pemberiNilai;
	}

	public void setPemberiNilai(PegawaiVO pemberiNilai) {
		this.pemberiNilai = pemberiNilai;
	}

	public Integer getGrandTotal() {
		return grandTotal;
	}

	public void setGrandTotal(Integer grandTotal) {
		this.grandTotal = grandTotal;
	}

	public List<MappingUraianTugasVO> getMapUraianTugas() {
		return mapUraianTugas;
	}

	public void setMapUraianTugas(List<MappingUraianTugasVO> mapUraianTugas) {
		this.mapUraianTugas = mapUraianTugas;
	}

	public List<MappingKualitasVO> getMapKualitas() {
		return mapKualitas;
	}

	public void setMapKualitas(List<MappingKualitasVO> mapKualitas) {
		this.mapKualitas = mapKualitas;
	}

	public List<MappingSikapPerilakuVO> getMapSikapPerilaku() {
		return mapSikapPerilaku;
	}

	public void setMapSikapPerilaku(List<MappingSikapPerilakuVO> mapSikapPerilaku) {
		this.mapSikapPerilaku = mapSikapPerilaku;
	}

	public Date getTglPeriodeAwal() {
		return tglPeriodeAwal;
	}

	public void setTglPeriodeAwal(Date tglPeriodeAwal) {
		this.tglPeriodeAwal = tglPeriodeAwal;
	}

	public Date getTglPeriodeAkhir() {
		return tglPeriodeAkhir;
	}

	public void setTglPeriodeAkhir(Date tglPeriodeAkhir) {
		this.tglPeriodeAkhir = tglPeriodeAkhir;
	}

}
