org.kuali.kfs.module.bc.document.service
Interface BudgetDocumentService

All Known Implementing Classes:
BudgetDocumentServiceImpl

public interface BudgetDocumentService

This defines the methods a BudgetDocumentService must implement


Method Summary
 BudgetConstructionDocument addOrUpdatePBGLRow(BudgetConstructionDocument bcDoc, PendingBudgetConstructionGeneralLedger sourceRow)
          Adds or Updates a Pending Budget GL row to a BudgetConstruction document with the passed in Pending Budget GL object.
 void calculateBenefits(BudgetConstructionDocument bcDoc)
          Explicitly calls both the annual and monthly benefits calculation methods
 void calculateBenefitsIfNeeded(BudgetConstructionDocument bcDoc)
          Checks if annual and/or monthly benefits need calculated and calls the associated calculation method
 void callForBenefitsCalcIfNeeded(BudgetConstructionDocument bcDoc, BudgetConstructionMonthly budgetConstructionMonthly, org.kuali.rice.kns.util.KualiInteger pbglChangeAmount)
          Sets benefits calculation flags in Budget Construction Document associated with the monthly screen
 BudgetConstructionDocument getBudgetConstructionDocument(PendingBudgetConstructionAppointmentFunding appointmentFunding)
          get the budget document with the information provided by the given appointment funding
 BudgetConstructionDocument getBudgetConstructionDocument(SalarySettingExpansion salarySettingExpansion)
          get the budget document with the information provided by the given salary setting expansion
 BudgetConstructionHeader getBudgetConstructionHeader(PendingBudgetConstructionAppointmentFunding appointmentFunding)
          get the budget document with the information provided by the given appointment funding
 BudgetConstructionHeader getByCandidateKey(String chartOfAccountsCode, String accountNumber, String subAccountNumber, Integer fiscalYear)
          Gets a BudgetConstructionHeader by the candidate key instead of primary key
 List<PendingBudgetConstructionGeneralLedger> getPBGLSalarySettingRows(BudgetConstructionDocument bcDocument)
          Returns a list of Pending Budget GL rows from the DB for the BudgetConstructionDocument that are associated with Salary Setting including any 2PLG rows.
 org.kuali.rice.kns.util.KualiInteger getPendingBudgetConstructionAppointmentFundingRequestSum(PendingBudgetConstructionGeneralLedger salaryDetailLine)
          Gets the salary detail lines request sum for a budget document expenditure accounting line
 List<BudgetConstructionAccountOrganizationHierarchy> getPushPullLevelList(BudgetConstructionDocument bcDoc, org.kuali.rice.kim.bo.Person u)
           
 BudgetConstructionDocument instantiateNewBudgetConstructionDocument(BudgetConstructionDocument budgetConstructionDocument)
          Persists a brand new (blank) Budget Construction Document and prepares it to accept revenue/expenditure lines.
 boolean isAccountReportsExist(String chartOfAccountsCode, String accountNumber)
          Determine if account reports exists for the key passed in.
 boolean isAssociatedWithBudgetableDocument(PendingBudgetConstructionAppointmentFunding appointmentFunding)
          determine whether the given appointment funding is associated with a budgetable document
 boolean isBudgetableAccount(Integer budgetYear, Account account, boolean isWagesCheck)
          determine whether the given account is budgetable for the specified budget year
 boolean isBudgetableDocument(BudgetConstructionDocument document)
          determine whether the given document is budgetable
 boolean isBudgetableDocument(BudgetConstructionHeader bcHeader)
          determine whether the given document is budgetable
 boolean isBudgetableDocumentNoWagesCheck(BudgetConstructionDocument document)
          determine whether the given document is budgetable skipping the wages allowed check
 boolean isBudgetableDocumentNoWagesCheck(BudgetConstructionHeader bcHeader)
          determine whether the given document is budgetable skipping the wages allowed check
 boolean isBudgetableSubAccount(SubAccount subAccount, String subAccountNumber)
          determine whether the given subaccount is budgetable
 void populatePBGLLine(PendingBudgetConstructionGeneralLedger line)
          Populates references for a given Pending Budget GL row.
 List<BudgetConstructionAccountOrganizationHierarchy> retrieveOrBuildAccountOrganizationHierarchy(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber)
          Retrieves the Account Organization Hierarchy for the primary key passed in.
 List<PendingBudgetConstructionGeneralLedger> retrievePendingBudgetConstructionGeneralLedger(BudgetConstructionHeader budgetConstructionHeader)
          retrieve all pending budget construction GL records associated with the given budget contruction header
 org.kuali.rice.kns.document.Document saveDocument(BudgetConstructionDocument budgetConstructionDocument)
          Performs all actions needed to validate and save a Budget Construction document to the database and workflow.
 org.kuali.rice.kns.document.Document saveDocumentNoWorkflow(BudgetConstructionDocument budgetConstructionDocument)
          Performs all actions needed to validate and save a Budget Construction document to the database only.
 org.kuali.rice.kns.document.Document saveDocumentNoWorkFlow(BudgetConstructionDocument bcDoc, BCConstants.MonthSpreadDeleteType monthSpreadDeleteType, boolean doMonthRICheck)
          Performs all actions needed to validate and save a Budget Construction document to the database only.
 void saveMonthlyBudget(MonthlyBudgetForm monthlyBudgetForm, BudgetConstructionMonthly budgetConstructionMonthly)
          Saves a single BudgetConstructionMonthly row
 void updatePendingBudgetGeneralLedger(PendingBudgetConstructionAppointmentFunding appointmentFunding, org.kuali.rice.kns.util.KualiInteger updateAmount)
          update the pending budget construction GL record assocating with the given appointment funding.
 PendingBudgetConstructionGeneralLedger updatePendingBudgetGeneralLedgerPlug(BudgetConstructionDocument bcDoc, org.kuali.rice.kns.util.KualiInteger updateAmount)
          Adds or updates the 2PLG row in a BudgetConstructionDocument adding the updateAmount into any existing request amount
 void updatePendingBudgetGeneralLedgerPlug(PendingBudgetConstructionAppointmentFunding appointmentFunding, org.kuali.rice.kns.util.KualiInteger updateAmount)
          update the pending budget construction GL plug record assocating with the given appointment funding.
 void validateDocument(org.kuali.rice.kns.document.Document document)
          Performs Budgetconstructiondocument validation as if saving, but does not perform the actual save.
 

