org.kuali.kfs.module.bc.document.service.impl
Class BudgetDocumentServiceImpl

java.lang.Object
  extended by org.kuali.kfs.module.bc.document.service.impl.BudgetDocumentServiceImpl
All Implemented Interfaces:
BudgetDocumentService

public class BudgetDocumentServiceImpl
extends Object
implements BudgetDocumentService

Implements the BudgetDocumentService interface. Methods here operate on objects associated with the Budget Construction document such as BudgetConstructionHeader


Constructor Summary
BudgetDocumentServiceImpl()
           
 
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.
protected  void calculateAnnualBenefits(BudgetConstructionDocument bcDoc)
           
 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
protected  void calculateMonthlyBenefits(BudgetConstructionDocument bcDoc)
           
 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
protected  boolean canUpdatePlugRecord(PendingBudgetConstructionAppointmentFunding appointmentFunding)
          determine whether the plug line can be updated or created.
protected  void checkForNulls(org.kuali.rice.kns.document.Document document)
          Does sanity checks for null document object and null documentNumber
 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
protected  PendingBudgetConstructionGeneralLedger getPendingBudgetConstructionGeneralLedger(BudgetConstructionHeader budgetConstructionHeader, PendingBudgetConstructionAppointmentFunding appointmentFunding, org.kuali.rice.kns.util.KualiInteger updateAmount, boolean is2PLG)
          get a pending budget construction GL record, and set its to the given update amount if it exists in database; otherwise, create it with the given information
 org.kuali.rice.kns.service.PersistenceService getPersistenceService()
          Gets the persistenceService attribute.
 List<BudgetConstructionAccountOrganizationHierarchy> getPushPullLevelList(BudgetConstructionDocument bcDoc, org.kuali.rice.kim.bo.Person person)
           
 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.
protected  void reloadBenefitsLines(BudgetConstructionDocument bcDoc)
          Reloads benefits target accounting lines.
 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
protected  PendingBudgetConstructionGeneralLedger retrievePendingBudgetConstructionGeneralLedger(BudgetConstructionHeader budgetConstructionHeader, PendingBudgetConstructionAppointmentFunding appointmentFunding, boolean is2PLG)
          retrieve a pending budget construction GL record based on the given infromation
 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 bcDoc)
          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 setBenefitsCalculationService(BenefitsCalculationService benefitsCalculationService)
          Sets the benefitsCalculationService attribute value.
 void setBudgetConstructionDao(BudgetConstructionDao budgetConstructionDao)
          Sets the budgetConstructionDao attribute value.
 void setBudgetParameterService(BudgetParameterService budgetParameterService)
          Sets the budgetParameterService attribute value.
 void setBusinessObjectService(org.kuali.rice.kns.service.BusinessObjectService businessObjectService)
          Sets the businessObjectService attribute value.
 void setDocumentDao(org.kuali.rice.kns.dao.DocumentDao documentDao)
          Sets the documentDao attribute value.
 void setDocumentService(org.kuali.rice.kns.service.DocumentService documentService)
          Sets the documentService attribute value.
 void setFiscalYearFunctionControlService(FiscalYearFunctionControlService fiscalYearFunctionControlService)
          Sets the fiscalYearFunctionControlService attribute value.
 void setKualiModuleService(org.kuali.rice.kns.service.KualiModuleService kualiModuleService)
          Sets the kualiModuleService attribute value.
 void setOptionsService(OptionsService optionsService)
          Sets the optionsService attribute value.
 void setOrganizationService(OrganizationService organizationService)
          Sets the organizationService attribute value.
 void setParameterService(org.kuali.rice.kns.service.ParameterService parameterService)
          Sets the parameterService attribute value.
 void setPersistenceService(org.kuali.rice.kns.service.PersistenceService persistenceService)
          Sets the persistenceService attribute value.
 void setWorkflowDocumentService(org.kuali.rice.kns.workflow.service.WorkflowDocumentService workflowDocumentService)
          Sets the workflowDocumentService attribute value.
 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 validateAndPersistDocument(org.kuali.rice.kns.document.Document document, org.kuali.rice.kns.rule.event.KualiDocumentEvent event)
          Runs validation and persists a document to the database.
 void validateDocument(org.kuali.rice.kns.document.Document document)
          Performs Budgetconstructiondocument validation as if saving, but does not perform the actual save.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BudgetDocumentServiceImpl

