package com.jasamedika.medifirst2000.entities;

import java.util.Date;

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.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 *  class HargaNettoProdukByTerima
 * 
 * @author Generator
 */
@Entity
@Table(name = "HargaNettoProdukByTerima_T")
public class HargaNettoProdukByTerima extends BaseTransaction {
	@Caption(value="Factor Rate")
	@NotNull(message="Factor Rate tidak boleh kosong")
	@Column(name = "FactorRate", nullable = false )
	private Double factorRate;

	@Caption(value="Harga Discount")
	@NotNull(message="hargaDiscount tidak boleh kosong")
	@Column(name = "HargaDiscount", nullable = false )
	private Double hargaDiscount;

	@Caption(value="Harga Netto1")
	@NotNull(message="hargaDiscount tidak boleh kosong")
	@Column(name = "HargaNetto1", nullable = false )
	private Double hargaNetto1;

	@Caption(value="Harga Netto2")
	@NotNull(message="hargaDiscount tidak boleh kosong")
	@Column(name = "HargaNetto2", nullable = false )
	private Double hargaNetto2;

	@Caption(value="Harga Satuan")
	@NotNull(message="hargaDiscount tidak boleh kosong")
	@Column(name = "HargaSatuan", nullable = false )
	private Double hargaSatuan;

	@ManyToOne
	@JoinColumn(name = "ObjectAsalProdukFk")
	@NotNull(message="hargaDiscount tidak boleh kosong")
	@Caption(value="Object Asal Produk")
	private AsalProduk asalProduk;

	@Column(name = "ObjectAsalProdukFk", insertable=false,updatable=false,nullable = false)
	private Integer asalProdukId;

	@ManyToOne
	@JoinColumn(name = "ObjectMataUangFk")
	@Caption(value="Object Mata Uang")
	private MataUang mataUang;

	@Column(name = "ObjectMataUangFk", insertable=false,updatable=false)
	private Integer mataUangId;

	@ManyToOne
	@JoinColumn(name = "ObjectProdukFk")
	@NotNull(message="Object Produk Harus Diisi")
	@Caption(value="Object Produk")
	private Produk produk;

	@Column(name = "ObjectProdukFk", insertable=false,updatable=false,nullable = false)
	private Integer produkId;

	@ManyToOne
	@JoinColumn(name = "NoStrukTerimaFk")
	@Caption(value="No Struk Terima")
	private StrukPelayanan noStrukTerima;

	@Column(name = "NoStrukTerimaFk", insertable=false,updatable=false)
	private String noStrukTerimaId;
	
	@Caption(value="Persen Discount")
	@Column(name = "PersenDiscount", nullable = true )
	private Double persenDiscount;

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

	@Caption(value="Qty Produk Out Ext")
	@Column(name = "QtyProdukOutExt", nullable = true )
	private Double qtyProdukOutExt;

	@Caption(value="Qty Produk Out Int")
	@Column(name = "QtyProdukOutInt", nullable = true )
	private Double qtyProdukOutInt;

	@Caption(value="Tanggal Kadaluarsa Last")
	@Column(name = "TglKadaluarsaLast", nullable = true )
	private Date tglKadaluarsaLast;

	public Double getFactorRate() {
		return factorRate;
	}

	public void setFactorRate(Double factorRate) {
		this.factorRate = factorRate;
	}

	public Double getHargaDiscount() {
		return hargaDiscount;
	}

	public void setHargaDiscount(Double hargaDiscount) {
		this.hargaDiscount = hargaDiscount;
	}

	public Double getHargaNetto1() {
		return hargaNetto1;
	}

	public void setHargaNetto1(Double hargaNetto1) {
		this.hargaNetto1 = hargaNetto1;
	}

	public Double getHargaNetto2() {
		return hargaNetto2;
	}

	public void setHargaNetto2(Double hargaNetto2) {
		this.hargaNetto2 = hargaNetto2;
	}

	public Double getHargaSatuan() {
		return hargaSatuan;
	}

	public void setHargaSatuan(Double hargaSatuan) {
		this.hargaSatuan = hargaSatuan;
	}

	public AsalProduk getAsalProduk() {
		return asalProduk;
	}

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

	public Integer getAsalProdukId() {
		return asalProdukId;
	}

	public void setAsalProdukId(Integer asalProdukId) {
		this.asalProdukId = asalProdukId;
	}

	public MataUang getMataUang() {
		return mataUang;
	}

	public void setMataUang(MataUang mataUang) {
		this.mataUang = mataUang;
	}

	public Integer getMataUangId() {
		return mataUangId;
	}

	public void setMataUangId(Integer mataUangId) {
		this.mataUangId = mataUangId;
	}

	public Produk getProduk() {
		return produk;
	}

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

	public Integer getProdukId() {
		return produkId;
	}

	public void setProdukId(Integer produkId) {
		this.produkId = produkId;
	}

	public StrukPelayanan getNoStrukTerima() {
		return noStrukTerima;
	}

	public void setNoStrukTerima(StrukPelayanan noStrukTerima) {
		this.noStrukTerima = noStrukTerima;
	}

	public String getNoStrukTerimaId() {
		return noStrukTerimaId;
	}

	public void setNoStrukTerimaId(String noStrukTerimaId) {
		this.noStrukTerimaId = noStrukTerimaId;
	}

	public Double getPersenDiscount() {
		return persenDiscount;
	}

	public void setPersenDiscount(Double persenDiscount) {
		this.persenDiscount = persenDiscount;
	}

	public Double getQtyProduk() {
		return qtyProduk;
	}

	public void setQtyProduk(Double qtyProduk) {
		this.qtyProduk = qtyProduk;
	}

	public Double getQtyProdukOutExt() {
		return qtyProdukOutExt;
	}

	public void setQtyProdukOutExt(Double qtyProdukOutExt) {
		this.qtyProdukOutExt = qtyProdukOutExt;
	}

	public Double getQtyProdukOutInt() {
		return qtyProdukOutInt;
	}

	public void setQtyProdukOutInt(Double qtyProdukOutInt) {
		this.qtyProdukOutInt = qtyProdukOutInt;
	}

	public Date getTglKadaluarsaLast() {
		return tglKadaluarsaLast;
	}

	public void setTglKadaluarsaLast(Date tglKadaluarsaLast) {
		this.tglKadaluarsaLast = tglKadaluarsaLast;
	}

}