Method Detail

getByCandidateKey

BudgetConstructionHeader getByCandidateKey(String chartOfAccountsCode,
                                           String accountNumber,
                                           String subAccountNumber,
                                           Integer fiscalYear)
Gets a BudgetConstructionHeader by the candidate key instead of primary key

Parameters:
chartOfAccountsCode -
accountNumber -
subAccountNumber -
fiscalYear -
Returns:

saveDocument

org.kuali.rice.kns.document.Document saveDocument(BudgetConstructionDocument budgetConstructionDocument)
                                                  throws org.kuali.rice.kew.exception.WorkflowException,
                                                         org.kuali.rice.kns.exception.ValidationException
Performs all actions needed to validate and save a Budget Construction document to the database and workflow.

Parameters:
document -
Returns:
Throws:
org.kuali.rice.kew.exception.WorkflowException
org.kuali.rice.kns.exception.ValidationException

saveDocumentNoWorkflow

org.kuali.rice.kns.document.Document saveDocumentNoWorkflow(BudgetConstructionDocument budgetConstructionDocument)
                                                            throws org.kuali.rice.kns.exception.ValidationException
Performs all actions needed to validate and save a Budget Construction document to the database only.

Parameters:
document -
Returns:
Throws:
org.kuali.rice.kns.exception.ValidationException

saveDocumentNoWorkFlow

org.kuali.rice.kns.document.Document saveDocumentNoWorkFlow(BudgetConstructionDocument bcDoc,
                                                            BCConstants.MonthSpreadDeleteType monthSpreadDeleteType,
                                                            boolean doMonthRICheck)
                                                            throws org.kuali.rice.kns.exception.ValidationException
Performs all actions needed to validate and save a Budget Construction document to the database only. Whether or not the monthly RI check is performed during validation is controlled using doMonthRICheck. Passing in false is a case used by the monthlySpread deletion functionality. No need to perform monthly RI check if the action is to remove all the records

Parameters:
bcDoc -
doMonthRICheck -
Returns:
Throws:
org.kuali.rice.kns.exception.ValidationException

saveMonthlyBudget

void saveMonthlyBudget(MonthlyBudgetForm monthlyBudgetForm,
                       BudgetConstructionMonthly budgetConstructionMonthly)
Saves a single BudgetConstructionMonthly row

Parameters:
budgetConstructionMonthly -

callForBenefitsCalcIfNeeded

void callForBenefitsCalcIfNeeded(BudgetConstructionDocument bcDoc,
                                 BudgetConstructionMonthly budgetConstructionMonthly,
                                 org.kuali.rice.kns.util.KualiInteger pbglChangeAmount)
