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.lm.workflow.service; 017 018 import java.util.Date; 019 import java.util.List; 020 021 import org.apache.commons.lang.StringUtils; 022 import org.kuali.hr.lm.leavecalendar.LeaveCalendarDocument; 023 import org.kuali.hr.lm.workflow.LeaveCalendarDocumentHeader; 024 import org.kuali.hr.lm.workflow.dao.LeaveCalendarDocumentHeaderDao; 025 import org.kuali.hr.time.util.TKContext; 026 import org.kuali.hr.time.util.TkConstants; 027 028 public class LeaveCalendarDocumentHeaderServiceImpl implements LeaveCalendarDocumentHeaderService { 029 030 private LeaveCalendarDocumentHeaderDao leaveCalendarDocumentHeaderDao; 031 032 public LeaveCalendarDocumentHeaderDao getLeaveCalendarDocumentHeaderDao() { 033 return leaveCalendarDocumentHeaderDao; 034 } 035 036 public void setLeaveCalendarDocumentHeaderDao(LeaveCalendarDocumentHeaderDao leaveCalendarDocumentHeaderDao) { 037 this.leaveCalendarDocumentHeaderDao = leaveCalendarDocumentHeaderDao; 038 } 039 040 @Override 041 public LeaveCalendarDocumentHeader getDocumentHeader(String documentId) { 042 return leaveCalendarDocumentHeaderDao.getLeaveCalendarDocumentHeader(documentId); 043 } 044 045 @Override 046 public LeaveCalendarDocumentHeader getDocumentHeader(String principalId, Date beginDate, Date endDate) { 047 return leaveCalendarDocumentHeaderDao.getLeaveCalendarDocumentHeader(principalId, beginDate, endDate); 048 } 049 050 @Override 051 public void saveOrUpdate(LeaveCalendarDocumentHeader leaveCalendarDocumentHeader) { 052 leaveCalendarDocumentHeaderDao.saveOrUpdate(leaveCalendarDocumentHeader); 053 } 054 055 @Override 056 public LeaveCalendarDocumentHeader getPrevOrNextDocumentHeader( 057 String prevOrNext, String principalId) { 058 LeaveCalendarDocument currentLeaveCalendar = TKContext.getCurrentLeaveCalendarDocument(); 059 LeaveCalendarDocumentHeader lcdh; 060 if (StringUtils.equals(prevOrNext, TkConstants.PREV_TIMESHEET)) { 061 lcdh = leaveCalendarDocumentHeaderDao.getPreviousDocumentHeader(principalId, currentLeaveCalendar.getDocumentHeader().getBeginDate()); 062 } else { 063 lcdh = leaveCalendarDocumentHeaderDao.getNextDocumentHeader(principalId, currentLeaveCalendar.getDocumentHeader().getEndDate()); 064 } 065 return lcdh; 066 } 067 068 @Override 069 public List<LeaveCalendarDocumentHeader> getDocumentHeaders(Date beginDate, Date endDate) { 070 return leaveCalendarDocumentHeaderDao.getDocumentHeaders(beginDate, endDate); 071 } 072 073 @Override 074 public LeaveCalendarDocumentHeader getMaxEndDateApprovedLeaveCalendar(String principalId) { 075 return leaveCalendarDocumentHeaderDao.getMaxEndDateApprovedLeaveCalendar(principalId); 076 } 077 078 @Override 079 public LeaveCalendarDocumentHeader getMinBeginDatePendingLeaveCalendar(String principalId) { 080 return leaveCalendarDocumentHeaderDao.getMinBeginDatePendingLeaveCalendar(principalId); 081 } 082 083 @Override 084 public List<LeaveCalendarDocumentHeader> getAllDocumentHeadersForPricipalId(String principalId){ 085 return leaveCalendarDocumentHeaderDao.getAllDocumentHeadersForPricipalId(principalId); 086 } 087 088 @Override 089 public List<LeaveCalendarDocumentHeader> getSubmissionDelinquentDocumentHeaders(String principalId, Date beforeDate) { 090 return leaveCalendarDocumentHeaderDao.getSubmissionDelinquentDocumentHeaders(principalId, beforeDate); 091 } 092 093 @Override 094 public List<LeaveCalendarDocumentHeader> getApprovalDelinquentDocumentHeaders(String principalId){ 095 return leaveCalendarDocumentHeaderDao.getApprovalDelinquentDocumentHeaders(principalId); 096 } 097 098 public void deleteLeaveCalendarHeader(String documentId){ 099 leaveCalendarDocumentHeaderDao.deleteLeaveCalendarHeader(documentId); 100 } 101 @Override 102 public List<LeaveCalendarDocumentHeader> getAllDocumentHeadersInRangeForPricipalId(String principalId, Date beginDate, Date endDate) { 103 return leaveCalendarDocumentHeaderDao.getAllDocumentHeadersInRangeForPricipalId(principalId, beginDate, endDate); 104 } 105 }