package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
@Table(name = "AdvokasiHukumMedicolegal_M")
public class AdvokasiHukumMedicolegal extends BaseMaster {

	@Column(name = "noKasus")
	@Caption(value = "No Kasus")
	private String noKasus;

	@Column(name = "tglKasus")
	@Caption(value = "Tanggal Kasus")
	private Date tglKasus;

	@ManyToOne
	@JoinColumn(name = "ObjectUserFk")
	@NotNull(message = "User tidak boleh kosong")
	@Caption(value = "Kajian Evaluasi")
	private Pegawai user;

	@Column(name = "ObjectUserFk", insertable = false, updatable = false, nullable = false)
	private Integer userId;

	@ManyToOne
	@JoinColumn(name = "ObjectJenisKasusFk")
	@NotNull(message = "Jenis Kasus tidak boleh kosong")
	@Caption(value = "Jenis Kasus")
	private JenisKasusMedicolegal jenisKasus;

	@Column(name = "ObjectJenisKasusFk", insertable = false, updatable = false, nullable = false)
	private Integer jenisKasusId;

	@Column(name = "deskripsiKasus")
	@Caption(value = "Deskripsi Kasus")
	private String deskripsiKasus;

	@ManyToOne
	@JoinColumn(name = "ObjectPenanggungJawabFk")
	@NotNull(message = "Penanggung Jawab tidak boleh kosong")
	@Caption(value = "Penanggung Jawab")
	private Pegawai penanggungJawab;

	@Column(name = "ObjectPenanggungJawabFk", insertable = false, updatable = false, nullable = false)
	private Integer penanggungJawabId;

	@Column(name = "analisaKajian")
	@Caption(value = "Analisa Kajian")
	private String analisaKajian;

	@Column(name = "hasilKeputusan")
	@Caption(value = "Hasil Keputusan")
	private String hasilKeputusan;

	@Column(name = "statusKasus")
	@Caption(value = "Status Kasus")
	private String statusKasus;

	public String getNoKasus() {
		return noKasus;
	}

	public void setNoKasus(String noKasus) {
		this.noKasus = noKasus;
	}

	public Date getTglKasus() {
		return tglKasus;
	}

	public void setTglKasus(Date tglKasus) {
		this.tglKasus = tglKasus;
	}

	public Pegawai getUser() {
		return user;
	}

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

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public JenisKasusMedicolegal getJenisKasus() {
		return jenisKasus;
	}

	public void setJenisKasus(JenisKasusMedicolegal jenisKasus) {
		this.jenisKasus = jenisKasus;
	}

	public Integer getJenisKasusId() {
		return jenisKasusId;
	}

	public void setJenisKasusId(Integer jenisKasusId) {
		this.jenisKasusId = jenisKasusId;
	}

	public String getAnalisaKajian() {
		return analisaKajian;
	}

	public void setAnalisaKajian(String analisaKajian) {
		this.analisaKajian = analisaKajian;
	}

	public String getHasilKeputusan() {
		return hasilKeputusan;
	}

	public void setHasilKeputusan(String hasilKeputusan) {
		this.hasilKeputusan = hasilKeputusan;
	}

	public String getStatusKasus() {
		return statusKasus;
	}

	public void setStatusKasus(String statusKasus) {
		this.statusKasus = statusKasus;
	}

	public String getDeskripsiKasus() {
		return deskripsiKasus;
	}

	public void setDeskripsiKasus(String deskripsiKasus) {
		this.deskripsiKasus = deskripsiKasus;
	}

	public Pegawai getPenanggungJawab() {
		return penanggungJawab;
	}

	public void setPenanggungJawab(Pegawai penanggungJawab) {
		this.penanggungJawab = penanggungJawab;
	}

	public Integer getPenanggungJawabId() {
		return penanggungJawabId;
	}

	public void setPenanggungJawabId(Integer penanggungJawabId) {
		this.penanggungJawabId = penanggungJawabId;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.advokasihukummedicolegal_m_id_seq")
	@javax.persistence.SequenceGenerator(name = "public.advokasihukummedicolegal_m_id_seq", sequenceName = "public.advokasihukummedicolegal_m_id_seq", allocationSize = 1)
	@Column(name = "id")
	protected Integer id;

	public Integer getId() {

		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
}