1 /** 2 * Copyright 2004-2013 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.hr.time.missedpunch.service; 17 18 import java.util.List; 19 20 import org.kuali.hr.time.batch.BatchJobEntry; 21 import org.kuali.hr.time.missedpunch.MissedPunchDocument; 22 23 24 public interface MissedPunchService { 25 /** 26 * Fetch missed punch by header id 27 * @param headerId 28 * @return 29 */ 30 public MissedPunchDocument getMissedPunchByRouteHeader(String headerId); 31 /** 32 * Add clock log for missed punch 33 * @param missedPunch 34 * @param logEndId 35 * @param logBeginId 36 */ 37 public void addClockLogForMissedPunch(MissedPunchDocument missedPunch, String logEndId, String logBeginId); 38 /** 39 * Add clock log for missed punch 40 * @param missedPunch 41 */ 42 public void addClockLogForMissedPunch(MissedPunchDocument missedPunch); 43 /** 44 * Update clock log and time block if necessary 45 * @param missedPunch 46 */ 47 public void updateClockLogAndTimeBlockIfNecessary(MissedPunchDocument missedPunch); 48 /** 49 * Get missed punch by clock id 50 * @param clockLogId 51 * @return 52 */ 53 public MissedPunchDocument getMissedPunchByClockLogId(String clockLogId); 54 /** 55 * Approve missed punch document 56 * @param document 57 * @return 58 */ 59 public void approveMissedPunch(MissedPunchDocument document); 60 /** 61 * Get missed punch documents by batchJobEntry 62 * @param batchJobEntry 63 * @return 64 */ 65 public List<MissedPunchDocument> getMissedPunchDocsByBatchJobEntry(BatchJobEntry batchJobEntry); 66 /** 67 * Get missed punch documents by timesheetDocumentId 68 * @param timesheetDocumentId 69 * @return 70 */ 71 public List<MissedPunchDocument> getMissedPunchDocsByTimesheetDocumentId(String timesheetDocumentId); 72 }