View Javadoc
1   /*
2    * Copyright 2006 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.ole.fp.service;
17  
18  import java.util.List;
19  
20  /**
21   * 
22   * This interface defines methods that a FiscalYearFunctionControl Service must provide.
23   * 
24   */
25  public interface FiscalYearFunctionControlService {
26  
27      /**
28       * Retrieves list of fiscal years that the BudgetAdjustment is allowed in.
29       * 
30       * @return A list of fiscal years that the current user is authorized to perform a budget adjustment against.
31       */
32      public List getBudgetAdjustmentAllowedYears();
33  
34      /**
35       * Checks the fiscal year against the control tables to see if BudgetAdjustment to base amount is allowed.
36       * 
37       * @param Posting year that the base amount is being changed for.
38       * @return True if the current user is authorized to edit the base amount, false otherwise.
39       */
40      public boolean isBaseAmountChangeAllowed(Integer postingYear);
41      
42      /**
43       * 
44       * returns a list of years for which budget construction is visible in the application
45       * @return list of type integer
46       */
47      public List<Integer> getActiveBudgetYear();
48  
49      /**
50       * 
51       * checks the fiscal year against the control table to see if a user can force a refresh of human resources data for
52       * selected organizations in the budget construction security tree from the application
53       * @param universityFiscalYear
54       * @return true if selected human resources updates are allowed.
55       */
56      public boolean isApplicationUpdateFromHumanResourcesAllowed(Integer universityFiscalYear);
57      
58      /**
59       * 
60       * checks the fiscal year against the control table to see if the batch process will do a global update (ALL changes found)
61       * of the human-resource derived data in budget construction
62       * @param universityFiscalYear
63       * @return true if the batch processes will feed human resource data changes into budget construction
64       */
65      public boolean isBatchUpdateFromHumanResourcesAllowed(Integer universityFiscalYear);
66  
67      /**
68       * 
69       * checks the fiscal year against the control table to see if the batch process will update base salaries in the budget
70       * using the CalculatedSalaryFoundation data derived from payroll
71       * @param universityFiscalYear
72       * @return true if base salaries will be changed 
73       */
74      public boolean isBatchUpdateFromPayrollAllowed (Integer universityFiscalYear);
75      
76      /**
77       * 
78       * checks the fiscal year against the control table to see if users can view budget construction data in the application
79       * @param universityFiscalYear
80       * @return true if the budget construction data is viewable in general (in other words, security may still freeze some viewers
81       * out even though everyone is not excluded)
82       */
83      public boolean isBudgetConstructionActive(Integer universityFiscalYear);
84      
85      /**
86       * 
87       * checks the fiscal year against the control table to see if the general ledger in budget construction should reflect
88       * current base budget amounts in the accounting general ledger for the fiscal year 
89       * @param universityFiscalYear
90       * @return true if updates are allowed
91       */
92      public boolean isBudgetGeneralLedgerUpdateAllowed(Integer universityFiscalYear);
93  
94      /**
95       * 
96       * checks the fiscal year against the control table to see if users can make edits to budget construction for the given year
97       * (some users may still be frozen out because of the security mechanism)
98       * @param universityFiscalYear
99       * @return true if authorized users can update budget construction using the application
100      */
101     public boolean isBudgetUpdateAllowed(Integer universityFiscalYear);
102 }