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 ShiftKerjaFormulasi
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "ShiftKerjaFormulasi_M")
public class ShiftKerjaFormulasiVO extends BaseMasterVO {
	@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 = "ObjectShiftNextNotAllowedFk")
	@Caption(value="Object Shift Next Not Allowed")
	private ShiftKerjaVO shiftNextNotAllowed;

	public void setShiftNextNotAllowed(ShiftKerjaVO shiftNextNotAllowed) {
		this.shiftNextNotAllowed = shiftNextNotAllowed;
	}

	@Column(name = "KdShiftNextNotAllowed", nullable = true )
	public ShiftKerjaVO getShiftNextNotAllowed(){
		return this.shiftNextNotAllowed;
	}

	@Column(name = "ObjectShiftNextNotAllowedFk", insertable=false,updatable=false)
	private Integer shiftNextNotAllowedId;

	@ManyToOne
	@JoinColumn(name = "ObjectShiftStartFk")
	@NotNull(message="Object Shift Start Harus Diisi")
	@Caption(value="Object Shift Start")
	private ShiftKerjaVO shiftStart;

	public void setShiftStart(ShiftKerjaVO shiftStart) {
		this.shiftStart = shiftStart;
	}

	@Column(name = "KdShiftStart", nullable = false )
	public ShiftKerjaVO getShiftStart(){
		return this.shiftStart;
	}

	@Column(name = "ObjectShiftStartFk", insertable=false,updatable=false)
	private Integer shiftStartId;

	@Caption(value="Qty HariVO Kerja Per Bulan")
	private Byte qtyHariKerjaPerBulan;

	public void setqtyHariKerjaPerBulan(Byte qtyHariKerjaPerBulan) {
		this.qtyHariKerjaPerBulan = qtyHariKerjaPerBulan;
	}

	@Column(name = "QtyHariKerjaPerBulan", nullable = false )
	public Byte getqtyHariKerjaPerBulan(){
		return this.qtyHariKerjaPerBulan;
	}

	@Caption(value="Qty HariVO Kerja To Libur")
	private Byte qtyHariKerjaToLibur;

	public void setqtyHariKerjaToLibur(Byte qtyHariKerjaToLibur) {
		this.qtyHariKerjaToLibur = qtyHariKerjaToLibur;
	}

	@Column(name = "QtyHariKerjaToLibur", nullable = false )
	public Byte getqtyHariKerjaToLibur(){
		return this.qtyHariKerjaToLibur;
	}

	@Caption(value="Qty HariVO Kerja To New Shift")
	private Byte qtyHariKerjaToNewShift;

	public void setqtyHariKerjaToNewShift(Byte qtyHariKerjaToNewShift) {
		this.qtyHariKerjaToNewShift = qtyHariKerjaToNewShift;
	}

	@Column(name = "QtyHariKerjaToNewShift", nullable = false )
	public Byte getqtyHariKerjaToNewShift(){
		return this.qtyHariKerjaToNewShift;
	}

	@Caption(value="Qty HariVO Libur Per Bulan")
	private Byte qtyHariLiburPerBulan;

	public void setqtyHariLiburPerBulan(Byte qtyHariLiburPerBulan) {
		this.qtyHariLiburPerBulan = qtyHariLiburPerBulan;
	}

	@Column(name = "QtyHariLiburPerBulan", nullable = false )
	public Byte getqtyHariLiburPerBulan(){
		return this.qtyHariLiburPerBulan;
	}

	@Caption(value="Qty HariVO Libur Per Siklus")
	private Byte qtyHariLiburPerSiklus;

	public void setqtyHariLiburPerSiklus(Byte qtyHariLiburPerSiklus) {
		this.qtyHariLiburPerSiklus = qtyHariLiburPerSiklus;
	}

	@Column(name = "QtyHariLiburPerSiklus", nullable = false )
	public Byte getqtyHariLiburPerSiklus(){
		return this.qtyHariLiburPerSiklus;
	}

	@Caption(value="Qty PegawaiVO Per Shift")
	private Byte qtyPegawaiPerShift;

	public void setqtyPegawaiPerShift(Byte qtyPegawaiPerShift) {
		this.qtyPegawaiPerShift = qtyPegawaiPerShift;
	}

	@Column(name = "QtyPegawaiPerShift", nullable = false )
	public Byte getqtyPegawaiPerShift(){
		return this.qtyPegawaiPerShift;
	}


}

