package com.jasamedika.medifirst2000.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name = "MapStatusPegawaiToShiftKerja_M")
public class MapStatusPegawaiToShiftKerja extends BaseMaster {
	
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.mapStatusPegawaiToShiftKerja_m_id_seq")
	@javax.persistence.SequenceGenerator(name = "public.mapStatusPegawaiToShiftKerja_m_id_seq", sequenceName = "public.mapStatusPegawaiToShiftKerja_m_id_seq", allocationSize = 1)
	@Column(name = "id")
	protected Integer id;
	
	@Column(name = "ObjectStatusPegawaiFk", insertable = false, updatable = false)
	Integer statusPegawaiId;
	
	@Column(name = "ObjectShiftKerjaFk", insertable = false, updatable = false)
	Integer shiftKerjaId;
	
	@Column(name = "ObjectKelompokShiftFk", insertable = false, updatable = false)
	Integer kelompokShiftId;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JsonIgnore
	@JoinColumn(name = "ObjectStatusPegawaiFk")
	@Caption(value = "Object Status Pegawai")
	StatusPegawai statusPegawai;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JsonIgnore
	@JoinColumn(name = "ObjectShiftKerjaFk")
	@Caption(value = "Object Shift Kerja")
	ShiftKerja shiftKerja;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JsonIgnore
	@JoinColumn(name = "ObjectKelompokShiftFk")
	@Caption(value = "Object Kelompok Shift")
	KelompokShift kelompokShift;

	public Integer getKelompokShiftId() {
		return kelompokShiftId;
	}

	public void setKelompokShiftId(Integer kelompokShiftId) {
		this.kelompokShiftId = kelompokShiftId;
	}

	public KelompokShift getKelompokShift() {
		return kelompokShift;
	}

	public void setKelompokShift(KelompokShift kelompokShift) {
		this.kelompokShift = kelompokShift;
	}

	public Integer getId() {
		return id;
	}

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

	public Integer getStatusPegawaiId() {
		return statusPegawaiId;
	}

	public void setStatusPegawaiId(Integer statusPegawaiId) {
		this.statusPegawaiId = statusPegawaiId;
	}

	public Integer getShiftKerjaId() {
		return shiftKerjaId;
	}

	public void setShiftKerjaId(Integer shiftKerjaId) {
		this.shiftKerjaId = shiftKerjaId;
	}

	public StatusPegawai getStatusPegawai() {
		return statusPegawai;
	}

	public void setStatusPegawai(StatusPegawai statusPegawai) {
		this.statusPegawai = statusPegawai;
	}

	public ShiftKerja getShiftKerja() {
		return shiftKerja;
	}

	public void setShiftKerja(ShiftKerja shiftKerja) {
		this.shiftKerja = shiftKerja;
	}
	
}
