001 /** 002 * Copyright 2004-2013 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 */ 016 package org.kuali.hr.time.clocklog; 017 018 import java.sql.Timestamp; 019 020 import javax.persistence.Transient; 021 022 import org.kuali.hr.job.Job; 023 import org.kuali.hr.time.task.Task; 024 import org.kuali.hr.time.util.TkConstants; 025 import org.kuali.hr.time.workarea.WorkArea; 026 import org.kuali.rice.kim.api.identity.Person; 027 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 028 029 public class ClockLog extends PersistableBusinessObjectBase { 030 031 private static final long serialVersionUID = -6928657854016622568L; 032 033 private String tkClockLogId; 034 private String documentId; 035 private String principalId; 036 private Long jobNumber; 037 private Long workArea; 038 private Long task; 039 private Timestamp clockTimestamp; 040 private String clockTimestampTimezone; 041 private String clockAction; 042 private String ipAddress; 043 private String userPrincipalId; 044 private Timestamp timestamp; 045 private boolean unapprovedIP = false; 046 047 @Transient 048 private String missedPunchDocumentId; 049 050 private transient Job job; 051 private transient WorkArea workAreaObj; 052 private transient Task taskObj; 053 054 private transient Person principal; 055 056 public String getTkClockLogId() { 057 return tkClockLogId; 058 } 059 060 public void setTkClockLogId(String tkClockLogId) { 061 this.tkClockLogId = tkClockLogId; 062 } 063 064 public String getPrincipalId() { 065 return principalId; 066 } 067 068 public void setPrincipalId(String principalId) { 069 this.principalId = principalId; 070 } 071 072 public String getDocumentId() { 073 return documentId; 074 } 075 076 public void setDocumentId(String documentId) { 077 this.documentId = documentId; 078 } 079 080 public Long getJobNumber() { 081 return jobNumber; 082 } 083 084 public void setJobNumber(Long jobNumber) { 085 this.jobNumber = jobNumber; 086 } 087 088 public Timestamp getClockTimestamp() { 089 return clockTimestamp; 090 } 091 092 public void setClockTimestamp(Timestamp clockTimestamp) { 093 this.clockTimestamp = clockTimestamp; 094 } 095 096 public String getClockAction() { 097 return clockAction; 098 } 099 100 public void setClockAction(String clockAction) { 101 this.clockAction = clockAction; 102 } 103 104 public String getIpAddress() { 105 return ipAddress; 106 } 107 108 public void setIpAddress(String ipAddress) { 109 this.ipAddress = ipAddress; 110 } 111 112 public String getUserPrincipalId() { 113 return userPrincipalId; 114 } 115 116 public void setUserPrincipalId(String userPrincipalId) { 117 this.userPrincipalId = userPrincipalId; 118 } 119 120 public Timestamp getTimestamp() { 121 return timestamp; 122 } 123 124 public void setTimestamp(Timestamp timestamp) { 125 this.timestamp = timestamp; 126 } 127 128 public String getClockTimestampTimezone() { 129 return clockTimestampTimezone; 130 } 131 132 public void setClockTimestampTimezone(String clockTimestampTimezone) { 133 this.clockTimestampTimezone = clockTimestampTimezone; 134 } 135 136 /** 137 * TODO: Fix this - may need to return multiple actions, depending on how we want the system to work. 138 * @return 139 */ 140 public String getNextValidClockAction() { 141 String ret; 142 143 if (this.getClockAction().equals(TkConstants.CLOCK_IN)) { 144 ret = TkConstants.CLOCK_OUT; 145 } else if (this.getClockAction().equals(TkConstants.CLOCK_OUT)) { 146 ret = TkConstants.CLOCK_IN; 147 } else if (this.getClockAction().equals(TkConstants.LUNCH_IN)) { 148 ret = TkConstants.LUNCH_OUT; 149 } else if (this.getClockAction().equals(TkConstants.LUNCH_OUT)) { 150 ret = TkConstants.LUNCH_IN; 151 } else { 152 ret = TkConstants.CLOCK_IN; 153 } 154 155 return ret; 156 } 157 158 public Job getJob() { 159 return job; 160 } 161 162 public void setJob(Job job) { 163 this.job = job; 164 } 165 166 public WorkArea getWorkAreaObj() { 167 return workAreaObj; 168 } 169 170 public void setWorkAreaObj(WorkArea workAreaObj) { 171 this.workAreaObj = workAreaObj; 172 } 173 174 public Task getTaskObj() { 175 return taskObj; 176 } 177 178 public void setTaskObj(Task taskObj) { 179 this.taskObj = taskObj; 180 } 181 182 public void setWorkArea(Long workArea) { 183 this.workArea = workArea; 184 } 185 186 public void setTask(Long task) { 187 this.task = task; 188 } 189 public Long getWorkArea() { 190 return workArea; 191 } 192 public Long getTask() { 193 return task; 194 } 195 196 public Person getPrincipal() { 197 return principal; 198 } 199 200 public void setPrincipal(Person principal) { 201 this.principal = principal; 202 } 203 204 public String getMissedPunchDocumentId() { 205 return missedPunchDocumentId; 206 } 207 208 public void setMissedPunchDocumentId(String missedPunchDocumentId) { 209 this.missedPunchDocumentId = missedPunchDocumentId; 210 } 211 212 public boolean getUnapprovedIP() { 213 return unapprovedIP; 214 } 215 216 public void setUnapprovedIP(boolean unapprovedIP) { 217 this.unapprovedIP = unapprovedIP; 218 } 219 220 }