package com.jasamedika.medifirst2000.vo;

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

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;

public class SterilisasiAlatExternalVO extends BaseTransactionVO {

	@ManyToOne
	@JoinColumn(name = "ObjectNoBundleFk")
	@Caption(value="Object No Bundle")
	private BundleSetAlatVO noBundle;
	
	@ManyToOne
	@JoinColumn(name = "ObjectAlatFk")
	@Caption(value="Object Alat")
	private AlatVO alat;
	
	@Column(name = "JumlahCycle", nullable = true)
	@Caption(value = "Jumlah Cycle")
	private Byte jumlahCycle;
	
	@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
	@ManyToOne(fetch= FetchType.LAZY)
	@JoinColumn(name = "ObjectSatuanFk")
	@NotNull(message = "No Bundle tidak boleh kosong") 
	@Caption(value="Object Satuan")
	private SatuanStandarVO satuan;
	
	@ManyToOne
	@JoinColumn(name = "ObjectMetodeSterilisasiFk")
	@NotNull(message = "No Bundle tidak boleh kosong") 
	@Caption(value="Object Metode Sterilisasi")
	private MetodeSterilisasiVO metodeSterilisasi;

	@Column(name = "HargaPerCycle", nullable = true)
	@Caption(value = "Harga Per Cycle")
	private Integer hargaPerCycle;
	
	@Column(name = "TotalHarga", nullable = true)
	@Caption(value = "TotalHarga")
	private Integer totalHarga;

	public BundleSetAlatVO getNoBundle() {
		return noBundle;
	}

	public void setNoBundle(BundleSetAlatVO noBundle) {
		this.noBundle = noBundle;
	}

	public AlatVO getAlat() {
		return alat;
	}

	public void setAlat(AlatVO alat) {
		this.alat = alat;
	}

	public Byte getJumlahCycle() {
		return jumlahCycle;
	}

	public void setJumlahCycle(Byte jumlahCycle) {
		this.jumlahCycle = jumlahCycle;
	}

	public SatuanStandarVO getSatuan() {
		return satuan;
	}

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

	public MetodeSterilisasiVO getMetodeSterilisasi() {
		return metodeSterilisasi;
	}

	public void setMetodeSterilisasi(MetodeSterilisasiVO metodeSterilisasi) {
		this.metodeSterilisasi = metodeSterilisasi;
	}

	public Integer getHargaPerCycle() {
		return hargaPerCycle;
	}

	public void setHargaPerCycle(Integer hargaPerCycle) {
		this.hargaPerCycle = hargaPerCycle;
	}

	public Integer getTotalHarga() {
		return totalHarga;
	}

	public void setTotalHarga(Integer totalHarga) {
		this.totalHarga = totalHarga;
	}
}
