package com.jasamedika.medifirst2000.vo;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;

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

/**
 *  class KelompokAset
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "KelompokAset_M")
public class KelompokAsetVO extends BaseMasterVO {
	@ManyToOne
	@JoinColumn(name = "ObjectAccountFk")
	@Caption(value="Object Account")
	private ChartOfAccountVO account;

	public void setAccount(ChartOfAccountVO account) {
		this.account = account;
	}

	@Column(name = "KdAccount", nullable = true )
	public ChartOfAccountVO getAccount(){
		return this.account;
	}

	@Column(name = "ObjectAccountFk", insertable=false,updatable=false)
	private Integer accountId;

	@ManyToOne
	@JoinColumn(name = "ObjectDepartemenFk")
	@NotNull(message="Object DepartemenVO Harus Diisi")
	@Caption(value="Object Departemen")
	private DepartemenVO departemen;

	public void setDepartemen(DepartemenVO departemen) {
		this.departemen = departemen;
	}

	@Column(name = "KdDepartemen", nullable = false , length = 1)
	public DepartemenVO getDepartemen(){
		return this.departemen;
	}

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

	@ManyToOne
	@JoinColumn(name = "ObjectJenisAsetFk")
	@NotNull(message="Object Jenis Aset Harus Diisi")
	@Caption(value="Object Jenis Aset")
	private JenisAsetVO jenisAset;

	public void setJenisAset(JenisAsetVO jenisAset) {
		this.jenisAset = jenisAset;
	}

	@Column(name = "KdJenisAset", nullable = false )
	public JenisAsetVO getJenisAset(){
		return this.jenisAset;
	}

	@Column(name = "ObjectJenisAsetFk", insertable=false,updatable=false)
	private Integer jenisAsetId;

	@Caption(value="Kode Kelompok Aset")
	private Byte kdKelompokAset;

	public void setKdKelompokAset(Byte kdKelompokAset) {
		this.kdKelompokAset = kdKelompokAset;
	}

	@Column(name = "KdKelompokAset", nullable = false )
	public Byte getKdKelompokAset(){
		return this.kdKelompokAset;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectMetodePenyusutanFk")
	@Caption(value="Object Metode Penyusutan")
	private MetodePenyusutanVO metodePenyusutan;

	public void setMetodePenyusutan(MetodePenyusutanVO metodePenyusutan) {
		this.metodePenyusutan = metodePenyusutan;
	}

	@Column(name = "KdMetodePenyusutan", nullable = true )
	public MetodePenyusutanVO getMetodePenyusutan(){
		return this.metodePenyusutan;
	}

	@Column(name = "ObjectMetodePenyusutanFk", insertable=false,updatable=false)
	private Integer metodePenyusutanId;

	@Caption(value="Kelompok Aset")
	private String kelompokAset;

	public void setKelompokAset(String kelompokAset) {
		this.kelompokAset = kelompokAset;
	}

	@Column(name = "KelompokAset", nullable = false , length = 50)
	public String getKelompokAset(){
		return this.kelompokAset;
	}

	@Caption(value="Persen Penyusutan")
	private Double persenPenyusutan;

	public void setPersenPenyusutan(Double persenPenyusutan) {
		this.persenPenyusutan = persenPenyusutan;
	}

	@Column(name = "PersenPenyusutan", nullable = true )
	public Double getPersenPenyusutan(){
		return this.persenPenyusutan;
	}

	@Caption(value="QKelompok Aset")
	private Byte qKelompokAset;

	public void setqKelompokAset(Byte qKelompokAset) {
		this.qKelompokAset = qKelompokAset;
	}

	@Column(name = "QKelompokAset", nullable = false )
	public Byte getqKelompokAset(){
		return this.qKelompokAset;
	}

	@Caption(value="Rumus Penyusutan")
	private String rumusPenyusutan;

	public void setRumusPenyusutan(String rumusPenyusutan) {
		this.rumusPenyusutan = rumusPenyusutan;
	}

	@Column(name = "RumusPenyusutan", nullable = true , length = 20)
	public String getRumusPenyusutan(){
		return this.rumusPenyusutan;
	}

	@Caption(value="Umur Ekonomis_ Thn")
	private Double umurEkonomis_Thn;

	public void setUmurEkonomis_Thn(Double umurEkonomis_Thn) {
		this.umurEkonomis_Thn = umurEkonomis_Thn;
	}

	@Column(name = "UmurEkonomis_Thn", nullable = false )
	public Double getUmurEkonomis_Thn(){
		return this.umurEkonomis_Thn;
	}


}

