package com.jasamedika.medifirst2000.entities;

import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;
import javax.validation.constraints.NotNull;

/**
 * class EvaluasiJabatan
 * 
 * @author Shakato
 */
@Getter
@Setter
@Entity
@Table(name = "MasterEvaluasiJabatan_T")
public class MasterEvaluasiJabatan extends BaseTransaction {

	@ManyToOne
	@JoinColumn(name = "JabatanFk")
	@NotNull(message = "Jabatan Harus Diisi")
	@Caption(value = "Jabatan")
	private Jabatan jabatan;

	@Column(name = "JabatanFk", insertable = false, updatable = false)
	private Integer jabatanId;

	@Column(name = "Bulan", nullable = false, length = 100)
	@Caption(value = "Bulan")
	private String bulan;

	@Column(name = "Tahun", nullable = false, length = 5)
	@Caption(value = "Tahun")
	private Integer tahun;

	@Column(name = "TotalNilai", nullable = false, length = 5)
	@Caption(value = "TotalNilai")
	private Double totalNilai;

	@ManyToOne
	@JoinColumn(name = "Faktor1Fk")
	@Caption(value = "Faktor1")
	private FaktorEvaluasi faktor1;

	@Column(name = "Faktor1Fk", insertable = false, updatable = false)
	private Integer faktor1Id;

	@ManyToOne
	@JoinColumn(name = "Faktor2Fk")
	@Caption(value = "Faktor2")
	private FaktorEvaluasi faktor2;

	@Column(name = "Faktor2Fk", insertable = false, updatable = false)
	private Integer faktor2Id;

	@ManyToOne
	@JoinColumn(name = "Faktor3Fk")
	@Caption(value = "Faktor3")
	private FaktorEvaluasi faktor3;

	@Column(name = "Faktor3Fk", insertable = false, updatable = false)
	private Integer faktor3Id;

	@ManyToOne
	@JoinColumn(name = "Faktor4Fk")
	@Caption(value = "Faktor4")
	private FaktorEvaluasi faktor4;

	@Column(name = "Faktor4Fk", insertable = false, updatable = false)
	private Integer faktor4Id;

	@ManyToOne
	@JoinColumn(name = "Faktor5Fk")
	@Caption(value = "Faktor5")
	private FaktorEvaluasi faktor5;

	@Column(name = "Faktor5Fk", insertable = false, updatable = false)
	private Integer faktor5Id;

	@ManyToOne
	@JoinColumn(name = "Faktor7Fk")
	@Caption(value = "Faktor7")
	private FaktorEvaluasi faktor7;

	@Column(name = "Faktor7Fk", insertable = false, updatable = false)
	private Integer faktor7Id;

	@ManyToOne
	@JoinColumn(name = "Faktor8Fk")
	@Caption(value = "Faktor8")
	private FaktorEvaluasi faktor8;

	@Column(name = "Faktor8Fk", insertable = false, updatable = false)
	private Integer faktor8Id;

	@ManyToOne
	@JoinColumn(name = "Faktor9Fk")
	@Caption(value = "Faktor9")
	private FaktorEvaluasi faktor9;

	@Column(name = "Faktor9Fk", insertable = false, updatable = false)
	private Integer faktor9Id;

	@ManyToOne
	@JoinColumn(name = "Faktor10Fk")
	@Caption(value = "Faktor10")
	private FaktorEvaluasi faktor10;

	@Column(name = "Faktor10Fk", insertable = false, updatable = false)
	private Integer faktor10Id;

	@ManyToOne
	@JoinColumn(name = "FaktorAFk")
	@Caption(value = "FaktorA")
	private FaktorEvaluasi faktorA;

	@Column(name = "FaktorAFk", insertable = false, updatable = false)
	private Integer faktorAId;

	@ManyToOne
	@JoinColumn(name = "FaktorBFk")
	@Caption(value = "FaktorB")
	private FaktorEvaluasi faktorB;

	@Column(name = "FaktorBFk", insertable = false, updatable = false)
	private Integer faktorBId;

	@ManyToOne
	@JoinColumn(name = "FaktorCFk")
	@Caption(value = "FaktorC")
	private FaktorEvaluasi faktorC;

	@Column(name = "FaktorCFk", insertable = false, updatable = false)
	private Integer faktorCId;

	@ManyToOne
	@JoinColumn(name = "FaktorDFk")
	@Caption(value = "FaktorD")
	private FaktorEvaluasi faktorD;

	@Column(name = "FaktorDFk", insertable = false, updatable = false)
	private Integer faktorDId;

	@ManyToOne
	@JoinColumn(name = "FaktorEFk")
	@Caption(value = "FaktorE")
	private FaktorEvaluasi faktorE;

	@Column(name = "FaktorEFk", insertable = false, updatable = false)
	private Integer faktorEId;

	@ManyToOne
	@JoinColumn(name = "FaktorFFk")
	@Caption(value = "FaktorF")
	private FaktorEvaluasi faktorF;

	@Column(name = "FaktorFFk", insertable = false, updatable = false)
	private Integer faktorFId;

	@ManyToOne
	@JoinColumn(name = "FaktorGFk")
	@Caption(value = "FaktorG")
	private FaktorEvaluasi faktorG;

	@Column(name = "FaktorGFk", insertable = false, updatable = false)
	private Integer faktorGId;

	@ManyToOne
	@JoinColumn(name = "FaktorHFk")
	@Caption(value = "FaktorH")
	private FaktorEvaluasi faktorH;

	@Column(name = "FaktorHFk", insertable = false, updatable = false)
	private Integer faktorHId;

	@ManyToOne
	@JoinColumn(name = "FaktorIFk")
	@Caption(value = "FaktorI")
	private FaktorEvaluasi faktorI;

	@Column(name = "FaktorIFk", insertable = false, updatable = false)
	private Integer faktorIId;

	@ManyToOne
	@JoinColumn(name = "FaktorJFk")
	@Caption(value = "FaktorJ")
	private FaktorEvaluasi faktorJ;

	@Column(name = "FaktorJFk", insertable = false, updatable = false)
	private Integer faktorJId;

	@ManyToOne
	@JoinColumn(name = "FaktorKFk")
	@Caption(value = "FaktorK")
	private FaktorEvaluasi faktorK;

	@Column(name = "FaktorKFk", insertable = false, updatable = false)
	private Integer faktorKId;

	@ManyToOne
	@JoinColumn(name = "FaktorLFk")
	@Caption(value = "FaktorL")
	private FaktorEvaluasi faktorL;

	@Column(name = "FaktorLFk", insertable = false, updatable = false)
	private Integer faktorLId;

}