001/** 002 * Copyright 2005-2016 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.kim.bo.ui; 017 018import org.hibernate.annotations.Fetch; 019import org.hibernate.annotations.FetchMode; 020import org.hibernate.annotations.GenericGenerator; 021import org.hibernate.annotations.Parameter; 022import org.hibernate.annotations.Type; 023import org.kuali.rice.core.api.util.type.KualiDecimal; 024import org.kuali.rice.kim.impl.identity.employment.EntityEmploymentStatusBo; 025import org.kuali.rice.kim.impl.identity.employment.EntityEmploymentTypeBo; 026 027import javax.persistence.Column; 028import javax.persistence.Entity; 029import javax.persistence.FetchType; 030import javax.persistence.GeneratedValue; 031import javax.persistence.Id; 032import javax.persistence.IdClass; 033import javax.persistence.JoinColumn; 034import javax.persistence.ManyToOne; 035import javax.persistence.Table; 036import javax.persistence.Transient; 037 038/** 039 * This is a description of what this class does - shyu don't forget to fill this in. 040 * 041 * @author Kuali Rice Team (rice.collab@kuali.org) 042 * 043 */ 044@IdClass(PersonDocumentEmploymentInfoId.class) 045@Entity 046@Table(name = "KRIM_PND_EMP_INFO_MT") 047public class PersonDocumentEmploymentInfo extends KimDocumentBoActivatableEditableBase { 048 @Id 049 @GeneratedValue(generator="KRIM_ENTITY_EMP_ID_S") 050 @GenericGenerator(name="KRIM_ENTITY_EMP_ID_S",strategy="org.kuali.rice.core.jpa.spring.RiceNumericStringSequenceStyleGenerator",parameters={ 051 @Parameter(name="sequence_name",value="KRIM_ENTITY_EMP_ID_S"), 052 @Parameter(name="value_column",value="id") 053 }) 054 @Column(name = "ENTITY_EMP_ID") 055 protected String entityEmploymentId; 056 057 @Column(name = "ENTITY_AFLTN_ID") 058 protected String entityAffiliationId; 059 060 @Column(name = "EMP_STAT_CD") 061 protected String employmentStatusCode; 062 063 @Column(name = "EMP_TYP_CD") 064 protected String employmentTypeCode; 065 066 @Column(name = "PRMRY_DEPT_CD") 067 protected String primaryDepartmentCode; 068 069 @Column(name = "BASE_SLRY_AMT") 070 protected KualiDecimal baseSalaryAmount; 071 @Column(name = "EMP_ID") 072 protected String employeeId; 073 074 @Column(name = "EMP_REC_ID") 075 protected String employmentRecordId; 076 077 @Type(type="yes_no") 078 @Column(name="PRMRY_IND") 079 protected boolean primary; 080 081 @ManyToOne(targetEntity=EntityEmploymentTypeBo.class, fetch = FetchType.EAGER, cascade = {}) 082 @JoinColumn(name = "EMP_TYP_CD", insertable = false, updatable = false) 083 protected EntityEmploymentTypeBo employmentType; 084 085 @ManyToOne(targetEntity=EntityEmploymentStatusBo.class, fetch = FetchType.EAGER, cascade = {}) 086 @Fetch(value = FetchMode.SELECT) 087 @JoinColumn(name = "EMP_STAT_CD", insertable = false, updatable = false) 088 protected EntityEmploymentStatusBo employmentStatus; 089 @Transient 090 protected PersonDocumentAffiliation affiliation; 091 092 public PersonDocumentEmploymentInfo() { 093 this.active = true; 094 } 095 096 /** 097 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#getBaseSalaryAmount() 098 */ 099 public KualiDecimal getBaseSalaryAmount() { 100 return baseSalaryAmount; 101 } 102 103 /** 104 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#getEmployeeStatusCode() 105 */ 106 public String getEmploymentStatusCode() { 107 return employmentStatusCode; 108 } 109 110 /** 111 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#getEmploymentTypeCode() 112 */ 113 public String getEmploymentTypeCode() { 114 return employmentTypeCode; 115 } 116 117 /** 118 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#getEntityAffiliationId() 119 */ 120 public String getEntityAffiliationId() { 121 return entityAffiliationId; 122 } 123 124 /** 125 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#getEntityEmploymentId() 126 */ 127 public String getEntityEmploymentId() { 128 return entityEmploymentId; 129 } 130 131 /** 132 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#isPrimary() 133 */ 134 public boolean isPrimary() { 135 return primary; 136 } 137 138 /** 139 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#setAffiliationId(java.lang.String) 140 */ 141 public void setEntityAffiliationId(String entityAffiliationId) { 142 this.entityAffiliationId = entityAffiliationId; 143 } 144 145 /** 146 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#setBaseSalaryAmount(java.math.BigDecimal) 147 */ 148 public void setBaseSalaryAmount(KualiDecimal baseSalaryAmount) { 149 this.baseSalaryAmount = baseSalaryAmount; 150 } 151 152 /** 153 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#setEmployeeStatusCode(java.lang.String) 154 */ 155 public void setEmploymentStatusCode(String employmentStatusCode) { 156 this.employmentStatusCode = employmentStatusCode; 157 } 158 159 /** 160 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#setEmploymentTypeCode(java.lang.String) 161 */ 162 public void setEmploymentTypeCode(String employmentTypeCode) { 163 this.employmentTypeCode = employmentTypeCode; 164 } 165 166 /** 167 * @see org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract#setPrimary(boolean) 168 */ 169 public void setPrimary(boolean primary) { 170 this.primary = primary; 171 } 172 173 public void setEntityEmploymentId(String entityEmploymentId) { 174 this.entityEmploymentId = entityEmploymentId; 175 } 176 177 public EntityEmploymentTypeBo getEmploymentType() { 178 return this.employmentType; 179 } 180 181 public void setEmploymentType(EntityEmploymentTypeBo employmentType) { 182 this.employmentType = employmentType; 183 } 184 185 public EntityEmploymentStatusBo getEmploymentStatus() { 186 return this.employmentStatus; 187 } 188 189 public void setEmploymentStatus(EntityEmploymentStatusBo employmentStatus) { 190 this.employmentStatus = employmentStatus; 191 } 192 193 public String getPrimaryDepartmentCode() { 194 return this.primaryDepartmentCode; 195 } 196 197 public void setPrimaryDepartmentCode(String primaryDepartmentCode) { 198 this.primaryDepartmentCode = primaryDepartmentCode; 199 } 200 201 public PersonDocumentAffiliation getAffiliation() { 202 return this.affiliation; 203 } 204 205 public void setAffiliation(PersonDocumentAffiliation affiliation) { 206 this.affiliation = affiliation; 207 } 208 209 public String getEmployeeId() { 210 return this.employeeId; 211 } 212 213 public void setEmployeeId(String employeeId) { 214 this.employeeId = employeeId; 215 } 216 217 public String getEmploymentRecordId() { 218 return this.employmentRecordId; 219 } 220 221 public void setEmploymentRecordId(String employmentRecordId) { 222 this.employmentRecordId = employmentRecordId; 223 } 224 225}