package com.jasamedika.medifirst2000.vo;

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

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.BaseMasterVO;
import com.jasamedika.medifirst2000.entities.KartuPengendaliDetail;
import com.jasamedika.medifirst2000.entities.StrukPelayananDetail;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 *  class Penerimaaan Barang Detail VO
 * 
 * @author Generator
 */
public class PenerimaanBarangDetailVO extends BaseMasterVO {
	
	@ManyToOne
	@Caption(value="produk")
	private ProdukVO produk;
	
	@ManyToOne
	@Caption(value="Asal Produk")
	private AsalProdukVO asalProduk;

	@Caption(value="Quantity Produk")
	@Column(name = "QtyProduk", nullable = true )
	private Double qtyproduk;
	
	@ManyToOne
	@Caption(value="Satuan")
	private SatuanStandarVO satuan;
	
	@Caption(value="Jumlah Terima")
	@Column(name = "jumlahTerima", nullable = true )
	private Double jumlahTerima;
	
	@Caption(value="Volume Minta")
	@Column(name = "volumeMinta", nullable = true )
	private Double volumeMinta;
	
	@ManyToOne
	@Caption(value="Satuan")
	private SatuanStandarVO satuanTerima;
	
	@ManyToOne
	@Caption(value="Kondisi Barang")
	private KondisiBarangVO kondisiBarang;
	
	@Caption(value="Harga")
	@Column(name = "haarga", nullable = true )
	private Double harga;
	

	@Caption(value="discount")
	@Column(name = "discount", nullable = true )
	private Double discount;
	
	@Caption(value="ppn")
	@Column(name = "ppn", nullable = true )
	private Double ppn;
	
	@Caption(value="tglKadaluarsa")
	@Column(name = "tanggalKadaluarsa", nullable = true )
	private Date tanggalKadaluarsa;
	
	@Caption(value="no Batch")
	@Column(name = "tanggalKadaluarsa", nullable = true )
	private String noBatch;
	
	@Caption(value="Qty Kontrak")
	@Column(name = "qtyKontrak" )
	@NotNull(message="Qty Kontrak Harus Terisi")
	private Double qtyKontrak;
	
	@ManyToOne
	@Caption(value = "Kartu Pengendali Detail")
	private KartuPengendaliDetailVO kartuPengendaliDetail;
	
	@ManyToOne
	@Caption(value="Object Struk Pelayanan")
	private StrukPelayananDetailVO strukPelayananDetail;
	
	@OneToMany
	private List<RegistrasiAsetVO> registrasiAset=new ArrayList<RegistrasiAsetVO>();
	
	@OneToMany
	private Set<DetilPenerimaanVO> detilPenerimaan=new HashSet<DetilPenerimaanVO>();
	
	public ProdukVO getProduk() {
		return produk;
	}

	public void setProduk(ProdukVO produk) {
		this.produk = produk;
	}

	public AsalProdukVO getAsalProduk() {
		return asalProduk;
	}

	public void setAsalProduk(AsalProdukVO asalProduk) {
		this.asalProduk = asalProduk;
	}

	public Double getQtyproduk() {
		return qtyproduk;
	}

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

	public SatuanStandarVO getSatuan() {
		return satuan;
	}

	public void setSatuan(SatuanStandarVO satuan) {
		this.satuan = satuan;
	}

	public Double getJumlahTerima() {
		return jumlahTerima;
	}

	public void setJumlahTerima(Double jumlahTerima) {
		this.jumlahTerima = jumlahTerima;
	}

	public SatuanStandarVO getSatuanTerima() {
		return satuanTerima;
	}

	public void setSatuanTerima(SatuanStandarVO satuanTerima) {
		this.satuanTerima = satuanTerima;
	}

	public Double getHarga() {
		return harga;
	}

	public void setHarga(Double harga) {
		this.harga = harga;
	}

	public Double getDiscount() {
		return discount;
	}

	public void setDiscount(Double discount) {
		this.discount = discount;
	}

	public Date getTanggalKadaluarsa() {
		return tanggalKadaluarsa;
	}

	public void setTanggalKadaluarsa(Date tanggalKadaluarsa) {
		this.tanggalKadaluarsa = tanggalKadaluarsa;
	}

	public String getNoBatch() {
		return noBatch;
	}

	public void setNoBatch(String noBatch) {
		this.noBatch = noBatch;
	}

	public List<RegistrasiAsetVO> getRegistrasiAset() {
		return registrasiAset;
	}

	public void setRegistrasiAset(List<RegistrasiAsetVO> registrasiAset) {
		this.registrasiAset = registrasiAset;
	}

	public Double getPpn() {
		return ppn;
	}

	public void setPpn(Double ppn) {
		this.ppn = ppn;
	}

	public Double getQtyKontrak() {
		return qtyKontrak;
	}

	public void setQtyKontrak(Double qtyKontrak) {
		this.qtyKontrak = qtyKontrak;
	}

	public KartuPengendaliDetailVO getKartuPengendaliDetail() {
		return kartuPengendaliDetail;
	}

	public void setKartuPengendaliDetail(KartuPengendaliDetailVO kartuPengendaliDetail) {
		this.kartuPengendaliDetail = kartuPengendaliDetail;
	}

	public Double getVolumeMinta() {
		return volumeMinta;
	}

	public void setVolumeMinta(Double volumeMinta) {
		this.volumeMinta = volumeMinta;
	}

	public KondisiBarangVO getKondisiBarang() {
		return kondisiBarang;
	}

	public void setKondisiBarang(KondisiBarangVO kondisiBarang) {
		this.kondisiBarang = kondisiBarang;
	}

	public StrukPelayananDetailVO getStrukPelayananDetail() {
		return strukPelayananDetail;
	}

	public void setStrukPelayananDetail(StrukPelayananDetailVO strukPelayananDetail) {
		this.strukPelayananDetail = strukPelayananDetail;
	}

	public Set<DetilPenerimaanVO> getDetilPenerimaan() {
		return detilPenerimaan;
	}

	public void setDetilPenerimaan(Set<DetilPenerimaanVO> detilPenerimaan) {
		this.detilPenerimaan = detilPenerimaan;
	}

	
	
	
	
}

