public class DisbursementVoucherTaxServiceImpl extends Object implements DisbursementVoucherTaxService, DisbursementVoucherConstants
DisbursementVoucherConstants.DocumentStatusCodes, DisbursementVoucherConstants.DvPdpExtractGroup, DisbursementVoucherConstants.RouteLevelNames, DisbursementVoucherConstants.TabByReasonCode, DisbursementVoucherConstants.TabKey
ALIEN_INDICATOR_CHECKED_PARM_NM, ALIEN_PAYMENT_REASONS_PARM_NM, ALLOW_OBJECT_CODE_EDITS, CAMPUSES_TAXED_FOR_MOVING_REIMBURSEMENTS_PARM_NM, CHECK_EMPLOYEE_PAID_OUTSIDE_PAYROLL_PARM_NM, DECEDENT_COMPENSATION_PAYMENT_REASONS_PARM_NM, DEFAULT_DOC_LOCATION_PARM_NM, DOCUMENT_TYPE_CHECKACH, DOCUMENT_TYPE_CODE, DOCUMENT_TYPE_WTFD, DV_COVER_SHEET_TEMPLATE_ALIEN_PARM_NM, DV_COVER_SHEET_TEMPLATE_ATTACHMENT_PARM_NM, DV_COVER_SHEET_TEMPLATE_BAR_PARM_NM, DV_COVER_SHEET_TEMPLATE_HANDLING_PARM_NM, DV_COVER_SHEET_TEMPLATE_LINES_PARM_NM, DV_COVER_SHEET_TEMPLATE_NM, DV_COVER_SHEET_TEMPLATE_RLINES_PARM_NM, DV_PAYEE_TYPE_EMPLOYEE, DV_PAYEE_TYPE_EMPLOYEE_DESC, DV_PAYEE_TYPE_REVOLVING_FUND_VENDOR, DV_PAYEE_TYPE_SUBJECT_PAYMENT_VENDOR, DV_PAYEE_TYPE_VENDOR, FEDERAL_TAX_PARM_PREFIX, FEDERAL_TAX_TYPE_CODE, FUNCTION_CODE_GLOBAL_RESTRICTION_PARM_NM, IMMEDIATE_EXTRACT_FROM_ADDRESS_PARM_NM, IMMEDIATE_EXTRACT_TO_ADDRESSES_PARM_NM, INDIVIDUAL_OWNERSHIP_TYPES_PARM_NM, INVALID_DOC_LOC_BY_CAMPUS_PARM, INVALID_DOC_LOC_BY_PAYMENT_REASON_PARM, INVALID_OBJ_CODE_BY_PAYMENT_REASON_PARM, INVALID_OBJ_LEVEL_BY_PAYMENT_REASON_PARM, INVALID_OBJECT_SUB_TYPES_BY_SUB_FUND_GROUP_PARM, INVALID_PAYEE_TYPES_BY_PAYMENT_REASON_PARM, INVALID_SUB_FUND_GROUPS_BY_PAYMENT_REASON_PARM, MAX_NOTE_LINE_SIZE, MOVING_PAYMENT_REASONS_PARM_NM, NO_DOCUMENTATION_LOCATION, NON_VENDOR_EMPLOYEE_PAYEE_TYPE_LABEL_PARM_NM, NONEMPLOYEE_TRAVEL_ACTUAL_MILEAGE_LIMIT_PARM_NM, NONEMPLOYEE_TRAVEL_PAY_REASONS_PARM_NM, NRA_TAX_INCOME_CLASS_FELLOWSHIP, NRA_TAX_INCOME_CLASS_INDEPENDENT_CONTRACTOR, NRA_TAX_INCOME_CLASS_NON_REPORTABLE, NRA_TAX_INCOME_CLASS_ROYALTIES, OBJECT_LEVEL_GLOBAL_RESTRICTION_PARM_NM, OBJECT_SUB_TYPE_GLOBAL_RESTRICTION_PARM_NM, OBJECT_TYPE_GLOBAL_RESTRICTION_PARM_NM, PAYMENT_METHOD_CHECK, PAYMENT_METHOD_DRAFT, PAYMENT_METHOD_WIRE, PAYMENT_REASON_CODE_RENTAL_PAYMENT_PARM_NM, PAYMENT_REASON_CODE_ROYALTIES_PARM_NM, PAYMENT_REASON_CODE_TRAVEL_HONORARIUM_PARM_NM, PAYMENT_REASONS_REQUIRING_TAX_REVIEW_PARM_NM, PERFORM_PREPAID_EMPL_PARM_NM, PO_AND_DV_PAYEE_TYPE_LABEL_PARM_NM, PREPAID_TRAVEL_PAYMENT_REASONS_PARM_NM, RESEARCH_NON_VENDOR_PAY_LIMIT_AMOUNT_PARM_NM, RESEARCH_PAYMENT_REASONS_PARM_NM, REVOLVING_FUND_PAYMENT_REASONS_PARM_NM, STATE_TAX_PARM_PREFIX, STATE_TAX_TYPE_CODE, SUB_FUND_GLOBAL_RESTRICTION_PARM_NM, TAX_CONTROL_CODE_ALLOWS_EMPLOYEES, TAX_CONTROL_CODE_BEGIN_WITHHOLDING, TAX_CONTROL_CODE_HOLD_PAYMENT, TAX_DOCUMENTATION_LOCATION_CODE_PARM_NM, TAX_ID_TYPE_SSN, TAX_PARM_ACCOUNT_SUFFIX, TAX_PARM_CHART_SUFFIX, TAX_PARM_OBJECT_BY_INCOME_CLASS_SUFFIX, TAX_TYPE_FEIN, TAX_TYPE_SSN, TRAVEL_PER_DIEM_MESSAGE_PARM_NM, VALID_DOC_LOC_BY_CAMPUS_PARM, VALID_DOC_LOC_BY_PAYMENT_REASON_PARM, VALID_OBJ_CODE_BY_PAYMENT_REASON_PARM, VALID_OBJ_LEVEL_BY_PAYMENT_REASON_PARM, VALID_OBJECT_SUB_TYPES_BY_SUB_FUND_GROUP_PARM, VALID_PAYEE_TYPES_BY_PAYMENT_REASON_PARM, VALID_SUB_FUND_GROUPS_BY_PAYMENT_REASON_PARM, VALID_VENDOR_OWNERSHIP_TYPES_BY_PAYMENT_REASON, VENDOR_PAYEE_TYPE_CODES
Constructor and Description |
---|
DisbursementVoucherTaxServiceImpl() |
Modifier and Type | Method and Description |
---|---|
void |
clearNRATaxInfo(DisbursementVoucherDocument document)
Removes non-resident alien (NRA) check boxes and sets information to empty values.
|
void |
clearNRATaxLines(DisbursementVoucherDocument document)
Removes non-resident alien (NRA) tax lines from the document's accounting lines and updates the check total.
|
protected void |
generateNRATaxLines(DisbursementVoucherDocument document)
This method generates non-resident alien (NRA) tax lines for the given disbursement voucher.
|
protected AccountingLine |
generateTaxAccountingLine(DisbursementVoucherDocument document,
String chart,
String account,
String objectCode,
org.kuali.rice.core.api.util.type.KualiDecimal taxPercent,
org.kuali.rice.core.api.util.type.KualiDecimal taxableAmount)
Generates an accounting line for the chart, account, object code & tax percentage values given.
|
org.kuali.rice.krad.service.BusinessObjectService |
getBusinessObjectService()
Gets the value of the businessObjectService instance.
|
org.kuali.rice.krad.service.MaintenanceDocumentService |
getMaintenanceDocumentService()
Gets the value of the maintenanceDocumentService instance.
|
org.kuali.rice.core.api.util.type.KualiDecimal |
getNonResidentAlienTaxAmount(DisbursementVoucherDocument document)
This method retrieves the non-resident alien (NRA) tax amount using the disbursement voucher given to calculate the
amount.
|
List<Integer> |
getNRATaxLineNumbers(String taxLineString)
Parses the tax line string given and returns a list of line numbers as Integers.
|
String |
getUniversalId(String taxIDNumber,
String taxPayerTypeCode)
This method retrieves the universal id of the individual or business entity who matches the tax id number and type
code given.
|
String |
getVendorId(String taxIDNumber,
String taxPayerTypeCode)
This method retrieves the vendor identification code for the vendor found who has a matching tax id and tax payer type
code.
|
void |
processNonResidentAlienTax(DisbursementVoucherDocument document)
This method validates the non-resident alien (NRA) tax information for the document and if the information validates,
the NRA tax lines are generated.
|
void |
setBusinessObjectService(org.kuali.rice.krad.service.BusinessObjectService businessObjectService)
This method sets the businessObjectService attribute to the value given.
|
void |
setMaintenanceDocumentService(org.kuali.rice.krad.service.MaintenanceDocumentService maintenanceDocumentService)
This method sets the maintenanceDocumentService attribute to the value given.
|
void |
setParameterService(org.kuali.rice.coreservice.framework.parameter.ParameterService parameterService)
This method sets the parameterService attribute to the value given.
|
protected boolean |
validateNRATaxInformation(DisbursementVoucherDocument document)
This method performs a series of validation checks to ensure that the disbursement voucher given contains non-resident
alien specific information and non-resident alien tax lines are necessary.
|
public DisbursementVoucherTaxServiceImpl()
public String getUniversalId(String taxIDNumber, String taxPayerTypeCode)
getUniversalId
in interface DisbursementVoucherTaxService
taxIDNumber
- The tax identification number of the user being retrieved.taxPayerTypeCode
- The tax payer type code of the user being retrieved. See the TAX_TYPE_* constants defined in
DisbursementVoucherRuleConstants for examples of valid tax type codes.org.kuali.ole.fp.document.service.DisbursementVoucherTaxService#getEmployeeNumber(java.lang.String, java.lang.String)
public String getVendorId(String taxIDNumber, String taxPayerTypeCode)
getVendorId
in interface DisbursementVoucherTaxService
taxIDNumber
- The tax id number used to retrieve the associated vendor.taxPayerTypeCode
- The tax payer type code used to retrieve the associated vendor. See the TAX_TYPE_* constants defined in
DisbursementVoucherRuleConstants for examples of valid tax type codes.org.kuali.ole.fp.document.service.DisbursementVoucherTaxService#getPayeeNumber(java.lang.String, java.lang.String)
protected void generateNRATaxLines(DisbursementVoucherDocument document)
document
- The disbursement voucher the NRA tax lines will be added to.org.kuali.ole.fp.document.service.DisbursementVoucherTaxService#generateNRATaxLines(org.kuali.ole.fp.document.DisbursementVoucherDocument)
protected AccountingLine generateTaxAccountingLine(DisbursementVoucherDocument document, String chart, String account, String objectCode, org.kuali.rice.core.api.util.type.KualiDecimal taxPercent, org.kuali.rice.core.api.util.type.KualiDecimal taxableAmount)
document
- The disbursement voucher the tax will be applied to.chart
- The chart code to be assigned to the accounting line generated.account
- The account code to be assigned to the accounting line generated.objectCode
- The object code used on the accounting line generated.taxPercent
- The tax rate to be used to calculate the tax amount.taxableAmount
- The total amount that is taxable. This amount is used in conjunction with the tax percent
to calculate the amount for the accounting lined being generated.public void processNonResidentAlienTax(DisbursementVoucherDocument document)
processNonResidentAlienTax
in interface DisbursementVoucherTaxService
document
- The disbursement voucher document the NRA tax information will be validated and the subsequent
tax lines generated for.org.kuali.ole.fp.document.service.DisbursementVoucherTaxService#processNonResidentAlienTax(org.kuali.ole.fp.document.DisbursementVoucherDocument,
java.util.List)
public void clearNRATaxInfo(DisbursementVoucherDocument document)
clearNRATaxInfo
in interface DisbursementVoucherTaxService
document
- The disbursement voucher the NRA tax lines will be removed from.public void clearNRATaxLines(DisbursementVoucherDocument document)
clearNRATaxLines
in interface DisbursementVoucherTaxService
document
- The disbursement voucher the NRA tax lines will be removed from.public org.kuali.rice.core.api.util.type.KualiDecimal getNonResidentAlienTaxAmount(DisbursementVoucherDocument document)
getNonResidentAlienTaxAmount
in interface DisbursementVoucherTaxService
document
- The disbursement voucher the NRA tax line amount will be calculated for.DisbursementVoucherTaxService.getNonResidentAlienTaxAmount(org.kuali.ole.fp.document.DisbursementVoucherDocument)
protected boolean validateNRATaxInformation(DisbursementVoucherDocument document)
document
- The disbursement voucher document to validate the tax lines for.org.kuali.ole.fp.document.service.DisbursementVoucherTaxService#validateNRATaxInformation(org.kuali.ole.fp.document.DisbursementVoucherDocument)
,
org.kuali.ole.fp.document.validation.impl.DisbursementVoucherDocumentRule#validateNonResidentAlienInformation(DisbursementVoucherDocument)
public List<Integer> getNRATaxLineNumbers(String taxLineString)
getNRATaxLineNumbers
in interface DisbursementVoucherTaxService
taxLineString
- The string to be parsed.public void setParameterService(org.kuali.rice.coreservice.framework.parameter.ParameterService parameterService)
parameterService
- The ParameterService to be set.public org.kuali.rice.krad.service.BusinessObjectService getBusinessObjectService()
public void setBusinessObjectService(org.kuali.rice.krad.service.BusinessObjectService businessObjectService)
businessObjectService
- The businessObjectService to set.public org.kuali.rice.krad.service.MaintenanceDocumentService getMaintenanceDocumentService()
public void setMaintenanceDocumentService(org.kuali.rice.krad.service.MaintenanceDocumentService maintenanceDocumentService)
maintenanceDocumentService
- The maintenanceDocumentService to set.Copyright © 2004–2015 The Kuali Foundation. All rights reserved.