package com.jasamedika.medifirst2000.vo;

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

import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;

import lombok.Getter;
import lombok.Setter;

/**
 * class KomponenHarga
 * 
 * @author Generator
 */
@Getter
@Setter
public class KomponenHargaVO extends BaseMasterVO {
	@ManyToOne
	@JoinColumn(name = "ObjectDepartemenFk")
	@Caption(value = "Object Departemen")
	private DepartemenVO departemen;

	@Column(name = "ObjectDepartemenFk", insertable = false, updatable = false)
	private Integer departemenId;

	@ManyToOne
	@JoinColumn(name = "ObjectJenisKomponenHargaFk")
	@NotNull(message = "Object Jenis Komponen Harga Harus Diisi")
	@Caption(value = "Object Jenis Komponen Harga")
	private JenisKomponenHargaVO jenisKomponenHarga;

	@Column(name = "ObjectJenisKomponenHargaFk", insertable = false, updatable = false)
	private Integer jenisKomponenHargaId;

	@Caption(value = "Kode Komponen Harga")
	private Byte kdKomponenHarga;

	@ManyToOne
	@JoinColumn(name = "ObjectProdukPKFk")
	@Caption(value = "Object ProdukVO P K")
	private ProdukVO produkPK;

	@Column(name = "ObjectProdukPKFk", insertable = false, updatable = false)
	private Integer produkPKId;

	@Caption(value = "Komponen Harga")
	private String komponenHarga;

	@Caption(value = "Nilai Normal")
	private short nilaiNormal;

	@Caption(value = "No Urut")
	private Byte noUrut;

	@Caption(value = "QKomponen Harga")
	private Byte qKomponenHarga;

	@Column(name = "FactorRate")
	@Caption(value = "Factor Rate")
	private Integer factorRate;

	@Column(name = "OperatorFactorRate")
	@Caption(value = "Operator Factor Rate")
	private String operatorFactorRate;
}
