001 /**
002 * Copyright 2004-2012 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.missedpunch.service;
017
018 import java.util.List;
019
020 import org.kuali.hr.time.batch.BatchJobEntry;
021 import org.kuali.hr.time.missedpunch.MissedPunchDocument;
022
023
024 public interface MissedPunchService {
025 /**
026 * Fetch missed punch by header id
027 * @param headerId
028 * @return
029 */
030 public MissedPunchDocument getMissedPunchByRouteHeader(String headerId);
031 /**
032 * Add clock log for missed punch
033 * @param missedPunch
034 * @param logEndId
035 * @param logBeginId
036 */
037 public void addClockLogForMissedPunch(MissedPunchDocument missedPunch, String logEndId, String logBeginId);
038 /**
039 * Add clock log for missed punch
040 * @param missedPunch
041 */
042 public void addClockLogForMissedPunch(MissedPunchDocument missedPunch);
043 /**
044 * Update clock log and time block if necessary
045 * @param missedPunch
046 */
047 public void updateClockLogAndTimeBlockIfNecessary(MissedPunchDocument missedPunch);
048 /**
049 * Get missed punch by clock id
050 * @param clockLogId
051 * @return
052 */
053 public MissedPunchDocument getMissedPunchByClockLogId(String clockLogId);
054 /**
055 * Approve missed punch document
056 * @param document
057 * @return
058 */
059 public void approveMissedPunch(MissedPunchDocument document);
060 /**
061 * Get missed punch documents by batchJobEntry
062 * @param batchJobEntry
063 * @return
064 */
065 public List<MissedPunchDocument> getMissedPunchDocsByBatchJobEntry(BatchJobEntry batchJobEntry);
066 }