package com.jasamedika.medifirst2000.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
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;

@Entity
@Table(name = "IpsrsMesinBoiler_T")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class IpsrsMesinBoiler extends BaseTransaction{

	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectIpsrsPemakaianMesinFk")
	@Caption(value = "Ipsrs Pemakaian Mesin")
	private IpsrsPemakaianMesin ipsrsPemakaianMesin;

	@Column(name = "ObjectIpsrsPemakaianMesinFk", columnDefinition = "CHAR(32)", nullable=false, insertable = false, updatable = false)
	private String ipsrsPemakaianMesinId;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectMesinFk")
	@Caption(value = "Mesin")
	private Produk mesin;

	@Column(name = "ObjectMesinFk",nullable=false, insertable = false, updatable = false)
	private Integer mesinId;
	
	@NotNull(message = "Liter Pemakaian Awal tidak boleh kosong")
	@Caption(value = "Liter Pemakaian Awal")
	@Column(name = "LiterPemakaianAwal", nullable = false)
	private float literPemakaianAwal;
	
	@NotNull(message = "Liter Pemakaian Ahir tidak boleh kosong")
	@Caption(value = "Liter Pemakaian Ahir")
	@Column(name = "LiterPemakaianAhir", nullable = false)
	private float literPemakaianAhir;
	
	@Caption(value = "Total Pemakaian")
	@Column(name = "TotalPemakaian", nullable = false)
	private float totalPemakaian;

	public IpsrsPemakaianMesin getIpsrsPemakaianMesin() {
		return ipsrsPemakaianMesin;
	}

	public void setIpsrsPemakaianMesin(IpsrsPemakaianMesin ipsrsPemakaianMesin) {
		this.ipsrsPemakaianMesin = ipsrsPemakaianMesin;
	}

	public String getIpsrsPemakaianMesinId() {
		return ipsrsPemakaianMesinId;
	}

	public void setIpsrsPemakaianMesinId(String ipsrsPemakaianMesinId) {
		this.ipsrsPemakaianMesinId = ipsrsPemakaianMesinId;
	}

	public Produk getMesin() {
		return mesin;
	}

	public void setMesin(Produk mesin) {
		this.mesin = mesin;
	}

	public Integer getMesinId() {
		return mesinId;
	}

	public void setMesinId(Integer mesinId) {
		this.mesinId = mesinId;
	}

	public float getLiterPemakaianAwal() {
		return literPemakaianAwal;
	}

	public void setLiterPemakaianAwal(float literPemakaianAwal) {
		this.literPemakaianAwal = literPemakaianAwal;
	}

	public float getLiterPemakaianAhir() {
		return literPemakaianAhir;
	}

	public void setLiterPemakaianAhir(float literPemakaianAhir) {
		this.literPemakaianAhir = literPemakaianAhir;
	}

	public float getTotalPemakaian() {
		return totalPemakaian;
	}

	public void setTotalPemakaian(float totalPemakaian) {
		this.totalPemakaian = totalPemakaian;
	}

}
