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.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;

@Entity //@Audited
@Table(name = "papintegumen_t")
public class PapIntegumen extends BaseTransaction {
	/**
	 * @author andri
	 */
	@ManyToOne
	@JoinColumn(name = "ObjectRegistrasiPelayananPasienFk")
	//@NotNull(message = "RegistrasiPelayananPasien tidak boleh kosong")
	private RegistrasiPelayananPasien registrasiPelayananPasien;	
	
	@Column(name = "ObjectRegistrasiPelayananPasienFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String registrasiPelayananPasienId;

	@ManyToOne
	@JoinColumn(name = "ObjectPasienFk")
	@NotNull(message = "Pasien tidak boleh kosong")
	private Pasien pasien;	
	
	@Column(name = "ObjectPasienFk", insertable = false, updatable = false, nullable = false)
	private Integer pasienId;
	
	@NotNull(message = "Tgl Input tidak boleh kosong")
	@Column(name = "tglInput", nullable = false)
	@Caption(value = "Tgl Input")
	private Date tglInput;

	@ManyToOne
	@JoinColumn(name = "ObjectWarnaKulitFk")
	@NotNull(message = "warnaKulit tidak boleh kosong")
	@Caption(value = "Object warnaKulit")
	private WarnaKulit warnaKulit;

	@Column(name = "ObjectWarnaKulitFk", insertable = false, updatable = false, nullable = false)
	private Integer warnaKulitId;

	@ManyToOne
	@JoinColumn(name = "ObjectKelainanFk")
	@NotNull(message = "Kelainan tidak boleh kosong")
	@Caption(value = "Object Kelainan")
	private StatusAdaTidakAda kelainan;
	
	@Column(name = "ObjectKelainanFk", insertable = false, updatable = false, nullable = false)
	private Integer kelainanId;

	@ManyToOne
	@JoinColumn(name = "ObjectResikoDekubitosFk")
	@NotNull(message = "ResikoDekubitos tidak boleh kosong")
	@Caption(value = "Object ResikoDekubitos")
	private StatusAdaTidakAda resikoDekubitos;
	
	@Column(name = "ObjectResikoDekubitosFk", insertable = false, updatable = false, nullable = false)
	private Integer resikoDekubitosId;

	@ManyToOne
	@JoinColumn(name = "ObjectLukaFk")
	@NotNull(message = "luka tidak boleh kosong")
	@Caption(value = "Object luka")
	private StatusAdaTidakAda luka;

	@Column(name = "ObjectLukaFk", insertable = false, updatable = false, nullable = false)
	private Integer lukaId;

	@Column(name = "isNormal", nullable = true)
	@Caption(value = "Is Normal")
	private Boolean isNormal;
	
	@ManyToOne
	@JoinColumn(name = "ObjectKeutuhanKulitFk")
	@Caption(value = "Object KeutuhanKulit")
	private StatusUtuhTidak keutuhanKulit;
	
	@Column(name = "ObjectKeutuhanKulitFk", insertable = false, updatable = false, nullable = true)
	private Integer keutuhanKulitId;
	
	
	public RegistrasiPelayananPasien getRegistrasiPelayananPasien() {
		return registrasiPelayananPasien;
	}

	public void setRegistrasiPelayananPasien(RegistrasiPelayananPasien registrasiPelayananPasien) {
		this.registrasiPelayananPasien = registrasiPelayananPasien;
	}

	public Pasien getPasien() {
		return pasien;
	}

	public void setPasien(Pasien pasien) {
		this.pasien = pasien;
	}

	public Date getTglInput() {
		return tglInput;
	}

	public void setTglInput(Date tglInput) {
		this.tglInput = tglInput;
	}

	public WarnaKulit getWarnaKulit() {
		return warnaKulit;
	}

	public void setWarnaKulit(WarnaKulit warnaKulit) {
		this.warnaKulit = warnaKulit;
	}

	public StatusAdaTidakAda getKelainan() {
		return kelainan;
	}

	public void setKelainan(StatusAdaTidakAda kelainan) {
		this.kelainan = kelainan;
	}

	public StatusAdaTidakAda getResikoDekubitos() {
		return resikoDekubitos;
	}

	public void setResikoDekubitos(StatusAdaTidakAda resikoDekubitos) {
		this.resikoDekubitos = resikoDekubitos;
	}

	public StatusAdaTidakAda getLuka() {
		return luka;
	}

	public void setLuka(StatusAdaTidakAda luka) {
		this.luka = luka;
	}

	public Boolean getIsNormal() {
		return isNormal;
	}

	public void setIsNormal(Boolean isNormal) {
		this.isNormal = isNormal;
	}

	public StatusUtuhTidak getKeutuhanKulit() {
		return keutuhanKulit;
	}

	public void setKeutuhanKulit(StatusUtuhTidak keutuhanKulit) {
		this.keutuhanKulit = keutuhanKulit;
	}
}
