package com.jasamedika.medifirst2000.vo;

import java.util.Date;
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 javax.validation.constraints.NotNull;

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

public class LaporanUjiHasilVO extends BaseTransactionVO{
	
	@Column(name = "NomorContoh", nullable = true, length = 100)
	@Caption(value="Nomor contoh")
	@NotNull(message = "nomor contoh tidak boleh kosong") 
	private String nomorContoh;
	
	@Column(name = "ContohDari", nullable = true, length = 100)
	@Caption(value="Contoh Dari")
	private String contohDari;
	

	@Column(name = "uraianContoh", nullable = true)
	@Caption(value="uraian Contoh")
	private String uraianContoh;
	
	@Column(name = "Alamat", nullable = true, length = 100)
	@Caption(value="Alamat")
	private String alamat;
	
	@Column(name = "TanggalPenerimaanContoh", nullable = true)
	@Caption(value = "Tanggal penerimaan contoh")
	private Date tanggalPenerimaanContoh;

	@Column(name = "TanggalPengujianContohFrom", nullable = true)
	@Caption(value = "Tanggal penerimaan contoh from")
	private Date tanggalPengujianContohFrom;
	
	@Column(name = "TanggalPengujianContohTo", nullable = true)
	@Caption(value = "Tanggal penerimaan contoh to")
	private Date tanggalPengujianContohTo;
	
	@Column(name = "JenisContoh", nullable = true)
	@Caption(value = "jenis contoh")
	private String jenisContoh;
	
	@Column(name = "TipeLokasi", nullable = true)
	@Caption(value = "tipe lokasi")
	private String tipeLokasi;
	
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "laporanUjiHasil")
	@Caption(value = "map parameter to laporan uji hasil")
	private Set<MapParameterToLaporanUjiHasilVO> mapParameterToLaporanUjiHasil = new HashSet<MapParameterToLaporanUjiHasilVO>();
	
	@ManyToOne
	@JoinColumn(name = "ObjectRekananFk")
	@Caption(value="PT")
	private RekananVO rekanan;
	
	public String getNomorContoh() {
		return nomorContoh;
	}

	public void setNomorContoh(String nomorContoh) {
		this.nomorContoh = nomorContoh;
	}

	public String getContohDari() {
		return contohDari;
	}

	public void setContohDari(String contohDari) {
		this.contohDari = contohDari;
	}

	public String getAlamat() {
		return alamat;
	}

	public void setAlamat(String alamat) {
		this.alamat = alamat;
	}

	public Date getTanggalPenerimaanContoh() {
		return tanggalPenerimaanContoh;
	}

	public void setTanggalPenerimaanContoh(Date tanggalPenerimaanContoh) {
		this.tanggalPenerimaanContoh = tanggalPenerimaanContoh;
	}

	public Date getTanggalPengujianContohTo() {
		return tanggalPengujianContohTo;
	}

	public void setTanggalPengujianContohTo(Date tanggalPengujianContohTo) {
		this.tanggalPengujianContohTo = tanggalPengujianContohTo;
	}

	public String getJenisContoh() {
		return jenisContoh;
	}

	public void setJenisContoh(String jenisContoh) {
		this.jenisContoh = jenisContoh;
	}

	public String getTipeLokasi() {
		return tipeLokasi;
	}

	public void setTipeLokasi(String tipeLokasi) {
		this.tipeLokasi = tipeLokasi;
	}

	public Set<MapParameterToLaporanUjiHasilVO> getMapParameterToLaporanUjiHasil() {
		return mapParameterToLaporanUjiHasil;
	}

	public void setMapParameterToLaporanUjiHasil(Set<MapParameterToLaporanUjiHasilVO> mapParameterToLaporanUjiHasil) {
		this.mapParameterToLaporanUjiHasil = mapParameterToLaporanUjiHasil;
	}

	public Date getTanggalPengujianContohFrom() {
		return tanggalPengujianContohFrom;
	}

	public void setTanggalPengujianContohFrom(Date tanggalPengujianContohFrom) {
		this.tanggalPengujianContohFrom = tanggalPengujianContohFrom;
	}

	public RekananVO getRekanan() {
		return rekanan;
	}

	public void setRekanan(RekananVO rekanan) {
		this.rekanan = rekanan;
	}

	public String getUraianContoh() {
		return uraianContoh;
	}

	public void setUraianContoh(String uraianContoh) {
		this.uraianContoh = uraianContoh;
	}
	
	

}
