/** * This method populates the sales tax for a given accounting line with the appropriate primary * key fields from the accounting line since OJB won't do it automatically for us * * @param line */ protected void populateSalesTax(AccountingLine line) { SalesTax salesTax = line.getSalesTax(); if (ObjectUtils.isNotNull(salesTax)) { salesTax.setDocumentNumber(line.getDocumentNumber()); salesTax.setFinancialDocumentLineTypeCode(line.getFinancialDocumentLineTypeCode()); salesTax.setFinancialDocumentLineNumber(line.getSequenceNumber()); } }
protected boolean hasSalesTaxBeenEntered( AccountingLine accountingLine, boolean source, boolean newLine, int index) { boolean entered = true; String objCd = accountingLine.getFinancialObjectCode(); String account = accountingLine.getAccountNumber(); SalesTax salesTax = accountingLine.getSalesTax(); if (ObjectUtils.isNull(salesTax)) { return false; } if (StringUtils.isBlank(salesTax.getChartOfAccountsCode())) { entered &= false; } if (StringUtils.isBlank(salesTax.getAccountNumber())) { entered &= false; } if (salesTax.getFinancialDocumentGrossSalesAmount() == null) { entered &= false; } if (salesTax.getFinancialDocumentTaxableSalesAmount() == null) { entered &= false; } if (salesTax.getFinancialDocumentSaleDate() == null) { entered &= false; } return entered; }
/** * This method checks to see if the sales tax information was put into the accounting line * * @param accountingLine * @return true if entered correctly, false otherwise */ protected boolean isValidSalesTaxEntered( AccountingLine accountingLine, boolean source, boolean newLine, int index) { boolean valid = true; DictionaryValidationService dictionaryValidationService = SpringContext.getBean(DictionaryValidationService.class); BusinessObjectService boService = SpringContext.getBean(BusinessObjectService.class); String objCd = accountingLine.getFinancialObjectCode(); String account = accountingLine.getAccountNumber(); SalesTax salesTax = accountingLine.getSalesTax(); String pathPrefix = ""; if (source && !newLine) { pathPrefix = "document." + KFSConstants.EXISTING_SOURCE_ACCT_LINE_PROPERTY_NAME + "[" + index + "]"; } else if (!source && !newLine) { pathPrefix = "document." + KFSConstants.EXISTING_TARGET_ACCT_LINE_PROPERTY_NAME + "[" + index + "]"; } else if (source && newLine) { pathPrefix = KFSConstants.NEW_SOURCE_ACCT_LINE_PROPERTY_NAME; } else if (!source && newLine) { pathPrefix = KFSConstants.NEW_TARGET_ACCT_LINE_PROPERTY_NAME; } GlobalVariables.getMessageMap().addToErrorPath(pathPrefix); if (ObjectUtils.isNull(salesTax)) { valid &= false; GlobalVariables.getMessageMap() .putError( "salesTax.chartOfAccountsCode", ERROR_DOCUMENT_ACCOUNTING_LINE_SALES_TAX_REQUIRED, account, objCd); } else { if (StringUtils.isBlank(salesTax.getChartOfAccountsCode())) { valid &= false; GlobalVariables.getMessageMap() .putError("salesTax.chartOfAccountsCode", ERROR_REQUIRED, "Chart of Accounts"); } if (StringUtils.isBlank(salesTax.getAccountNumber())) { valid &= false; GlobalVariables.getMessageMap() .putError("salesTax.accountNumber", ERROR_REQUIRED, "Account Number"); } if (salesTax.getFinancialDocumentGrossSalesAmount() == null) { valid &= false; GlobalVariables.getMessageMap() .putError( "salesTax.financialDocumentGrossSalesAmount", ERROR_REQUIRED, "Gross Sales Amount"); } if (salesTax.getFinancialDocumentTaxableSalesAmount() == null) { valid &= false; GlobalVariables.getMessageMap() .putError( "salesTax.financialDocumentTaxableSalesAmount", ERROR_REQUIRED, "Taxable Sales Amount"); } if (salesTax.getFinancialDocumentSaleDate() == null) { valid &= false; GlobalVariables.getMessageMap() .putError("salesTax.financialDocumentSaleDate", ERROR_REQUIRED, "Sale Date"); } if (StringUtils.isNotBlank(salesTax.getChartOfAccountsCode()) && StringUtils.isNotBlank(salesTax.getAccountNumber())) { if (boService.getReferenceIfExists(salesTax, "account") == null) { valid &= false; GlobalVariables.getMessageMap() .putError( "salesTax.accountNumber", ERROR_DOCUMENT_ACCOUNTING_LINE_SALES_TAX_INVALID_ACCOUNT, salesTax.getChartOfAccountsCode(), salesTax.getAccountNumber()); } } if (!valid) { GlobalVariables.getMessageMap() .putError( "salesTax.chartOfAccountsCode", ERROR_DOCUMENT_ACCOUNTING_LINE_SALES_TAX_REQUIRED, account, objCd); } } GlobalVariables.getMessageMap().removeFromErrorPath(pathPrefix); return valid; }