package com.jasamedika.medifirst2000.vo;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;

import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 *  class HargaNettoDiscPasienPulang
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "HargaNettoDiscPasienPulang_M")
public class HargaNettoDiscPasienPulangVO extends BaseMasterVO {
	@Caption(value="Harga Discount")
	private Double hargaDiscount;

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

	@Column(name = "HargaDiscount", nullable = true )
	public Double getHargaDiscount(){
		return this.hargaDiscount;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectKomponenHargaFk")
	@NotNull(message="Object Komponen Harga Harus Diisi")
	@Caption(value="Object Komponen Harga")
	private KomponenHargaVO komponenHarga;

	public void setKomponenHarga(KomponenHargaVO komponenHarga) {
		this.komponenHarga = komponenHarga;
	}

	@Column(name = "KdKomponenHarga", nullable = false )
	public KomponenHargaVO getKomponenHarga(){
		return this.komponenHarga;
	}

	@Column(name = "ObjectKomponenHargaFk", insertable=false,updatable=false)
	private Integer komponenHargaId;

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

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

	@Column(name = "KdProduk", nullable = false , length = 6)
	public ProdukVO getProduk(){
		return this.produk;
	}

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

	@ManyToOne
	@JoinColumn(name = "ObjectRangeFk")
	@NotNull(message="Object RangeVO Harus Diisi")
	@Caption(value="Object Range")
	private RangeVO range;

	public void setRange(RangeVO range) {
		this.range = range;
	}

	@Column(name = "KdRange", nullable = false )
	public RangeVO getRange(){
		return this.range;
	}

	@Column(name = "ObjectRangeFk", insertable=false,updatable=false)
	private Integer rangeId;

	@Caption(value="Persen Discount")
	private Double persenDiscount;

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

	@Column(name = "PersenDiscount", nullable = false )
	public Double getPersenDiscount(){
		return this.persenDiscount;
	}

	@Caption(value="Tanggal Berlaku Akhir")
	private Date tglBerlakuAkhir;

	public void setTglBerlakuAkhir(Date tglBerlakuAkhir) {
		this.tglBerlakuAkhir = tglBerlakuAkhir;
	}

	@Column(name = "TglBerlakuAkhir", nullable = true )
	public Date getTglBerlakuAkhir(){
		return this.tglBerlakuAkhir;
	}

	@Caption(value="Tanggal Berlaku Awal")
	private Date tglBerlakuAwal;

	public void setTglBerlakuAwal(Date tglBerlakuAwal) {
		this.tglBerlakuAwal = tglBerlakuAwal;
	}

	@Column(name = "TglBerlakuAwal", nullable = false )
	public Date getTglBerlakuAwal(){
		return this.tglBerlakuAwal;
	}


}

