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.persistence.Temporal;
import javax.persistence.TemporalType;

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

public class IpsrsPelaksanaanPerbaikanVO extends BaseTransactionVO {
	
	@ManyToOne(fetch = FetchType.LAZY)
	@Caption(value = "Ipsrs Perbaikan")
	private IpsrsPerbaikanVO ipsrsPerbaikan;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Caption(value = "Tgl Mulai Periksa")
	private Date tglMulaiPeriksa;
	
	@Caption(value = "Analisa Teknisi")
	private String analisaTeknisi;
	
	@Caption(value = "Analisa Kerusakan")
	private String analisaKerusakan;
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "ipsrsPelaksanaanPerbaikan")
	private Set<IpsrsPelaksanaanPerbaikanSukuCadangVO> ipsrsPelaksanaanPerbaikanSukuCadang = new HashSet<IpsrsPelaksanaanPerbaikanSukuCadangVO>();
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "ipsrsPelaksanaanPerbaikan")
	private Set<IpsrsPelaksanaanPerbaikanListTeknisiVO> ipsrsPelaksanaanPerbaikanListTeknisi = new HashSet<IpsrsPelaksanaanPerbaikanListTeknisiVO>();
	
	@ManyToOne(fetch = FetchType.LAZY)
	@Caption(value = "User")
	private PegawaiVO user;
	
	@Caption(value = "Status Pengerjaan")
	private Integer statusPengerjaan;
	
	@Caption(value = "Ket Status Respon")
	private String ketStatusRespon;

	@Caption(value = "NoRec Ipsrs Perbaikan")
	private String noRecIpsrsPerbaikan;

	public IpsrsPerbaikanVO getIpsrsPerbaikan() {
		return ipsrsPerbaikan;
	}

	public void setIpsrsPerbaikan(IpsrsPerbaikanVO ipsrsPerbaikan) {
		this.ipsrsPerbaikan = ipsrsPerbaikan;
	}

	public Date getTglMulaiPeriksa() {
		return tglMulaiPeriksa;
	}

	public void setTglMulaiPeriksa(Date tglMulaiPeriksa) {
		this.tglMulaiPeriksa = tglMulaiPeriksa;
	}

	public String getAnalisaTeknisi() {
		return analisaTeknisi;
	}

	public void setAnalisaTeknisi(String analisaTeknisi) {
		this.analisaTeknisi = analisaTeknisi;
	}

	public String getAnalisaKerusakan() {
		return analisaKerusakan;
	}

	public void setAnalisaKerusakan(String analisaKerusakan) {
		this.analisaKerusakan = analisaKerusakan;
	}

	public Set<IpsrsPelaksanaanPerbaikanSukuCadangVO> getIpsrsPelaksanaanPerbaikanSukuCadang() {
		return ipsrsPelaksanaanPerbaikanSukuCadang;
	}

	public void setIpsrsPelaksanaanPerbaikanSukuCadang(
			Set<IpsrsPelaksanaanPerbaikanSukuCadangVO> ipsrsPelaksanaanPerbaikanSukuCadang) {
		this.ipsrsPelaksanaanPerbaikanSukuCadang = ipsrsPelaksanaanPerbaikanSukuCadang;
	}

	public Set<IpsrsPelaksanaanPerbaikanListTeknisiVO> getIpsrsPelaksanaanPerbaikanListTeknisi() {
		return ipsrsPelaksanaanPerbaikanListTeknisi;
	}

	public void setIpsrsPelaksanaanPerbaikanListTeknisi(
			Set<IpsrsPelaksanaanPerbaikanListTeknisiVO> ipsrsPelaksanaanPerbaikanListTeknisi) {
		this.ipsrsPelaksanaanPerbaikanListTeknisi = ipsrsPelaksanaanPerbaikanListTeknisi;
	}

	public Integer getStatusPengerjaan() {
		return statusPengerjaan;
	}

	public void setStatusPengerjaan(Integer statusPengerjaan) {
		this.statusPengerjaan = statusPengerjaan;
	}

	public String getKetStatusRespon() {
		return ketStatusRespon;
	}

	public void setKetStatusRespon(String ketStatusRespon) {
		this.ketStatusRespon = ketStatusRespon;
	}

	public String getNoRecIpsrsPerbaikan() {
		return noRecIpsrsPerbaikan;
	}

	public void setNoRecIpsrsPerbaikan(String noRecIpsrsPerbaikan) {
		this.noRecIpsrsPerbaikan = noRecIpsrsPerbaikan;
	}

	public PegawaiVO getUser() {
		return user;
	}

	public void setUser(PegawaiVO user) {
		this.user = user;
	}

}