Sets benefits calculation flags in Budget Construction Document associated with the monthly screen

Parameters:
bcDoc -
budgetConstructionMonthly -
pbglChangeAmount -

calculateBenefitsIfNeeded

void calculateBenefitsIfNeeded(BudgetConstructionDocument bcDoc)
Checks if annual and/or monthly benefits need calculated and calls the associated calculation method

Parameters:
bcDoc -

calculateBenefits

void calculateBenefits(BudgetConstructionDocument bcDoc)
Explicitly calls both the annual and monthly benefits calculation methods

Parameters:
bcDoc -

getPendingBudgetConstructionAppointmentFundingRequestSum

org.kuali.rice.kns.util.KualiInteger getPendingBudgetConstructionAppointmentFundingRequestSum(PendingBudgetConstructionGeneralLedger salaryDetailLine)
Gets the salary detail lines request sum for a budget document expenditure accounting line

Parameters:
salaryDetailLine -
Returns:

getPushPullLevelList

List<BudgetConstructionAccountOrganizationHierarchy> getPushPullLevelList(BudgetConstructionDocument bcDoc,
                                                                          org.kuali.rice.kim.bo.Person u)

updatePendingBudgetGeneralLedger

void updatePendingBudgetGeneralLedger(PendingBudgetConstructionAppointmentFunding appointmentFunding,
                                      org.kuali.rice.kns.util.KualiInteger updateAmount)
update the pending budget construction GL record assocating with the given appointment funding. If there exists any pbgl record, a new one will be created and stored

Parameters:
appointmentFunding - the given appointment funding
updateAmount - the amount that can be used to update the amounts of the pending budget construction GL record

updatePendingBudgetGeneralLedgerPlug

void updatePendingBudgetGeneralLedgerPlug(PendingBudgetConstructionAppointmentFunding appointmentFunding,
                                          org.kuali.rice.kns.util.KualiInteger updateAmount)
update the pending budget construction GL plug record assocating with the given appointment funding. If there exists any pbgl plug record, a new one will be created and stored

Parameters:
appointmentFunding - the given appointment funding
updateAmount - the amount that can be used to update the amounts of the pending budget construction GL plug record

getBudgetConstructionHeader

BudgetConstructionHeader getBudgetConstructionHeader(PendingBudgetConstructionAppointmentFunding appointmentFunding)
get the budget document with the information provided by the given appointment funding

Parameters:
appointmentFunding - the given appointment funding
Returns:
the budget document with the information provided by the given appointment funding

getBudgetConstructionDocument

BudgetConstructionDocument getBudgetConstructionDocument(PendingBudgetConstructionAppointmentFunding appointmentFunding)
get the budget document with the information provided by the given appointment funding

Parameters:
appointmentFunding - the given appointment funding
Returns:
the budget document with the information provided by the given appointment funding

getBudgetConstructionDocument

BudgetConstructionDocument getBudgetConstructionDocument(SalarySettingExpansion salarySettingExpansion)
get the budget document with the information provided by the given salary setting expansion

Parameters:
salarySettingExpansion -
Returns:
the budget document with the information provided by the given salary setting expansion

isBudgetableDocument

boolean isBudgetableDocument(BudgetConstructionHeader bcHeader)
determine whether the given document is budgetable

Parameters:
bcHeader - the given budget document
Returns:
true if the given document is budgetable; otherwise, false

isBudgetableDocumentNoWagesCheck

boolean isBudgetableDocumentNoWagesCheck(BudgetConstructionHeader bcHeader)
determine whether the given document is budgetable skipping the wages allowed check

Parameters:
bcHeader - the given budget document
Returns:
true if the given document is budgetable; otherwise, false

isBudgetableDocument

boolean isBudgetableDocument(BudgetConstructionDocument document)
determine whether the given document is budgetable

Parameters:
document - the given budget document
Returns:
true if the given document is budgetable; otherwise, false

isBudgetableDocumentNoWagesCheck

boolean isBudgetableDocumentNoWagesCheck(BudgetConstructionDocument document)
determine whether the given document is budgetable skipping the wages allowed check

Parameters:
document - the given budget document
Returns:
true if the given document is budgetable; otherwise, false

isAssociatedWithBudgetableDocument

boolean isAssociatedWithBudgetableDocument(PendingBudgetConstructionAppointmentFunding appointmentFunding)
determine whether the given appointment funding is associated with a budgetable document

