package com.jasamedika.medifirst2000.entities;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.*;
import org.joda.time.DateTime;
import org.hibernate.validator.constraints.NotEmpty;

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

/**
 *  class DestroyProdukDetail
 * 
 * @author Generator
 */
@Entity
@Table(name = "DestroyProdukDetail_T")
public class DestroyProdukDetail extends BaseTransaction {
	
	@ManyToOne
	@JoinColumn(name = "ObjectAsalProdukFk")
	@NotNull(message="Object Asal Produk Harus Diisi")
	@Caption(value="Object Asal Produk")
	private AsalProduk asalProduk;

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


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


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

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


	@Column(name = "ObjectRuanganFk", insertable=false,updatable=false)
	private Integer ruanganId;

	@Caption(value="No Batch")
	@Column(name = "NoBatch", nullable = true , length = 250)
	private String nobatch;


	@ManyToOne
	@JoinColumn(name = "NoHistoriFk")
	@NotNull(message="No Histori Harus Diisi")
	@Caption(value="No Histori")
	private StrukHistori strukHistory;

	@Column(name = "NoHistoriFk", insertable=false,updatable=false)
	private String strukHistoryId;
	
	@Column(name = "tglKadaluarsa")
	private Date tglKadaluarsa;

	@ManyToOne
	@JoinColumn(name = "NoRegisterAsetFk")
	@Caption(value="No Register Aset")
	private RegistrasiAset registerAset;

	@Column(name = "NoRegisterAsetFk", insertable=false,updatable=false)
	private String NoRegisterAsetId;

	@ManyToOne
	@JoinColumn(name = "NoStrukTerimaFk")
	@NotNull(message="No Struk Terima Harus Diisi")
	@Caption(value="No Struk Terima")
	private StrukPelayanan strukPelayanan;

	@Column(name = "NoStrukTerimaFk", insertable=false,updatable=false)
	private String strukPelayananId;

	@Caption(value="No Urut")
	@Column(name = "NoUrut", nullable = false )
	private short noUrut;

	@ManyToOne
	@JoinColumn(name = "NoVerifikasiFk")
	@Caption(value="No Verifikasi")
	private StrukVerifikasi strukVerifikasi;

	@Column(name = "NoVerifikasiFk", insertable=false,updatable=false)
	private String strukVerifikasiId;
	
	@ManyToOne
	@JoinColumn(name = "DestroyProdukFk")
	@Caption(value="Destry Produk")
	private DestroyProduk destroyProduk;

	@Column(name = "DestroyProdukFk", insertable=false,updatable=false)
	private String destroyProdukId;
	
	@Caption(value="Qty Produk")
	@Column(name = "QtyProduk", nullable = true )
	private Double qtyProduk;

	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 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 Ruangan getRuangan() {
		return ruangan;
	}

	public void setRuangan(Ruangan ruangan) {
		this.ruangan = ruangan;
	}

	public Integer getRuanganId() {
		return ruanganId;
	}

	public void setRuanganId(Integer ruanganId) {
		this.ruanganId = ruanganId;
	}

	public String getNobatch() {
		return nobatch;
	}

	public void setNobatch(String nobatch) {
		this.nobatch = nobatch;
	}

	public StrukHistori getStrukHistory() {
		return strukHistory;
	}

	public void setStrukHistory(StrukHistori strukHistory) {
		this.strukHistory = strukHistory;
	}

	public String getStrukHistoryId() {
		return strukHistoryId;
	}

	public void setStrukHistoryId(String strukHistoryId) {
		this.strukHistoryId = strukHistoryId;
	}

	public RegistrasiAset getRegisterAset() {
		return registerAset;
	}

	public void setRegisterAset(RegistrasiAset registerAset) {
		this.registerAset = registerAset;
	}

	public String getNoRegisterAsetId() {
		return NoRegisterAsetId;
	}

	public void setNoRegisterAsetId(String noRegisterAsetId) {
		NoRegisterAsetId = noRegisterAsetId;
	}

	public StrukPelayanan getStrukPelayanan() {
		return strukPelayanan;
	}

	public void setStrukPelayanan(StrukPelayanan strukPelayanan) {
		this.strukPelayanan = strukPelayanan;
	}

	public String getStrukPelayananId() {
		return strukPelayananId;
	}

	public void setStrukPelayananId(String strukPelayananId) {
		this.strukPelayananId = strukPelayananId;
	}


	public StrukVerifikasi getStrukVerifikasi() {
		return strukVerifikasi;
	}

	public void setStrukVerifikasi(StrukVerifikasi strukVerifikasi) {
		this.strukVerifikasi = strukVerifikasi;
	}

	public short getNoUrut() {
		return noUrut;
	}

	public void setNoUrut(short noUrut) {
		this.noUrut = noUrut;
	}

	public String getStrukVerifikasiId() {
		return strukVerifikasiId;
	}

	public void setStrukVerifikasiId(String strukVerifikasiId) {
		this.strukVerifikasiId = strukVerifikasiId;
	}

	public DestroyProduk getDestroyProduk() {
		return destroyProduk;
	}

	public void setDestroyProduk(DestroyProduk destroyProduk) {
		this.destroyProduk = destroyProduk;
	}

	public String getDestroyProdukId() {
		return destroyProdukId;
	}

	public void setDestroyProdukId(String destroyProdukId) {
		this.destroyProdukId = destroyProdukId;
	}

	public Double getQtyProduk() {
		return qtyProduk;
	}

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

	public Date getTglKadaluarsa() {
		return tglKadaluarsa;
	}

	public void setTglKadaluarsa(Date tglKadaluarsa) {
		this.tglKadaluarsa = tglKadaluarsa;
	}
	
	


}

