package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;
import com.jasamedika.medifirst2000.vo.ProdukVO;

@Entity //@Audited
@Table(name="PelayananTpn_T")
public class PelayananTpn extends BaseTransaction{
	@JsonBackReference
	@ManyToOne
	@JoinColumn(name = "ObjectPelayananProduksiFk")
	@NotNull(message = "PelayananProduksi tidak boleh kosong")
	private PelayananProduksi pelayananProduksi;
	
	@Column(name = "ObjectPelayananProduksiFk", insertable = false, updatable = false, nullable = false)
	private String pelayananProduksiId;

	@ManyToOne
	@JoinColumn(name = "ObjectOrderTpnFk")
	@NotNull(message = "PelayananProduksi tidak boleh kosong")
	private OrderTpn orderTpn;

	@Column(name = "ObjectOrderTpnFk", insertable = false, updatable = false, nullable = false)
	private Integer orderTpnId;

	@NotNull(message="per24Jam tidak boleh kosong")
	@Column(name = "per24Jam", nullable = false, length = 100)
	@Caption(value = "per24Jam")
	private String per24;
	
	@JsonBackReference
	@ManyToOne
	@JoinColumn(name = "ObjectOrderFk")
	@NotNull(message = "Order tidak boleh kosong")
	private Produk order;
	
	@Column(name = "ObjectOrderFk", insertable = false, updatable = false, nullable = false)
	private Integer orderId;

	@NotNull(message="satuan tidak boleh kosong")
	@Column(name = "satuan", nullable = false, length = 100)
	@Caption(value = "satuan")
	private String satuan;

	@NotNull(message="kebutuhan tidak boleh kosong")
	@Column(name = "kebutuhan", nullable = false, length = 100)
	@Caption(value = "kebutuhan")
	private String kebutuhan;
	
	@NotNull(message="qtyDipakai tidak boleh kosong")
	@Column(name = "qtyDipakai", nullable = false, length = 100)
	@Caption(value = "qtyDipakai")
	private String qty;
	
	@NotNull(message="harga tidak boleh kosong")
	@Column(name = "harga", nullable = false, length = 100)
	@Caption(value = "harga")
	private Double harga;

	@NotNull(message="subTotal tidak boleh kosong")
	@Column(name = "subTotal", nullable = false, length = 100)
	@Caption(value = "subTotal")
	private Double subTotal;

	public PelayananProduksi getPelayananProduksi() {
		return pelayananProduksi;
	}

	public void setPelayananProduksi(PelayananProduksi pelayananProduksi) {
		this.pelayananProduksi = pelayananProduksi;
	}

	public OrderTpn getOrderTpn() {
		return orderTpn;
	}

	public void setOrderTpn(OrderTpn orderTpn) {
		this.orderTpn = orderTpn;
	}

	public String getPer24() {
		return per24;
	}

	public void setPer24(String per24) {
		this.per24 = per24;
	}

	public Produk getOrder() {
		return order;
	}

	public void setOrder(Produk order) {
		this.order = order;
	}

	public String getSatuan() {
		return satuan;
	}

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

	public String getKebutuhan() {
		return kebutuhan;
	}

	public void setKebutuhan(String kebutuhan) {
		this.kebutuhan = kebutuhan;
	}

	public String getQty() {
		return qty;
	}

	public void setQty(String qty) {
		this.qty = qty;
	}

	public Double getHarga() {
		return harga;
	}

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

	public Double getSubTotal() {
		return subTotal;
	}

	public void setSubTotal(Double subTotal) {
		this.subTotal = subTotal;
	}
	
}
