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

@Entity // @Audited
@Table(name = "RM_DetailAktivitasKemandirian_M")
public class DetailAktivitasKemandirian extends BaseTransaction {

	@ManyToOne
	@JoinColumn(name = "objectTransferPasienInternalFk")
	@Caption(value = "Transfer Pasien Internal")
	@JsonBackReference
	private TransferPasienInternal transferPasienInternal;

	@Column(name = "objectTransferPasienInternalFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String transferPasienInternalId;

	@ManyToOne
	@JoinColumn(name = "objectTransferPasienExsternalFk")
	@Caption(value = "Transfer Pasien Exsternal")
	@JsonBackReference
	private TransferPasienExsternal transferPasienExsternal;

	@Column(name = "objectTransferPasienExsternalFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String transferPasienExsternalId;

	@ManyToOne
	@JoinColumn(name = "ObjectStatusMandiriFk")
	@Caption(value = "Object Status Mandiri")
	private StatusMandiri statusMandiri;

	@Column(name = "ObjectStatusMandiriFk", insertable = false, updatable = false)
	private Integer statusMandiriId;

	@ManyToOne
	@JoinColumn(name = "ObjectAktivitasKeandirianFk")
	@Caption(value = "Object Aktivias Kemandirian")
	private AktivitasKemandirian aktivitasKemandirian;

	@Column(name = "ObjectAktivitasKeandirianFk", insertable = false, updatable = false)
	private Integer aktivitasKemandirianId;

	public StatusMandiri getStatusMandiri() {
		return statusMandiri;
	}

	public void setStatusMandiri(StatusMandiri statusMandiri) {
		this.statusMandiri = statusMandiri;
	}

	public Integer getStatusMandiriId() {
		return statusMandiriId;
	}

	public void setStatusMandiriId(Integer statusMandiriId) {
		this.statusMandiriId = statusMandiriId;
	}

	public AktivitasKemandirian getAktivitasKemandirian() {
		return aktivitasKemandirian;
	}

	public void setAktivitasKemandirian(AktivitasKemandirian aktivitasKemandirian) {
		this.aktivitasKemandirian = aktivitasKemandirian;
	}

	public Integer getAktivitasKemandirianId() {
		return aktivitasKemandirianId;
	}

	public void setAktivitasKemandirianId(Integer aktivitasKemandirianId) {
		this.aktivitasKemandirianId = aktivitasKemandirianId;
	}

	public TransferPasienInternal getTransferPasienInternal() {
		return transferPasienInternal;
	}

	public void setTransferPasienInternal(TransferPasienInternal transferPasienInternal) {
		this.transferPasienInternal = transferPasienInternal;
	}

	public String getTransferPasienInternalId() {
		return transferPasienInternalId;
	}

	public void setTransferPasienInternalId(String transferPasienInternalId) {
		this.transferPasienInternalId = transferPasienInternalId;
	}

	public TransferPasienExsternal getTransferPasienExsternal() {
		return transferPasienExsternal;
	}

	public void setTransferPasienExsternal(TransferPasienExsternal transferPasienExsternal) {
		this.transferPasienExsternal = transferPasienExsternal;
	}

	public String getTransferPasienExsternalId() {
		return transferPasienExsternalId;
	}

	public void setTransferPasienExsternalId(String transferPasienExsternalId) {
		this.transferPasienExsternalId = transferPasienExsternalId;
	}

}