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

@Entity
@Table(name = "LimbahB3Keluar_T")
public class LimbahB3Keluar extends BaseTransaction{
	
	@Column(name = "Tanggal", nullable = true)
	@Caption(value = "Tanggal")
	private Date tanggal;
	
	@Column(name = "JumlahLimbahB3Keluar", nullable = true)
	@Caption(value = "Jumlah limbah b3 keluar")
	private Double jumlahLimbahB3Keluar;
	
	@Column(name = "TujuanPenyerahan", nullable = true)
	@Caption(value = "Tujuan penyerahan")
	private String tujuanPenyerahan;
	
	@Column(name = "BuktiNomerDokumen", nullable = true)
	@Caption(value = "Bukti nomer doumen")
	private String buktiNomerDokumen;
	
	@Column(name = "SisaLimbah", nullable = true)
	@Caption(value = "Sisa limbah")
	private Double sisaLimbahB3;
	
	@Column(name = "periodeAwal", nullable = true)
	@Caption(value = "periodeAwal")
	private Date periodeAwal;
	
	@Column(name = "periodeAhir", nullable = true)
	@Caption(value = "periodeAhir")
	private Date periodeAhir;
	
	@ManyToOne
	@JoinColumn(name = "ObjectJenisLimbahB3MasukFk")
	@Caption(value = "ObjectJenisLimbahB3MasukFk")
	private JenisLimbahB3Masuk jenisLimbahB3Masuk;

	@Column(name = "ObjectJenisLimbahB3MasukFk", insertable = false, updatable = false)
	private Integer jenisLimbahB3MasukId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectRekananFk")
	@Caption(value = "ObjectRekananFk")
	private Rekanan rekanan;

	@Column(name = "ObjectRekananFk", insertable = false, updatable = false)
	private Integer rekananId;
	
	@Column(name = "total")
	@Caption(value = "total")
	private Double total;
	
	@Column(name = "maksimalPenyimpanan", nullable = true)
	@Caption(value = "maksimalPenyimpanan")
	private Double maksimalPenyimpanan;
	
	@ManyToOne
	@JoinColumn(name = "ObjectPerlakuanFk")
	@Caption(value = "ObjectPerlakuanFk")
	private Perlakuan perlakuan;

	@Column(name = "ObjectPerlakuanFk", insertable = false, updatable = false)
	private Integer perlakuanId;

	public Date getTanggal() {
		return tanggal;
	}

	public void setTanggal(Date tanggal) {
		this.tanggal = tanggal;
	}

	public Double getJumlahLimbahB3Keluar() {
		return jumlahLimbahB3Keluar;
	}

	public void setJumlahLimbahB3Keluar(Double jumlahLimbahB3Keluar) {
		this.jumlahLimbahB3Keluar = jumlahLimbahB3Keluar;
	}

	public String getTujuanPenyerahan() {
		return tujuanPenyerahan;
	}

	public void setTujuanPenyerahan(String tujuanPenyerahan) {
		this.tujuanPenyerahan = tujuanPenyerahan;
	}

	public String getBuktiNomerDokumen() {
		return buktiNomerDokumen;
	}

	public void setBuktiNomerDokumen(String buktiNomerDokumen) {
		this.buktiNomerDokumen = buktiNomerDokumen;
	}

	public Double getSisaLimbahB3() {
		return sisaLimbahB3;
	}

	public void setSisaLimbahB3(Double sisaLimbahB3) {
		this.sisaLimbahB3 = sisaLimbahB3;
	}

	public Date getPeriodeAwal() {
		return periodeAwal;
	}

	public void setPeriodeAwal(Date periodeAwal) {
		this.periodeAwal = periodeAwal;
	}

	public Date getPeriodeAhir() {
		return periodeAhir;
	}

	public void setPeriodeAhir(Date periodeAhir) {
		this.periodeAhir = periodeAhir;
	}


	public JenisLimbahB3Masuk getJenisLimbahB3Masuk() {
		return jenisLimbahB3Masuk;
	}

	public void setJenisLimbahB3Masuk(JenisLimbahB3Masuk jenisLimbahB3Masuk) {
		this.jenisLimbahB3Masuk = jenisLimbahB3Masuk;
	}

	public Integer getJenisLimbahB3MasukId() {
		return jenisLimbahB3MasukId;
	}

	public void setJenisLimbahB3MasukId(Integer jenisLimbahB3MasukId) {
		this.jenisLimbahB3MasukId = jenisLimbahB3MasukId;
	}

	public Rekanan getRekanan() {
		return rekanan;
	}

	public void setRekanan(Rekanan rekanan) {
		this.rekanan = rekanan;
	}

	public Integer getRekananId() {
		return rekananId;
	}

	public void setRekananId(Integer rekananId) {
		this.rekananId = rekananId;
	}

	public Double getTotal() {
		return total;
	}

	public void setTotal(Double total) {
		this.total = total;
	}

	public Double getMaksimalPenyimpanan() {
		return maksimalPenyimpanan;
	}

	public void setMaksimalPenyimpanan(Double maksimalPenyimpanan) {
		this.maksimalPenyimpanan = maksimalPenyimpanan;
	}

	public Perlakuan getPerlakuan() {
		return perlakuan;
	}

	public void setPerlakuan(Perlakuan perlakuan) {
		this.perlakuan = perlakuan;
	}

	public Integer getPerlakuanId() {
		return perlakuanId;
	}

	public void setPerlakuanId(Integer perlakuanId) {
		this.perlakuanId = perlakuanId;
	}
		
}
