001/* 002 * Copyright 2006 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 */ 016package org.kuali.ole.fp.service; 017 018import java.util.List; 019 020/** 021 * 022 * This interface defines methods that a FiscalYearFunctionControl Service must provide. 023 * 024 */ 025public interface FiscalYearFunctionControlService { 026 027 /** 028 * Retrieves list of fiscal years that the BudgetAdjustment is allowed in. 029 * 030 * @return A list of fiscal years that the current user is authorized to perform a budget adjustment against. 031 */ 032 public List getBudgetAdjustmentAllowedYears(); 033 034 /** 035 * Checks the fiscal year against the control tables to see if BudgetAdjustment to base amount is allowed. 036 * 037 * @param Posting year that the base amount is being changed for. 038 * @return True if the current user is authorized to edit the base amount, false otherwise. 039 */ 040 public boolean isBaseAmountChangeAllowed(Integer postingYear); 041 042 /** 043 * 044 * returns a list of years for which budget construction is visible in the application 045 * @return list of type integer 046 */ 047 public List<Integer> getActiveBudgetYear(); 048 049 /** 050 * 051 * checks the fiscal year against the control table to see if a user can force a refresh of human resources data for 052 * selected organizations in the budget construction security tree from the application 053 * @param universityFiscalYear 054 * @return true if selected human resources updates are allowed. 055 */ 056 public boolean isApplicationUpdateFromHumanResourcesAllowed(Integer universityFiscalYear); 057 058 /** 059 * 060 * checks the fiscal year against the control table to see if the batch process will do a global update (ALL changes found) 061 * of the human-resource derived data in budget construction 062 * @param universityFiscalYear 063 * @return true if the batch processes will feed human resource data changes into budget construction 064 */ 065 public boolean isBatchUpdateFromHumanResourcesAllowed(Integer universityFiscalYear); 066 067 /** 068 * 069 * checks the fiscal year against the control table to see if the batch process will update base salaries in the budget 070 * using the CalculatedSalaryFoundation data derived from payroll 071 * @param universityFiscalYear 072 * @return true if base salaries will be changed 073 */ 074 public boolean isBatchUpdateFromPayrollAllowed (Integer universityFiscalYear); 075 076 /** 077 * 078 * checks the fiscal year against the control table to see if users can view budget construction data in the application 079 * @param universityFiscalYear 080 * @return true if the budget construction data is viewable in general (in other words, security may still freeze some viewers 081 * out even though everyone is not excluded) 082 */ 083 public boolean isBudgetConstructionActive(Integer universityFiscalYear); 084 085 /** 086 * 087 * checks the fiscal year against the control table to see if the general ledger in budget construction should reflect 088 * current base budget amounts in the accounting general ledger for the fiscal year 089 * @param universityFiscalYear 090 * @return true if updates are allowed 091 */ 092 public boolean isBudgetGeneralLedgerUpdateAllowed(Integer universityFiscalYear); 093 094 /** 095 * 096 * checks the fiscal year against the control table to see if users can make edits to budget construction for the given year 097 * (some users may still be frozen out because of the security mechanism) 098 * @param universityFiscalYear 099 * @return true if authorized users can update budget construction using the application 100 */ 101 public boolean isBudgetUpdateAllowed(Integer universityFiscalYear); 102}