package com.jasamedika.medifirst2000.entities;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name="K3LaporanKecelakaanKerja_T")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class K3LaporanKecelakaanKerja extends BaseTransaction{

	@ManyToOne(fetch=FetchType.LAZY)
	@Caption(value="Pelapor")
	@JoinColumn(name="ObjectPelaporFk")
	private Pegawai pelapor;
	
	@Column(name="ObjectPelaporFk", nullable=false, insertable=false, updatable=false)
	private Integer pelaporId;
	
	@JsonBackReference
	@OneToOne(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="k3LaporanKecelakaanKerja")
	private LkkIdentifikasiKejadian lkkIdentifikasiKejadian;
	
	@Caption(value="Verifikasi")
	@Column(name="Verifikasi")
	private Integer verifikasi;

	public Pegawai getPelapor() {
		return pelapor;
	}

	public void setPelapor(Pegawai pelapor) {
		this.pelapor = pelapor;
	}

	public Integer getPelaporId() {
		return pelaporId;
	}

	public void setPelaporId(Integer pelaporId) {
		this.pelaporId = pelaporId;
	}

	public LkkIdentifikasiKejadian getLkkIdentifikasiKejadian() {
		return lkkIdentifikasiKejadian;
	}

	public void setLkkIdentifikasiKejadian(LkkIdentifikasiKejadian lkkIdentifikasiKejadian) {
		this.lkkIdentifikasiKejadian = lkkIdentifikasiKejadian;
	}

	public Integer getVerifikasi() {
		return verifikasi;
	}

	public void setVerifikasi(Integer verifikasi) {
		this.verifikasi = verifikasi;
	}
	
}
