package com.jasamedika.medifirst2000.entities;

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.fasterxml.jackson.annotation.JsonBackReference;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;

/**
 *  class CekKelengkapanAlkesDetail
 * 
 * @author shakato
 */
@Entity //@Audited
@Table(name = "CekKelengkapanAlkesDetail_T")
public class CekKelengkapanAlkesDetail extends BaseTransaction {
	
	@ManyToOne
	@JoinColumn(name = "ObjectSignOutOperationFk")
	@Caption(value = "ID SignOutOperation")
	@NotNull(message = "ID signOutOperation tidak boleh kosong")
	private SignOutOperation signOutOperation;
	
	@Column(name = "ObjectSignOutOperationFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
	private String signOutOperationId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectCekKelengkapanAlkesFk")
	@Caption(value = "ID CekKelengkapanAlkes")
	@NotNull(message = "ID CekKelengkapanAlkes tidak boleh kosong")
	private CekKelengkapanAlkes cekKelengkapanAlkes;
	
	@Column(name = "ObjectCekKelengkapanAlkesFk", insertable = false, updatable = false, nullable = false)
	private Integer cekKelengkapanAlkesId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectStatusLengkapTidakLengkapFk")
	@Caption(value = "ID StatusLengkapTidakLengkap")
	@NotNull(message = "ID StatusLengkapTidakLengkap tidak boleh kosong")
	private StatusLengkapTidakLengkap statusLengkapTidakLengkap;
	
	@Column(name = "ObjectStatusLengkapTidakLengkapFk", insertable = false, updatable = false, nullable = false)
	private Integer statusLengkapTidakLengkapId;
	
	@Column(name = "Keterangan", nullable = true)
	@Caption(value = "Keterangan")
	private String keterangan;

	public SignOutOperation getSignOutOperation() {
		return signOutOperation;
	}

	public void setSignOutOperation(SignOutOperation signOutOperation) {
		this.signOutOperation = signOutOperation;
	}

	public String getSignOutOperationId() {
		return signOutOperationId;
	}

	public void setSignOutOperationId(String signOutOperationId) {
		this.signOutOperationId = signOutOperationId;
	}

	public CekKelengkapanAlkes getCekKelengkapanAlkes() {
		return cekKelengkapanAlkes;
	}

	public void setCekKelengkapanAlkes(CekKelengkapanAlkes cekKelengkapanAlkes) {
		this.cekKelengkapanAlkes = cekKelengkapanAlkes;
	}

	public Integer getCekKelengkapanAlkesId() {
		return cekKelengkapanAlkesId;
	}

	public void setCekKelengkapanAlkesId(Integer cekKelengkapanAlkesId) {
		this.cekKelengkapanAlkesId = cekKelengkapanAlkesId;
	}

	public StatusLengkapTidakLengkap getStatusLengkapTidakLengkap() {
		return statusLengkapTidakLengkap;
	}

	public void setStatusLengkapTidakLengkap(StatusLengkapTidakLengkap statusLengkapTidakLengkap) {
		this.statusLengkapTidakLengkap = statusLengkapTidakLengkap;
	}

	public Integer getStatusLengkapTidakLengkapId() {
		return statusLengkapTidakLengkapId;
	}

	public void setStatusLengkapTidakLengkapId(Integer statusLengkapTidakLengkapId) {
		this.statusLengkapTidakLengkapId = statusLengkapTidakLengkapId;
	}

	public String getKeterangan() {
		return keterangan;
	}

	public void setKeterangan(String keterangan) {
		this.keterangan = keterangan;
	}
	
}