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.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.validation.constraints.NotNull;

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

/**
 * class StrukKirim
 * 
 * @author Generator
 */
public class StrukKirimVO extends BaseTransactionVO {

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "noKirim")
	private Set<KirimProdukVO> kirimProduk = new HashSet<KirimProdukVO>();

	public Set<KirimProdukVO> getKirimProduk() {
		return kirimProduk;
	}

	public void setKirimProduk(Set<KirimProdukVO> kirimProduk) {
		this.kirimProduk = kirimProduk;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectPegawaiPenerimaFk")
	@Caption(value = "Object Pegawai Penerima")
	private PegawaiVO kdpegawaipenerima;

	@ManyToOne
	@JoinColumn(name = "ObjectPegawaiPengirimFk")
	@Caption(value = "Object Pegawai Pengirim")
	private PegawaiVO kdpegawaipengirim;

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

	@ManyToOne
	@JoinColumn(name = "ObjectRuanganAsalFk")
	@NotNull(message = "Object Ruangan Asal Harus Diisi")
	@Caption(value = "Object Ruangan Asal")
	private RuanganVO kdruanganasal;

	@ManyToOne
	@JoinColumn(name = "ObjectRuanganTujuanFk")
	@Caption(value = "Object Ruangan Tujuan")
	private RuanganVO kdruangantujuan;

	@Caption(value = "Keterangan Lainnya Kirim")
	@Column(name = "KeteranganLainnyaKirim", nullable = true, length = 150)
	private String keteranganlainnyakirim;

	@Caption(value = "Keterangan Lainnya Terima")
	@Column(name = "KeteranganLainnyaTerima", nullable = true, length = 150)
	private String keteranganlainnyaterima;

	@Caption(value = "Nama Penerima")
	@Column(name = "NamaPenerima", nullable = true, length = 40)
	private String namapenerima;

	@Caption(value = "No Kirim")
	@Column(name = "NoKirim", nullable = false, length = 10)
	private String nokirim;

	@Caption(value = "No Kirim_ Intern")
	@Column(name = "NoKirim_Intern", nullable = true, length = 15)
	private String nokirim_intern;

	@ManyToOne
	@JoinColumn(name = "NoOrderFk")
	@Caption(value = "No Order")
	private StrukOrderVO noorder;

	@ManyToOne
	@JoinColumn(name = "NoStrukFk")
	@Caption(value = "No Struk")
	private StrukPelayananVO nostruk;

	@ManyToOne
	@JoinColumn(name = "NoStruk_TFk")
	@Caption(value = "No Struk_ T")
	private StrukPelayananVO nostruk_t;

	@Caption(value = "No Urut Login")
	@Column(name = "NoUrutLogin", nullable = true, length = 10)
	private String nourutlogin;

	@Caption(value = "No Urut Ruangan")
	@Column(name = "NoUrutRuangan", nullable = true, length = 10)
	private String nourutruangan;

	@Caption(value = "Qty Detail Jenis Produk")
	@Column(name = "QtyDetailJenisProduk", nullable = false)
	private Double qtydetailjenisproduk;

	@Caption(value = "Qty Produk")
	@Column(name = "QtyProduk", nullable = false)
	private Double qtyproduk;

	@Caption(value = "Tanggal Kirim")
	@Column(name = "TglKirim", nullable = false)
	private Date tglkirim;

	@Caption(value = "Total Bea Materai")
	@Column(name = "TotalBeaMaterai", nullable = false)
	private Double totalbeamaterai;

	@Caption(value = "Total Berat Kg")
	@Column(name = "TotalBeratKg", nullable = true)
	private Double totalberatkg;

	@Caption(value = "Total Biaya Kirim")
	@Column(name = "TotalBiayaKirim", nullable = false)
	private Double totalbiayakirim;

	@Caption(value = "Total Biaya Tambahan")
	@Column(name = "TotalBiayaTambahan", nullable = false)
	private Double totalbiayatambahan;

	@Caption(value = "Total Discount")
	@Column(name = "TotalDiscount", nullable = false)
	private Double totaldiscount;

	@Caption(value = "Total Harga Satuan")
	@Column(name = "TotalHargaSatuan", nullable = false)
	private Double totalhargasatuan;

	@Caption(value = "Total Harus Di Bayar")
	@Column(name = "TotalHarusDiBayar", nullable = false)
	private Double totalharusdibayar;

	@Caption(value = "Total P P H")
	@Column(name = "TotalPPH", nullable = false)
	private Double totalpph;

	@Caption(value = "Total P P N")
	@Column(name = "TotalPPN", nullable = false)
	private Double totalppn;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "LimbahB3KeluarFk")
	@Caption(value = "Limbah B3 Keluar")
	private LimbahB3KeluarVO limbahB3Keluar;

	public PegawaiVO getKdpegawaipenerima() {
		return kdpegawaipenerima;
	}

	public void setKdpegawaipenerima(PegawaiVO kdpegawaipenerima) {
		this.kdpegawaipenerima = kdpegawaipenerima;
	}

	public PegawaiVO getKdpegawaipengirim() {
		return kdpegawaipengirim;
	}

	public void setKdpegawaipengirim(PegawaiVO kdpegawaipengirim) {
		this.kdpegawaipengirim = kdpegawaipengirim;
	}

	public RuanganVO getKdruangan() {
		return kdruangan;
	}

	public void setKdruangan(RuanganVO kdruangan) {
		this.kdruangan = kdruangan;
	}

	public RuanganVO getKdruanganasal() {
		return kdruanganasal;
	}

	public void setKdruanganasal(RuanganVO kdruanganasal) {
		this.kdruanganasal = kdruanganasal;
	}

	public RuanganVO getKdruangantujuan() {
		return kdruangantujuan;
	}

	public void setKdruangantujuan(RuanganVO kdruangantujuan) {
		this.kdruangantujuan = kdruangantujuan;
	}

	public String getKeteranganlainnyakirim() {
		return keteranganlainnyakirim;
	}

	public void setKeteranganlainnyakirim(String keteranganlainnyakirim) {
		this.keteranganlainnyakirim = keteranganlainnyakirim;
	}

	public String getKeteranganlainnyaterima() {
		return keteranganlainnyaterima;
	}

	public void setKeteranganlainnyaterima(String keteranganlainnyaterima) {
		this.keteranganlainnyaterima = keteranganlainnyaterima;
	}

	public String getNamapenerima() {
		return namapenerima;
	}

	public void setNamapenerima(String namapenerima) {
		this.namapenerima = namapenerima;
	}

	public String getNokirim() {
		return nokirim;
	}

	public void setNokirim(String nokirim) {
		this.nokirim = nokirim;
	}

	public String getNokirim_intern() {
		return nokirim_intern;
	}

	public void setNokirim_intern(String nokirim_intern) {
		this.nokirim_intern = nokirim_intern;
	}

	public StrukOrderVO getNoorder() {
		return noorder;
	}

	public void setNoorder(StrukOrderVO noorder) {
		this.noorder = noorder;
	}

	public StrukPelayananVO getNostruk() {
		return nostruk;
	}

	public void setNostruk(StrukPelayananVO nostruk) {
		this.nostruk = nostruk;
	}

	public StrukPelayananVO getNostruk_t() {
		return nostruk_t;
	}

	public void setNostruk_t(StrukPelayananVO nostruk_t) {
		this.nostruk_t = nostruk_t;
	}

	public String getNourutlogin() {
		return nourutlogin;
	}

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

	public String getNourutruangan() {
		return nourutruangan;
	}

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

	public Double getQtydetailjenisproduk() {
		return qtydetailjenisproduk;
	}

	public void setQtydetailjenisproduk(Double qtydetailjenisproduk) {
		this.qtydetailjenisproduk = qtydetailjenisproduk;
	}

	public Double getQtyproduk() {
		return qtyproduk;
	}

	public void setQtyproduk(Double qtyproduk) {
		this.qtyproduk = qtyproduk;
	}

	public Date getTglkirim() {
		return tglkirim;
	}

	public void setTglkirim(Date tglkirim) {
		this.tglkirim = tglkirim;
	}

	public Double getTotalbeamaterai() {
		return totalbeamaterai;
	}

	public void setTotalbeamaterai(Double totalbeamaterai) {
		this.totalbeamaterai = totalbeamaterai;
	}

	public Double getTotalberatkg() {
		return totalberatkg;
	}

	public void setTotalberatkg(Double totalberatkg) {
		this.totalberatkg = totalberatkg;
	}

	public Double getTotalbiayakirim() {
		return totalbiayakirim;
	}

	public void setTotalbiayakirim(Double totalbiayakirim) {
		this.totalbiayakirim = totalbiayakirim;
	}

	public Double getTotalbiayatambahan() {
		return totalbiayatambahan;
	}

	public void setTotalbiayatambahan(Double totalbiayatambahan) {
		this.totalbiayatambahan = totalbiayatambahan;
	}

	public Double getTotaldiscount() {
		return totaldiscount;
	}

	public void setTotaldiscount(Double totaldiscount) {
		this.totaldiscount = totaldiscount;
	}

	public Double getTotalhargasatuan() {
		return totalhargasatuan;
	}

	public void setTotalhargasatuan(Double totalhargasatuan) {
		this.totalhargasatuan = totalhargasatuan;
	}

	public Double getTotalharusdibayar() {
		return totalharusdibayar;
	}

	public void setTotalharusdibayar(Double totalharusdibayar) {
		this.totalharusdibayar = totalharusdibayar;
	}

	public Double getTotalpph() {
		return totalpph;
	}

	public void setTotalpph(Double totalpph) {
		this.totalpph = totalpph;
	}

	public Double getTotalppn() {
		return totalppn;
	}

	public void setTotalppn(Double totalppn) {
		this.totalppn = totalppn;
	}

	public LimbahB3KeluarVO getLimbahB3Keluar() {
		return limbahB3Keluar;
	}

	public void setLimbahB3Keluar(LimbahB3KeluarVO limbahB3Keluar) {
		this.limbahB3Keluar = limbahB3Keluar;
	}

	// add by Arya 2017-02-09
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "strukKirim")
	private Set<MappingKirimDokumenPasienVO> mapKirimDokumenPasien = new HashSet<MappingKirimDokumenPasienVO>();
	// end add by Arya 2017-02-09

	public Set<MappingKirimDokumenPasienVO> getMapKirimDokumenPasien() {
		return mapKirimDokumenPasien;
	}

	public void setMapKirimDokumenPasien(Set<MappingKirimDokumenPasienVO> mapKirimDokumenPasien) {
		this.mapKirimDokumenPasien = mapKirimDokumenPasien;
	}

}
