package com.jasamedika.medifirst2000.vo;

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

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.validation.Valid;

import org.hibernate.validator.constraints.NotEmpty;

import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;

public class RequestBarangDariRuanganVO extends BaseTransactionVO {

	@Caption(value = "No Order")
	private String noOrder;

	@Caption(value = "Tgl Order")
	private Date tglOrder;
	
	@Caption(value = "Keterangan")
	private String keterangan;

	@ManyToOne
	@JoinColumn(name = "ObjectStatusBarangFk")
	@Caption(value = "Object Status Barang")
	private StatusBarangVO statusBarang;

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

	
	@ManyToOne
	@JoinColumn(name = "ObjectRuanganFk")
	@Caption(value = "Object Ruangan")
	private RuanganVO ruanganTujuan;
	

	@ManyToOne
	@Caption(value = "Jenis Permintaan")
	private JenisPermintaanVO jenisPermintaanVO;
	
	@ManyToOne
	@Caption(value = "Pegawai Kirim")
	private PegawaiVO pegawaiKirim;
	
	@ManyToOne
	@Caption(value = "pegawai Mengeahui")
	private PegawaiVO pegawaiMengetahui;
	
	@ManyToOne
	@Caption(value = "pegawai Mengeahui")
	private PegawaiVO pegawaiPenangggungJawab;

	@OneToMany
	@NotEmpty(message="Detail Kirim Tidak boleh kosong")
	@Valid
	private Set<RequestBarangDariRuanganDetailVO> requestBarangDariRuanganDetail = new HashSet<RequestBarangDariRuanganDetailVO>();

	public String getNoOrder() {
		return noOrder;
	}

	public void setNoOrder(String noOrder) {
		this.noOrder = noOrder;
	}

	public Date getTglOrder() {
		return tglOrder;
	}

	public void setTglOrder(Date tglOrder) {
		this.tglOrder = tglOrder;
	}

	public StatusBarangVO getStatusBarang() {
		return statusBarang;
	}

	public void setStatusBarang(StatusBarangVO statusBarang) {
		this.statusBarang = statusBarang;
	}

	public RuanganVO getRuangan() {
		return ruangan;
	}

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

	public RuanganVO getRuanganTujuan() {
		return ruanganTujuan;
	}

	public void setRuanganTujuan(RuanganVO ruanganTujuan) {
		this.ruanganTujuan = ruanganTujuan;
	}

	public JenisPermintaanVO getJenisPermintaanVO() {
		return jenisPermintaanVO;
	}

	public void setJenisPermintaanVO(JenisPermintaanVO jenisPermintaanVO) {
		this.jenisPermintaanVO = jenisPermintaanVO;
	}

	public Set<RequestBarangDariRuanganDetailVO> getRequestBarangDariRuanganDetail() {
		return requestBarangDariRuanganDetail;
	}

	public void setRequestBarangDariRuanganDetail(Set<RequestBarangDariRuanganDetailVO> requestBarangDariRuanganDetail) {
		this.requestBarangDariRuanganDetail = requestBarangDariRuanganDetail;
	}

	public PegawaiVO getPegawaiKirim() {
		return pegawaiKirim;
	}

	public void setPegawaiKirim(PegawaiVO pegawaiKirim) {
		this.pegawaiKirim = pegawaiKirim;
	}

	public PegawaiVO getPegawaiMengetahui() {
		return pegawaiMengetahui;
	}

	public void setPegawaiMengetahui(PegawaiVO pegawaiMengetahui) {
		this.pegawaiMengetahui = pegawaiMengetahui;
	}

	public PegawaiVO getPegawaiPenangggungJawab() {
		return pegawaiPenangggungJawab;
	}

	public void setPegawaiPenangggungJawab(PegawaiVO pegawaiPenangggungJawab) {
		this.pegawaiPenangggungJawab = pegawaiPenangggungJawab;
	}

	public String getKeterangan() {
		return keterangan;
	}

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

	

}