public BudgetDocumentServiceImpl()
Method Detail

getByCandidateKey

@Transactional
public BudgetConstructionHeader getByCandidateKey(String chartOfAccountsCode,
                                                                String accountNumber,
                                                                String subAccountNumber,
                                                                Integer fiscalYear)
Description copied from interface: BudgetDocumentService
Gets a BudgetConstructionHeader by the candidate key instead of primary key

Specified by:
getByCandidateKey in interface BudgetDocumentService
Returns:
See Also:
BudgetDocumentService.getByCandidateKey(java.lang.String, java.lang.String, java.lang.String, java.lang.Integer)

saveDocument

@Transactional
public org.kuali.rice.kns.document.Document saveDocument(BudgetConstructionDocument budgetConstructionDocument)
                                                  throws org.kuali.rice.kew.exception.WorkflowException,
                                                         org.kuali.rice.kns.exception.ValidationException
Description copied from interface: BudgetDocumentService
Performs all actions needed to validate and save a Budget Construction document to the database and workflow.

Specified by:
saveDocument in interface BudgetDocumentService
Returns:
Throws:
org.kuali.rice.kew.exception.WorkflowException
org.kuali.rice.kns.exception.ValidationException
See Also:
similar to DocumentService.saveDocument()

saveDocumentNoWorkflow

@Transactional
public org.kuali.rice.kns.document.Document saveDocumentNoWorkflow(BudgetConstructionDocument bcDoc)
                                                            throws org.kuali.rice.kns.exception.ValidationException
Description copied from interface: BudgetDocumentService
Performs all actions needed to validate and save a Budget Construction document to the database only.

Specified by:
saveDocumentNoWorkflow in interface BudgetDocumentService
Returns:
Throws:
org.kuali.rice.kns.exception.ValidationException
See Also:
org.kuali.kfs.module.bc.document.service.BudgetDocumentService#saveDocumentNoWorkflow(org.kuali.rice.kns.document.Document)

saveDocumentNoWorkFlow

@Transactional
public org.kuali.rice.kns.document.Document saveDocumentNoWorkFlow(BudgetConstructionDocument bcDoc,
                                                                                 BCConstants.MonthSpreadDeleteType monthSpreadDeleteType,
                                                                                 boolean doMonthRICheck)
                                                            throws org.kuali.rice.kns.exception.ValidationException
Description copied from interface: BudgetDocumentService
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

Specified by:
saveDocumentNoWorkFlow in interface BudgetDocumentService
Returns:
Throws:
org.kuali.rice.kns.exception.ValidationException
See Also:
BudgetDocumentService.saveDocumentNoWorkFlow(org.kuali.kfs.module.bc.document.BudgetConstructionDocument, org.kuali.kfs.module.bc.BCConstants.MonthSpreadDeleteType, boolean)

saveMonthlyBudget

@Transactional
public void saveMonthlyBudget(MonthlyBudgetForm monthlyBudgetForm,
                                            BudgetConstructionMonthly budgetConstructionMonthly)
Description copied from interface: BudgetDocumentService
Saves a single BudgetConstructionMonthly row

Specified by:
saveMonthlyBudget in interface BudgetDocumentService

callForBenefitsCalcIfNeeded

@Transactional
public void callForBenefitsCalcIfNeeded(BudgetConstructionDocument bcDoc,
                                                      BudgetConstructionMonthly budgetConstructionMonthly,
                                                      org.kuali.rice.kns.util.KualiInteger pbglChangeAmount)
Description copied from interface: BudgetDocumentService
Sets benefits calculation flags in Budget Construction Document associated with the monthly screen

