package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

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

@Entity
@Table(name = "Habsen")
public class Habsen extends BaseModel {

	private static final long serialVersionUID = 6197131414965211726L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
	@GenericGenerator(name = "native", strategy = "native")
	@Column(name = "tr_no", nullable = false)
	@Caption(value = "tr_no")
	private Integer tr_no;

	@Column(name = "loc_code", nullable = false, length = 5)
	@Caption(value = "loc_code")
	private String loc_code;

	@Column(name = "remoteno", nullable = false)
	@Caption(value = "remoteno")
	private Integer remoteno;

	@Column(name = "tr_date", nullable = false)
	@Caption(value = "tr_date")
	private Date tr_date;

	@Column(name = "tr_time", nullable = false)
	@Caption(value = "tr_time")
	private Date tr_time;

	@Column(name = "empl_code", nullable = false, length = 22)
	@Caption(value = "empl_code")
	private String empl_code;

	@Column(name = "acc_code", nullable = true, length = 10)
	@Caption(value = "acc_code")
	private String acc_code;

	@Column(name = "processtatus", nullable = true)
	@Caption(value = "processtatus")
	private Integer processtatus;

	@Column(name = "ip_addr", nullable = true, length = 100)
	@Caption(value = "ip_addr")
	private String ip_addr;

	@Column(name = "client_ip_addr", nullable = true, length = 100)
	@Caption(value = "client_ip_addr")
	private String clientIPAddress;

	@Column(name = "latitude", nullable = true)
	@Caption(value = "latitude")
	private Double latitude;

	@Column(name = "longitude", nullable = true)
	@Caption(value = "longitude")
	private Double longitude;

	@Column(name = "akurasi", nullable = true)
	@Caption(value = "akurasi")
	private Integer akurasi;

	@Column(name = "lokasi", nullable = true, length = 1000)
	@Caption(value = "lokasi")
	private String lokasi;

	@Column(name = "jenispresensi", nullable = true)
	@Caption(value = "Jenis Presensi")
	private Integer jenisPresensi;

	/**
	 * 0. Presensi keluar/pulang<br/>
	 * 1. Presensi masuk
	 */
	@Column(name = "tag", nullable = true)
	@Caption(value = "Tag")
	private Short tag;

	public Integer getTr_no() {
		return tr_no;
	}

	public void setTr_no(Integer tr_no) {
		this.tr_no = tr_no;
	}

	public String getLoc_code() {
		return loc_code;
	}

	public void setLoc_code(String loc_code) {
		this.loc_code = loc_code;
	}

	public Integer getRemoteno() {
		return remoteno;
	}

	public void setRemoteno(Integer remoteno) {
		this.remoteno = remoteno;
	}

	public Date getTr_date() {
		return tr_date;
	}

	public void setTr_date(Date tr_date) {
		this.tr_date = tr_date;
	}

	public Date getTr_time() {
		return tr_time;
	}

	public void setTr_time(Date tr_time) {
		this.tr_time = tr_time;
	}

	public String getEmpl_code() {
		return empl_code;
	}

	public void setEmpl_code(String empl_code) {
		this.empl_code = empl_code;
	}

	public String getAcc_code() {
		return acc_code;
	}

	public void setAcc_code(String acc_code) {
		this.acc_code = acc_code;
	}

	public Integer getProcesstatus() {
		return processtatus;
	}

	public void setProcesstatus(Integer processtatus) {
		this.processtatus = processtatus;
	}

	public String getIp_addr() {
		return ip_addr;
	}

	public void setIp_addr(String ip_addr) {
		this.ip_addr = ip_addr;
	}

	public String getClientIPAddress() {
		return clientIPAddress;
	}

	public void setClientIPAddress(String clientIPAddress) {
		this.clientIPAddress = clientIPAddress;
	}

	public Double getLatitude() {
		return latitude;
	}

	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}

	public Double getLongitude() {
		return longitude;
	}

	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}

	public Integer getAkurasi() {
		return akurasi;
	}

	public void setAkurasi(Integer akurasi) {
		this.akurasi = akurasi;
	}

	public String getLokasi() {
		return lokasi;
	}

	public void setLokasi(String lokasi) {
		this.lokasi = lokasi;
	}

	public Integer getJenisPresensi() {
		return jenisPresensi;
	}

	public void setJenisPresensi(Integer jenisPresensi) {
		this.jenisPresensi = jenisPresensi;
	}

	public Short getTag() {
		return tag;
	}

	public void setTag(Short tag) {
		this.tag = tag;
	}

}
