package com.jasamedika.medifirst2000.vo;

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

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.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;

public class IndikatorKualitasVO extends BaseMasterVO {
	
	@Caption(value = "Nama Indikator Kualitas")
	private String namaIndikatorKualitas;
	
	@Caption(value = "Definisi Operasional")
	private String definisiOperasional;
	
	@Caption(value = "Persentase Target")
	private Integer target;
	
	@ManyToOne(fetch = FetchType.LAZY, optional = true)
	@JoinColumn(name = "objecturaiankegiatanfk", nullable = true)
	@Caption(value = "Uraian Kegiatan")
	private UraianKegiatanVO uraianKegiatan;
	
	@Column(name = "objecturaiankegiatanfk", insertable = false, updatable = false, nullable = true)
	private Integer idUraianKegiatan;
	
	@OneToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "indikatorKualitas")
	private Set<KategoriPenilaianKualitasVO> listKategori = new HashSet<KategoriPenilaianKualitasVO>();

	public String getNamaIndikatorKualitas() {
		return namaIndikatorKualitas;
	}

	public void setNamaIndikatorKualitas(String namaIndikatorKualitas) {
		this.namaIndikatorKualitas = namaIndikatorKualitas;
	}

	public String getDefinisiOperasional() {
		return definisiOperasional;
	}

	public void setDefinisiOperasional(String definisiOperasional) {
		this.definisiOperasional = definisiOperasional;
	}

	public Integer getTarget() {
		return target;
	}

	public void setTarget(Integer target) {
		this.target = target;
	}

	public UraianKegiatanVO getUraianKegiatan() {
		return uraianKegiatan;
	}

	public void setUraianKegiatan(UraianKegiatanVO uraianKegiatan) {
		this.uraianKegiatan = uraianKegiatan;
	}

	public Integer getIdUraianKegiatan() {
		return idUraianKegiatan;
	}

	public void setIdUraianKegiatan(Integer idUraianKegiatan) {
		this.idUraianKegiatan = idUraianKegiatan;
	}

	public Set<KategoriPenilaianKualitasVO> getListKategori() {
		return listKategori;
	}

	public void setListKategori(Set<KategoriPenilaianKualitasVO> listKategori) {
		this.listKategori = listKategori;
	}
	
}