Parameters:
appointmentFunding - the given appointment funding
Returns:
true if the given appointment funding is associated with a budgetable document; otherwise, false

isBudgetableAccount

boolean isBudgetableAccount(Integer budgetYear,
                            Account account,
                            boolean isWagesCheck)
determine whether the given account is budgetable for the specified budget year

Parameters:
budgetYear - the specified budget year
account - the given account
isWagesCheck - whether or not to include the no wages check
Returns:
true if the given account is budgetable for the specified budget year; otherwise, false

isBudgetableSubAccount

boolean isBudgetableSubAccount(SubAccount subAccount,
                               String subAccountNumber)
determine whether the given subaccount is budgetable

Parameters:
subAccount - the given subaccount
subAccountNumber - the sub account number associated with the given sub account. If sub account is null, the number can be empty or the default.
Returns:
true if the given subaccount is budgetable; otherwise, false

isAccountReportsExist

boolean isAccountReportsExist(String chartOfAccountsCode,
                              String accountNumber)
Determine if account reports exists for the key passed in.

Parameters:
chartOfAccountsCode -
accountNumber -
Returns:

retrievePendingBudgetConstructionGeneralLedger

List<PendingBudgetConstructionGeneralLedger> retrievePendingBudgetConstructionGeneralLedger(BudgetConstructionHeader budgetConstructionHeader)
retrieve all pending budget construction GL records associated with the given budget contruction header

Parameters:
budgetConstructionHeader - the budget construction header associated with the pending budget construction GL records to be retrieved
Returns:
all pending budget construction GL records associated with the given budget contruction header

getPBGLSalarySettingRows

List<PendingBudgetConstructionGeneralLedger> getPBGLSalarySettingRows(BudgetConstructionDocument bcDocument)
Returns a list of Pending Budget GL rows from the DB for the BudgetConstructionDocument that are associated with Salary Setting including any 2PLG rows.

Parameters:
bcDocument -
Returns:

addOrUpdatePBGLRow

BudgetConstructionDocument addOrUpdatePBGLRow(BudgetConstructionDocument bcDoc,
                                              PendingBudgetConstructionGeneralLedger sourceRow)
Adds or Updates a Pending Budget GL row to a BudgetConstruction document with the passed in Pending Budget GL object. Any inserts are added in the proper order in the list based on object code, sub-object code sort order

Parameters:
bcDoc -
sourceRow -
Returns:

updatePendingBudgetGeneralLedgerPlug

PendingBudgetConstructionGeneralLedger updatePendingBudgetGeneralLedgerPlug(BudgetConstructionDocument bcDoc,
                                                                            org.kuali.rice.kns.util.KualiInteger updateAmount)
Adds or updates the 2PLG row in a BudgetConstructionDocument adding the updateAmount into any existing request amount

Parameters:
bcDoc -
updateAmount -
Returns:

validateDocument

void validateDocument(org.kuali.rice.kns.document.Document document)
                      throws org.kuali.rice.kns.exception.ValidationException
Performs Budgetconstructiondocument validation as if saving, but does not perform the actual save. This is used to immediately give feedback to the user when returning from Salary Setting in the event there are Monthly RI issues.

Parameters:
document -
Throws:
org.kuali.rice.kns.exception.ValidationException

populatePBGLLine

void populatePBGLLine(PendingBudgetConstructionGeneralLedger line)
Populates references for a given Pending Budget GL row.

Parameters:
line -

retrieveOrBuildAccountOrganizationHierarchy

List<BudgetConstructionAccountOrganizationHierarchy> retrieveOrBuildAccountOrganizationHierarchy(Integer universityFiscalYear,
                                                                                                 String chartOfAccountsCode,
                                                                                                 String accountNumber)
Retrieves the Account Organization Hierarchy for the primary key passed in. If not found, it attempts to build the hierarchy and return that. Unsuccessful builds are caused by either overflows (cycles in the reports to structure) or a missing account reports to mapping. In these cases an empty hierarchy list is returned.

Parameters:
universityFiscalYear -
chartOfAccountsCode -
accountNumber -
Returns:

instantiateNewBudgetConstructionDocument

BudgetConstructionDocument instantiateNewBudgetConstructionDocument(BudgetConstructionDocument budgetConstructionDocument)
                                                                    throws org.kuali.rice.kew.exception.WorkflowException
Persists a brand new (blank) Budget Construction Document and prepares it to accept revenue/expenditure lines.

Parameters:
budgetConstructionDocument -
Returns:
Throws:
org.kuali.rice.kew.exception.WorkflowException


Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.