001 /** 002 * Copyright 2004-2014 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.kpme.tklm.time.missedpunch.service; 017 018 import java.util.List; 019 020 import org.kuali.kpme.tklm.time.missedpunch.MissedPunch; 021 import org.kuali.kpme.tklm.time.missedpunch.MissedPunchDocument; 022 023 public interface MissedPunchService { 024 025 /** 026 * Get a list of Missed Punch Documents by Timesheet document ids. 027 * 028 * @param timesheetDocumentId The Timesheet document id to look up 029 * 030 * @return a list of Missed Punch Documents associated with the given Timesheet document id 031 */ 032 List<MissedPunchDocument> getMissedPunchDocumentsByTimesheetDocumentId(String timesheetDocumentId); 033 034 /** 035 * Get a Missed Punch by its unique Clock Log id. 036 * 037 * @param clockLogId The Clock Log id to look up 038 * 039 * @return the Missed Punch associated with the given Clock Log id 040 */ 041 public MissedPunch getMissedPunchByClockLogId(String clockLogId); 042 043 /** 044 * Add a Clock Log to the specified Missed Punch 045 * 046 * @param missedPunch The Missed Punch to add the Clock Log to 047 * @param ipAddress The IP address of the user 048 */ 049 public void addClockLog(MissedPunch missedPunch, String ipAddress); 050 051 /** 052 * Update the Clock Log (and any Time Blocks if necessary) for the given Missed Punch. 053 * 054 * @param missedPunch The Missed Punch to update the Clock Logs for 055 * @param ipAddress The IP address of the user 056 */ 057 public void updateClockLog(MissedPunch missedPunch, String ipAddress); 058 059 /** 060 * Approve a Missed Punch Document. 061 * 062 * @param missedPunchDocument The Missed Punch Document to approve 063 */ 064 public void approveMissedPunchDocument(MissedPunchDocument missedPunchDocument); 065 066 public MissedPunchDocument getMissedPunchDocumentByMissedPunchId(String tkMissedPunchId); 067 068 }