1 /** 2 * Copyright 2004-2014 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.kpme.tklm.time.missedpunch.service; 17 18 import java.util.List; 19 20 import org.kuali.kpme.tklm.time.missedpunch.MissedPunch; 21 import org.kuali.kpme.tklm.time.missedpunch.MissedPunchDocument; 22 23 public interface MissedPunchService { 24 25 /** 26 * Get a list of Missed Punch Documents by Timesheet document ids. 27 * 28 * @param timesheetDocumentId The Timesheet document id to look up 29 * 30 * @return a list of Missed Punch Documents associated with the given Timesheet document id 31 */ 32 List<MissedPunchDocument> getMissedPunchDocumentsByTimesheetDocumentId(String timesheetDocumentId); 33 34 /** 35 * Get a Missed Punch by its unique Clock Log id. 36 * 37 * @param clockLogId The Clock Log id to look up 38 * 39 * @return the Missed Punch associated with the given Clock Log id 40 */ 41 public MissedPunch getMissedPunchByClockLogId(String clockLogId); 42 43 /** 44 * Add a Clock Log to the specified Missed Punch 45 * 46 * @param missedPunch The Missed Punch to add the Clock Log to 47 * @param ipAddress The IP address of the user 48 */ 49 public void addClockLog(MissedPunch missedPunch, String ipAddress); 50 51 /** 52 * Update the Clock Log (and any Time Blocks if necessary) for the given Missed Punch. 53 * 54 * @param missedPunch The Missed Punch to update the Clock Logs for 55 * @param ipAddress The IP address of the user 56 */ 57 public void updateClockLog(MissedPunch missedPunch, String ipAddress); 58 59 /** 60 * Approve a Missed Punch Document. 61 * 62 * @param missedPunchDocument The Missed Punch Document to approve 63 */ 64 public void approveMissedPunchDocument(MissedPunchDocument missedPunchDocument); 65 66 public MissedPunchDocument getMissedPunchDocumentByMissedPunchId(String tkMissedPunchId); 67 68 }