Specified by:
callForBenefitsCalcIfNeeded in interface BudgetDocumentService
See Also:
BudgetDocumentService.callForBenefitsCalcIfNeeded(org.kuali.kfs.module.bc.document.BudgetConstructionDocument, org.kuali.kfs.module.bc.businessobject.BudgetConstructionMonthly, org.kuali.rice.kns.util.KualiInteger)

calculateBenefitsIfNeeded

@Transactional
public void calculateBenefitsIfNeeded(BudgetConstructionDocument bcDoc)
Description copied from interface: BudgetDocumentService
Checks if annual and/or monthly benefits need calculated and calls the associated calculation method

Specified by:
calculateBenefitsIfNeeded in interface BudgetDocumentService
See Also:
BudgetDocumentService.calculateBenefitsIfNeeded(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

calculateBenefits

@Transactional
public void calculateBenefits(BudgetConstructionDocument bcDoc)
Description copied from interface: BudgetDocumentService
Explicitly calls both the annual and monthly benefits calculation methods

Specified by:
calculateBenefits in interface BudgetDocumentService
See Also:
BudgetDocumentService.calculateBenefits(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

calculateAnnualBenefits

@Transactional
protected void calculateAnnualBenefits(BudgetConstructionDocument bcDoc)
See Also:
org.kuali.kfs.module.bc.document.service.BudgetDocumentService#calculateAnnualBenefits(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

calculateMonthlyBenefits

@Transactional
protected void calculateMonthlyBenefits(BudgetConstructionDocument bcDoc)
See Also:
org.kuali.kfs.module.bc.document.service.BudgetDocumentService#calculateMonthlyBenefits(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

checkForNulls

protected void checkForNulls(org.kuali.rice.kns.document.Document document)
Does sanity checks for null document object and null documentNumber

Parameters:
document -

validateAndPersistDocument

@Transactional
public void validateAndPersistDocument(org.kuali.rice.kns.document.Document document,
                                                     org.kuali.rice.kns.rule.event.KualiDocumentEvent event)
                                throws org.kuali.rice.kns.exception.ValidationException
Runs validation and persists a document to the database.

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

validateDocument

@Transactional
public void validateDocument(org.kuali.rice.kns.document.Document document)
                      throws org.kuali.rice.kns.exception.ValidationException
Description copied from interface: BudgetDocumentService
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.

Specified by:
validateDocument in interface BudgetDocumentService
Throws:
org.kuali.rice.kns.exception.ValidationException
See Also:
BudgetDocumentService.validateDocument(org.kuali.rice.kns.document.Document)

getPBGLSalarySettingRows

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

Specified by:
getPBGLSalarySettingRows in interface BudgetDocumentService
Returns:
See Also:
BudgetDocumentService.getPBGLSalarySettingRows(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

addOrUpdatePBGLRow

public BudgetConstructionDocument addOrUpdatePBGLRow(BudgetConstructionDocument bcDoc,
                                                     PendingBudgetConstructionGeneralLedger sourceRow)
Description copied from interface: BudgetDocumentService
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

Specified by:
addOrUpdatePBGLRow in interface BudgetDocumentService
Returns:
See Also:
BudgetDocumentService.addOrUpdatePBGLRow(org.kuali.kfs.module.bc.document.BudgetConstructionDocument, org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionGeneralLedger)

reloadBenefitsLines

@Transactional
protected void reloadBenefitsLines(BudgetConstructionDocument bcDoc)
Reloads benefits target accounting lines. Usually called right after an annual benefits calculation and the display needs updated with a fresh copy from the database. All old row versions are removed and database row versions are inserted in the list in the correct order.

Parameters:
bcDoc -

populatePBGLLine

@Transactional
public void populatePBGLLine(PendingBudgetConstructionGeneralLedger line)
Description copied from interface: BudgetDocumentService
Populates references for a given Pending Budget GL row.

Specified by:
populatePBGLLine in interface BudgetDocumentService
See Also:
BudgetDocumentService.populatePBGLLine(org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionGeneralLedger)

getPendingBudgetConstructionAppointmentFundingRequestSum

@Transactional
public org.kuali.rice.kns.util.KualiInteger getPendingBudgetConstructionAppointmentFundingRequestSum(PendingBudgetConstructionGeneralLedger salaryDetailLine)
Description copied from interface: BudgetDocumentService
Gets the salary detail lines request sum for a budget document expenditure accounting line

Specified by:
getPendingBudgetConstructionAppointmentFundingRequestSum in interface BudgetDocumentService
Returns:
See Also:
BudgetDocumentService.getPendingBudgetConstructionAppointmentFundingRequestSum(org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionGeneralLedger)

isBudgetableDocument

public boolean isBudgetableDocument(BudgetConstructionHeader bcHeader)
Description copied from interface: BudgetDocumentService
determine whether the given document is budgetable

Specified by:
isBudgetableDocument in interface BudgetDocumentService
Parameters:
bcHeader - the given budget document
Returns:
true if the given document is budgetable; otherwise, false
See Also:
BudgetDocumentService.isBudgetableDocument(org.kuali.kfs.module.bc.businessobject.BudgetConstructionHeader)

isBudgetableDocumentNoWagesCheck

public boolean isBudgetableDocumentNoWagesCheck(BudgetConstructionHeader bcHeader)
Description copied from interface: BudgetDocumentService
determine whether the given document is budgetable skipping the wages allowed check

Specified by:
isBudgetableDocumentNoWagesCheck in interface BudgetDocumentService
Parameters:
bcHeader - the given budget document
Returns:
true if the given document is budgetable; otherwise, false

isBudgetableDocument

public boolean isBudgetableDocument(BudgetConstructionDocument document)
Description copied from interface: BudgetDocumentService
determine whether the given document is budgetable

Specified by:
isBudgetableDocument in interface BudgetDocumentService
Parameters:
document - the given budget document
Returns:
true if the given document is budgetable; otherwise, false
See Also:
BudgetDocumentService.isBudgetableDocument(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

isBudgetableDocumentNoWagesCheck

public boolean isBudgetableDocumentNoWagesCheck(BudgetConstructionDocument document)
Description copied from interface: BudgetDocumentService
determine whether the given document is budgetable skipping the wages allowed check

Specified by:
isBudgetableDocumentNoWagesCheck in interface BudgetDocumentService
Parameters:
document - the given budget document
Returns:
true if the given document is budgetable; otherwise, false
See Also:
BudgetDocumentService.isBudgetableDocumentNoWagesCheck(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

isAssociatedWithBudgetableDocument

public boolean isAssociatedWithBudgetableDocument(PendingBudgetConstructionAppointmentFunding appointmentFunding)
Description copied from interface: BudgetDocumentService
determine whether the given appointment funding is associated with a budgetable document

Specified by:
isAssociatedWithBudgetableDocument in interface BudgetDocumentService
Parameters:
appointmentFunding - the given appointment funding
Returns:
true if the given appointment funding is associated with a budgetable document; otherwise, false
See Also:
BudgetDocumentService.isAssociatedWithBudgetableDocument(org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionAppointmentFunding)

isBudgetableAccount

public boolean isBudgetableAccount(Integer budgetYear,
                                   Account account,
                                   boolean isWagesCheck)
Description copied from interface: BudgetDocumentService
determine whether the given account is budgetable for the specified budget year

Specified by:
isBudgetableAccount in interface BudgetDocumentService
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
See Also:
org.kuali.kfs.module.bc.document.service.BudgetDocumentService#isBudgetableAccount(java.lang.Integer, org.kuali.kfs.coa.businessobject.Account)

isBudgetableSubAccount

public boolean isBudgetableSubAccount(SubAccount subAccount,
                                      String subAccountNumber)
Description copied from interface: BudgetDocumentService
determine whether the given subaccount is budgetable

Specified by:
isBudgetableSubAccount in interface BudgetDocumentService
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
See Also:
BudgetDocumentService.isBudgetableSubAccount(org.kuali.kfs.coa.businessobject.SubAccount, java.lang.String)

isAccountReportsExist

@Transactional
public boolean isAccountReportsExist(String chartOfAccountsCode,
                                                   String accountNumber)
Description copied from interface: BudgetDocumentService
Determine if account reports exists for the key passed in.

Specified by:
isAccountReportsExist in interface BudgetDocumentService
Returns:
See Also:
BudgetDocumentService.isAccountReportsExist(java.lang.String, java.lang.String)

updatePendingBudgetGeneralLedger

@Transactional
public void updatePendingBudgetGeneralLedger(PendingBudgetConstructionAppointmentFunding appointmentFunding,
                                                           org.kuali.rice.kns.util.KualiInteger updateAmount)
Description copied from interface: BudgetDocumentService
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

Specified by:
updatePendingBudgetGeneralLedger in interface BudgetDocumentService
Parameters:
appointmentFunding - the given appointment funding
updateAmount - the amount that can be used to update the amounts of the pending budget construction GL record
See Also:
BudgetDocumentService.updatePendingBudgetGeneralLedger(org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionAppointmentFunding, org.kuali.rice.kns.util.KualiInteger)

updatePendingBudgetGeneralLedgerPlug

@Transactional
public void updatePendingBudgetGeneralLedgerPlug(PendingBudgetConstructionAppointmentFunding appointmentFunding,
                                                               org.kuali.rice.kns.util.KualiInteger updateAmount)
Description copied from interface: BudgetDocumentService
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

Specified by:
updatePendingBudgetGeneralLedgerPlug in interface BudgetDocumentService
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
See Also:
BudgetDocumentService.updatePendingBudgetGeneralLedgerPlug(org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionAppointmentFunding, org.kuali.rice.kns.util.KualiInteger)

updatePendingBudgetGeneralLedgerPlug

@Transactional
public PendingBudgetConstructionGeneralLedger updatePendingBudgetGeneralLedgerPlug(BudgetConstructionDocument bcDoc,
                                                                                                 org.kuali.rice.kns.util.KualiInteger updateAmount)
Description copied from interface: BudgetDocumentService
Adds or updates the 2PLG row in a BudgetConstructionDocument adding the updateAmount into any existing request amount

Specified by:
updatePendingBudgetGeneralLedgerPlug in interface BudgetDocumentService
Returns:
See Also:
BudgetDocumentService.updatePendingBudgetGeneralLedgerPlug(org.kuali.kfs.module.bc.document.BudgetConstructionDocument, org.kuali.rice.kns.util.KualiInteger)

getBudgetConstructionHeader

public BudgetConstructionHeader getBudgetConstructionHeader(PendingBudgetConstructionAppointmentFunding appointmentFunding)
Description copied from interface: BudgetDocumentService
get the budget document with the information provided by the given appointment funding

Specified by:
getBudgetConstructionHeader in interface BudgetDocumentService
Parameters:
appointmentFunding - the given appointment funding
Returns:
the budget document with the information provided by the given appointment funding
See Also:
BudgetDocumentService.getBudgetConstructionHeader(org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionAppointmentFunding)

getBudgetConstructionDocument

public BudgetConstructionDocument getBudgetConstructionDocument(PendingBudgetConstructionAppointmentFunding appointmentFunding)
Description copied from interface: BudgetDocumentService
get the budget document with the information provided by the given appointment funding

Specified by:
getBudgetConstructionDocument in interface BudgetDocumentService
Parameters:
appointmentFunding - the given appointment funding
Returns:
the budget document with the information provided by the given appointment funding
See Also:
BudgetDocumentService.getBudgetConstructionDocument(org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionAppointmentFunding)

getBudgetConstructionDocument

public BudgetConstructionDocument getBudgetConstructionDocument(SalarySettingExpansion salarySettingExpansion)
Description copied from interface: BudgetDocumentService
get the budget document with the information provided by the given salary setting expansion

Specified by:
getBudgetConstructionDocument in interface BudgetDocumentService
Returns:
the budget document with the information provided by the given salary setting expansion
See Also:
BudgetDocumentService.getBudgetConstructionDocument(org.kuali.kfs.module.bc.businessobject.SalarySettingExpansion)

canUpdatePlugRecord

@Transactional
protected boolean canUpdatePlugRecord(PendingBudgetConstructionAppointmentFunding appointmentFunding)
determine whether the plug line can be updated or created. If the given appointment funding is in the plug override mode or it associates with a contract and grant account, then no plug can be updated or created

Parameters:
appointmentFunding - the given appointment funding
Returns:
true if the plug line can be updated or created; otherwise, false

getPendingBudgetConstructionGeneralLedger

@Transactional
protected PendingBudgetConstructionGeneralLedger getPendingBudgetConstructionGeneralLedger(BudgetConstructionHeader budgetConstructionHeader,
                                                                                                         PendingBudgetConstructionAppointmentFunding appointmentFunding,
                                                                                                         org.kuali.rice.kns.util.KualiInteger updateAmount,
                                                                                                         boolean is2PLG)
get a pending budget construction GL record, and set its to the given update amount if it exists in database; otherwise, create it with the given information

Parameters:
budgetConstructionHeader - the budget construction header of the pending budget construction GL record
appointmentFunding - the appointment funding associated with the pending budget construction GL record
updateAmount - the amount being used to update the retrieved pending budget construction GL record
is2PLG - the flag used to instrcut to retrieve a pending budget construction GL plug record
Returns:
a pending budget construction GL record if any; otherwise, create one with the given information

retrievePendingBudgetConstructionGeneralLedger

protected PendingBudgetConstructionGeneralLedger retrievePendingBudgetConstructionGeneralLedger(BudgetConstructionHeader budgetConstructionHeader,
                                                                                                PendingBudgetConstructionAppointmentFunding appointmentFunding,
                                                                                                boolean is2PLG)
retrieve a pending budget construction GL record based on the given infromation

Parameters:
budgetConstructionHeader - the budget construction header of the pending budget construction GL record to be retrieved
appointmentFunding - the appointment funding associated with the pending budget construction GL record to be retrieved
is2PLG - the flag used to instrcut to retrieve a pending budget construction GL plug record
Returns:
a pending budget construction GL record if any; otherwise, null

retrievePendingBudgetConstructionGeneralLedger

public List<PendingBudgetConstructionGeneralLedger> retrievePendingBudgetConstructionGeneralLedger(BudgetConstructionHeader budgetConstructionHeader)
Description copied from interface: BudgetDocumentService
retrieve all pending budget construction GL records associated with the given budget contruction header

Specified by:
retrievePendingBudgetConstructionGeneralLedger in interface BudgetDocumentService
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
See Also:
BudgetDocumentService.retrievePendingBudgetConstructionGeneralLedger(org.kuali.kfs.module.bc.businessobject.BudgetConstructionHeader)

retrieveOrBuildAccountOrganizationHierarchy

@Transactional
public List<BudgetConstructionAccountOrganizationHierarchy> retrieveOrBuildAccountOrganizationHierarchy(Integer universityFiscalYear,
                                                                                                                      String chartOfAccountsCode,
                                                                                                                      String accountNumber)
Description copied from interface: BudgetDocumentService
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.

Specified by:
retrieveOrBuildAccountOrganizationHierarchy in interface BudgetDocumentService
Returns:
See Also:
BudgetDocumentService.retrieveOrBuildAccountOrganizationHierarchy(java.lang.Integer, java.lang.String, java.lang.String)

instantiateNewBudgetConstructionDocument

@Transactional
public BudgetConstructionDocument instantiateNewBudgetConstructionDocument(BudgetConstructionDocument budgetConstructionDocument)
                                                                    throws org.kuali.rice.kew.exception.WorkflowException
Description copied from interface: BudgetDocumentService
Persists a brand new (blank) Budget Construction Document and prepares it to accept revenue/expenditure lines.

Specified by:
instantiateNewBudgetConstructionDocument in interface BudgetDocumentService
Returns:
Throws:
org.kuali.rice.kew.exception.WorkflowException
See Also:
BudgetDocumentService.instantiateNewBudgetConstructionDocument(org.kuali.kfs.module.bc.document.BudgetConstructionDocument)

getPushPullLevelList

@Transactional
public List<BudgetConstructionAccountOrganizationHierarchy> getPushPullLevelList(BudgetConstructionDocument bcDoc,
                                                                                               org.kuali.rice.kim.bo.Person person)
Specified by:
getPushPullLevelList in interface BudgetDocumentService
See Also:
BudgetDocumentService.getPushPullLevelList(org.kuali.kfs.module.bc.document.BudgetConstructionDocument, org.kuali.rice.kim.bo.Person)

setBudgetConstructionDao

public void setBudgetConstructionDao(BudgetConstructionDao budgetConstructionDao)
Sets the budgetConstructionDao attribute value.

Parameters:
budgetConstructionDao - The budgetConstructionDao to set.

setDocumentService

public void setDocumentService(org.kuali.rice.kns.service.DocumentService documentService)
Sets the documentService attribute value.

Parameters:
documentService - The documentService to set.

setWorkflowDocumentService

public void setWorkflowDocumentService(org.kuali.rice.kns.workflow.service.WorkflowDocumentService workflowDocumentService)
Sets the workflowDocumentService attribute value.

Parameters:
workflowDocumentService - The workflowDocumentService to set.

setDocumentDao

public void setDocumentDao(org.kuali.rice.kns.dao.DocumentDao documentDao)
Sets the documentDao attribute value.

Parameters:
documentDao - The documentDao to set.

setBenefitsCalculationService

public void setBenefitsCalculationService(BenefitsCalculationService benefitsCalculationService)
Sets the benefitsCalculationService attribute value.

Parameters:
benefitsCalculationService - The benefitsCalculationService to set.

setBusinessObjectService

public void setBusinessObjectService(org.kuali.rice.kns.service.BusinessObjectService businessObjectService)
Sets the businessObjectService attribute value.

Parameters:
businessObjectService - The businessObjectService to set.

setBudgetParameterService

public void setBudgetParameterService(BudgetParameterService budgetParameterService)
Sets the budgetParameterService attribute value.

Parameters:
budgetParameterService - The budgetParameterService to set.

setParameterService

public void setParameterService(org.kuali.rice.kns.service.ParameterService parameterService)
Sets the parameterService attribute value.

Parameters:
parameterService - The parameterService to set.

setFiscalYearFunctionControlService

public void setFiscalYearFunctionControlService(FiscalYearFunctionControlService fiscalYearFunctionControlService)
Sets the fiscalYearFunctionControlService attribute value.

Parameters:
fiscalYearFunctionControlService - The fiscalYearFunctionControlService to set.

setOptionsService

public void setOptionsService(OptionsService optionsService)
Sets the optionsService attribute value.

Parameters:
optionsService - The optionsService to set.

getPersistenceService

public org.kuali.rice.kns.service.PersistenceService getPersistenceService()
Gets the persistenceService attribute.

Returns:
Returns the persistenceService.

setPersistenceService

public void setPersistenceService(org.kuali.rice.kns.service.PersistenceService persistenceService)
Sets the persistenceService attribute value.

Parameters:
persistenceService - The persistenceService to set.

setOrganizationService

public void setOrganizationService(OrganizationService organizationService)
Sets the organizationService attribute value.

Parameters:
organizationService - The organizationService to set.

setKualiModuleService

public void setKualiModuleService(org.kuali.rice.kns.service.KualiModuleService kualiModuleService)
Sets the kualiModuleService attribute value.

Parameters:
kualiModuleService - The kualiModuleService to set.


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