View Javadoc
1   /*
2    * The Kuali Financial System, a comprehensive financial management system for higher education.
3    * 
4    * Copyright 2005-2014 The Kuali Foundation
5    * 
6    * This program is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Affero General Public License as
8    * published by the Free Software Foundation, either version 3 of the
9    * License, or (at your option) any later version.
10   * 
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Affero General Public License for more details.
15   * 
16   * You should have received a copy of the GNU Affero General Public License
17   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package org.kuali.kfs.module.bc.document.dataaccess;
20  
21  /**
22   * This interface defines the methods a BudgetOrganizationPushPullDao must provide. 
23   */
24  public interface BudgetOrganizationPushPullDao {
25      
26      /**
27       * Pulls up Budget Construction documents based on user selected Organizations and the current point of view Organization
28       * on the Organization Selection screen running in Pullup mode. 
29       * 
30       * @param principalId
31       * @param FiscalYear
32       * @param pointOfViewCharOfAccountsCode
33       * @param pointOfViewOrganizationCode
34       */
35      public void pullupSelectedOrganizationDocuments(String principalId, Integer fiscalYear, String pointOfViewCharOfAccountsCode, String pointOfViewOrganizationCode);
36  
37      /**
38       * Pushes down Budget Construction documents based on user selected Organizations and the current point of view Organization
39       * on the Organization Selection screen running in Pushdown mode.
40       *  
41       * @param principalId
42       * @param FiscalYear
43       * @param pointOfViewCharOfAccountsCode
44       * @param pointOfViewOrganizationCode
45       */
46      public void pushdownSelectedOrganizationDocuments(String principalId, Integer fiscalYear, String pointOfViewCharOfAccountsCode, String pointOfViewOrganizationCode);    
47  
48      /**
49       * Builds list of budget documents that are in the selected organizations and above the user's point of view. Called from the Org Pull Up screen to display the documents
50       * that will be affected by the pull up.
51       * 
52       * @param principalId current user doing the pullup
53       * @param fiscalYear budget fiscal year
54       * @param pointOfViewCharOfAccountsCode user's point of view chart
55       * @param pointOfViewOrganizationCode user's point of view org
56       * @return int number of rows affected (number of documents)
57       */
58      public int buildPullUpBudgetedDocuments(String principalId, Integer fiscalYear, String pointOfViewCharOfAccountsCode, String pointOfViewOrganizationCode);
59      
60      /**
61       * Builds list of budget documents that are in the selected organizations and at the user's point of view. Called from the Org Push Down screen to display the documents
62       * that will be affected by the push down.
63       * 
64       * @param principalId current user doing the pushdown
65       * @param fiscalYear budget fiscal year
66       * @param pointOfViewCharOfAccountsCode user's point of view chart
67       * @param pointOfViewOrganizationCode user's point of view org
68       * @return int number of rows affected (number of documents)
69       */
70      public int buildPushDownBudgetedDocuments(String principalId, Integer fiscalYear, String pointOfViewCharOfAccountsCode, String pointOfViewOrganizationCode);
71  }
72