package com.jasamedika.medifirst2000.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name = "LevelTingkat_M")
public class LevelTingkat extends BaseMaster {

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.leveltingkat_m_id_seq")
	@SequenceGenerator(name = "public.leveltingkat_m_id_seq", sequenceName = "public.leveltingkat_m_id_seq", allocationSize = 1)
	@Column(name = "id")
	private Integer id;
	
	@NotNull(message = "Kd Level Tingkat tidak boleh kosong")
	@Column(name = "KdLevelTingkat", nullable = false)
	@Caption(value = "Kode Level Tingkat")
	private Byte kdLevelTingkat;
	
	@Column(name = "KdLevelTingkatHead")
	@Caption(value = "Kode Level Tingkat Head")
	private Byte kdLevelTingkatHead;
	
	@NotNull(message = "QLevel Tingkat tidak boleh kosong")
	@Column(name = "QLevelTingkat", nullable = false)
	@Caption(value = "QLevel Tingkat")
	private Byte qLevelTingkat;
	
	@NotNull(message = "Level Tingkat tidak boleh kosong")
	@Column(name="LevelTingkat", nullable = false, length = 50)
	@Caption(value =  "Level Tingkat")
	private String levelTingkat;
	
	@ManyToOne
	@JoinColumn(name = "ObjectDepartemenFk")
	@NotNull(message = "Kd Departemen tidak boleh kosong")
	@Caption(value = "Object Departemen")
	private Departemen departemen;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Byte getKdLevelTingkat() {
		return kdLevelTingkat;
	}

	public void setKdLevelTingkat(Byte kdLevelTingkat) {
		this.kdLevelTingkat = kdLevelTingkat;
	}

	public Byte getKdLevelTingkatHead() {
		return kdLevelTingkatHead;
	}

	public void setKdLevelTingkatHead(Byte kdLevelTingkatHead) {
		this.kdLevelTingkatHead = kdLevelTingkatHead;
	}

	public Byte getqLevelTingkat() {
		return qLevelTingkat;
	}

	public void setqLevelTingkat(Byte qLevelTingkat) {
		this.qLevelTingkat = qLevelTingkat;
	}

	public String getLevelTingkat() {
		return levelTingkat;
	}

	public void setLevelTingkat(String levelTingkat) {
		this.levelTingkat = levelTingkat;
	}

	public Departemen getDepartemen() {
		return departemen;
	}

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