package com.jasamedika.medifirst2000.vo;

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.*;
import org.joda.time.DateTime;
import org.hibernate.validator.constraints.NotEmpty;

import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
import com.jasamedika.medifirst2000.entities.AntrianPasienRegistrasi;
import com.jasamedika.medifirst2000.entities.PasienDaftar;

import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;

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

/**
 *  class StrukRetur
 * 
 * @author Generator
 */
public class StrukReturVO extends BaseTransactionVO {
	@ManyToOne
	@JoinColumn(name = "ObjectKelompokTransaksiFk")
	@Caption(value="Object Kelompok Transaksi")
	private KelompokTransaksiVO kelompokTransaksi;

	@Column(name = "ObjectKelompokTransaksiFk", insertable=false,updatable=false, nullable = true)
	private Integer kelompokTransaksiId;

	@ManyToOne
	@JoinColumn(name = "ObjectPegawaiPJawabFk")
	@Caption(value="Object Pegawai P Jawab")
	private LoginUserVO pegawaiPJawab;

	@Column(name = "ObjectPegawaiPJawabFk", insertable=false,updatable=false, nullable = true)
	private Integer pegawaiPJawabId;

	@ManyToOne
	@JoinColumn(name = "ObjectRuanganFk")
	@NotNull(message="Object Ruangan Harus Diisi")
	@Caption(value="Object Ruangan")
	private RuanganVO ruangan;

	@Column(name = "ObjectRuanganFk", insertable=false,updatable=false, nullable = false )
	private Integer ruanganId;

	@Caption(value="Keterangan Alasan")
	private String keteranganAlasan;

	public void setKeteranganAlasan(String keteranganalasan) {
		this.keteranganAlasan = keteranganalasan;
	}

	@Column(name = "KeteranganAlasan", nullable = true , length = 150)
	public String getKeteranganAlasan(){
		return this.keteranganAlasan;
	}

	@Caption(value="Keterangan Lainnya")
	private String keteranganLainnya;

	public void setKeteranganLainnya(String keteranganlainnya) {
		this.keteranganLainnya = keteranganlainnya;
	}

	@Column(name = "KeteranganLainnya", nullable = true , length = 100)
	public String getKeteranganLainnya(){
		return this.keteranganLainnya;
	}

	@Caption(value="No Retur")
	private String noRetur;

	public void setNoRetur(String noretur) {
		this.noRetur = noretur;
	}

	@Column(name = "NoRetur", nullable = false , length = 10)
	public String getNoRetur(){
		return this.noRetur;
	}

	@ManyToOne
	@JoinColumn(name = "NoSBKFk")
	@Caption(value="No S B K")
	private StrukBuktiPengeluaranVO noSBK;

	@Column(name = "NoSBKFk", insertable=false,updatable=false,nullable = true )
	private Integer noSBKId;

	@Caption(value="No Urut Login")
	private String noUrutLogin;

	public void setNoUrutLogin(String nourutlogin) {
		this.noUrutLogin = nourutlogin;
	}

	@Column(name = "NoUrutLogin", nullable = true , length = 10)
	public String getNoUrutLogin(){
		return this.noUrutLogin;
	}

	@Caption(value="No Urut Ruangan")
	private String noUrutRuangan;

	public void setNoUrutRuangan(String nourutruangan) {
		this.noUrutRuangan = nourutruangan;
	}

	@Column(name = "NoUrutRuangan", nullable = true , length = 10)
	public String getNoUrutRuangan(){
		return this.noUrutRuangan;
	}

	@Caption(value="Tanggal Retur")
	private Date tglRetur;

	public void setTglRetur(Date tglretur) {
		this.tglRetur = tglretur;
	}

	@Column(name = "TglRetur", nullable = false )
	public Date getTglRetur(){
		return this.tglRetur;
	}

	public KelompokTransaksiVO getKelompokTransaksi() {
		return kelompokTransaksi;
	}

	public void setKelompokTransaksi(KelompokTransaksiVO kelompokTransaksi) {
		this.kelompokTransaksi = kelompokTransaksi;
	}

	public RuanganVO getRuangan() {
		return ruangan;
	}

	public void setRuangan(RuanganVO ruangan) {
		this.ruangan = ruangan;
	}

	public LoginUserVO getPegawaiPJawab() {
		return pegawaiPJawab;
	}

	public void setPegawaiPJawab(LoginUserVO pegawaiPJawab) {
		this.pegawaiPJawab = pegawaiPJawab;
	}

	public StrukBuktiPengeluaranVO getNoSBK() {
		return noSBK;
	}

	public void setNoSBK(StrukBuktiPengeluaranVO noSBK) {
		this.noSBK = noSBK;
	}

}

