Search in sources :

Example 1 with DocumentAttributeString

use of org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString in project cu-kfs by CU-CommunityApps.

the class FinancialSystemSearchableAttribute method addSearchableAttributesForGLPE.

/**
 * Pulls the default searchable attribute - financialSystemTypeCode - from a given accounting line and populates
 * the searchable attribute values in the given list
 *
 * @param searchAttrValues a List of SearchableAttributeValue objects to populate
 * @param glpe             a GeneralLedgerPendingEntry to get values from
 */
protected void addSearchableAttributesForGLPE(List<DocumentAttribute> searchAttrValues, GeneralLedgerPendingEntry glpe) {
    if (glpe != null && StringUtils.isNotBlank(glpe.getFinancialDocumentTypeCode())) {
        DocumentAttributeString searchableAttributeValue = new DocumentAttributeString(KFSPropertyConstants.FINANCIAL_DOCUMENT_TYPE_CODE, glpe.getFinancialDocumentTypeCode());
        searchAttrValues.add(searchableAttributeValue);
    }
}
Also used : DocumentAttributeString(org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString)

Example 2 with DocumentAttributeString

use of org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString in project cu-kfs by CU-CommunityApps.

the class FinancialSystemSearchableAttribute method addSearchableAttributesForAccountingLine.

/**
 * Pulls the default searchable attributes - chart code, account number, and account organization code - from a
 * given accounting line and populates the searchable attribute values in the given list
 *
 * @param searchAttrValues a List of SearchableAttributeValue objects to populate
 * @param accountingLine   an AccountingLine to get values from
 */
protected void addSearchableAttributesForAccountingLine(List<DocumentAttribute> searchAttrValues, AccountingLine accountingLine) {
    DocumentAttributeString searchableAttributeValue;
    if (!ObjectUtils.isNull(accountingLine)) {
        if (StringUtils.isNotBlank(accountingLine.getChartOfAccountsCode())) {
            searchableAttributeValue = new DocumentAttributeString(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, accountingLine.getChartOfAccountsCode());
            searchAttrValues.add(searchableAttributeValue);
        }
        if (StringUtils.isNotBlank(accountingLine.getAccountNumber())) {
            searchableAttributeValue = new DocumentAttributeString(KFSPropertyConstants.ACCOUNT_NUMBER, accountingLine.getAccountNumber());
            searchAttrValues.add(searchableAttributeValue);
        }
        if (!ObjectUtils.isNull(accountingLine.getAccount()) && StringUtils.isNotBlank(accountingLine.getAccount().getOrganizationCode())) {
            searchableAttributeValue = new DocumentAttributeString(KFSPropertyConstants.ORGANIZATION_CODE, accountingLine.getAccount().getOrganizationCode());
            searchAttrValues.add(searchableAttributeValue);
        }
    }
}
Also used : DocumentAttributeString(org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString)

Example 3 with DocumentAttributeString

use of org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString in project cu-kfs by CU-CommunityApps.

the class FinancialSystemSearchableAttribute method extractDocumentAttributes.

@Override
public List<DocumentAttribute> extractDocumentAttributes(RuleAttribute ruleAttribute, DocumentRouteHeaderValue document) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("extractDocumentAttributes( " + ruleAttribute + ", " + document + " )");
    }
    List<DocumentAttribute> searchAttrValues = super.extractDocumentAttributes(ruleAttribute, document);
    String docId = document.getDocumentId();
    DocumentService docService = SpringContext.getBean(DocumentService.class);
    Document doc = null;
    try {
        doc = docService.getByDocumentHeaderId(docId);
    } catch (WorkflowException we) {
    // ignore
    }
    if (doc != null) {
        if (doc instanceof AmountTotaling && ((AmountTotaling) doc).getTotalDollarAmount() != null) {
            DocumentAttributeDecimal searchableAttributeValue = new DocumentAttributeDecimal(KFSPropertyConstants.FINANCIAL_DOCUMENT_TOTAL_AMOUNT, ((AmountTotaling) doc).getTotalDollarAmount().bigDecimalValue());
            searchAttrValues.add(searchableAttributeValue);
        }
        if (doc instanceof AccountingDocument) {
            AccountingDocument accountingDoc = (AccountingDocument) doc;
            searchAttrValues.addAll(harvestAccountingDocumentSearchableAttributes(accountingDoc));
        }
        boolean indexedLedgerDoc = false;
        if (doc instanceof LaborLedgerPostingDocumentForSearching) {
            LaborLedgerPostingDocumentForSearching LLPostingDoc = (LaborLedgerPostingDocumentForSearching) doc;
            searchAttrValues.addAll(harvestLLPDocumentSearchableAttributes(LLPostingDoc));
            indexedLedgerDoc = true;
        }
        if (doc instanceof GeneralLedgerPostingDocument && !indexedLedgerDoc) {
            GeneralLedgerPostingDocument GLPostingDoc = (GeneralLedgerPostingDocument) doc;
            searchAttrValues.addAll(harvestGLPDocumentSearchableAttributes(GLPostingDoc));
        }
        DocumentHeader docHeader = doc.getDocumentHeader();
        if (ObjectUtils.isNotNull(docHeader) && ObjectUtils.isNotNull(docHeader.getWorkflowDocument()) && CUKFSConstants.GACC_DOCUMENT_TYPE.equalsIgnoreCase(docHeader.getWorkflowDocument().getDocumentTypeName())) {
            for (AccountGlobalDetail detail : ((AccountGlobal) ((AccountGlobalMaintainableImpl) ((FinancialSystemMaintenanceDocument) doc).getNewMaintainableObject()).getBusinessObject()).getAccountGlobalDetails()) {
                if (!StringUtils.isBlank(detail.getAccountNumber())) {
                    DocumentAttributeString searchableAttributeValue = new DocumentAttributeString(KFSPropertyConstants.ACCOUNT_NUMBER, detail.getAccountNumber());
                    searchAttrValues.add(searchableAttributeValue);
                }
            }
        }
    }
    return searchAttrValues;
}
Also used : WorkflowException(org.kuali.kfs.kew.api.exception.WorkflowException) DocumentAttributeDecimal(org.kuali.kfs.kew.api.document.attribute.DocumentAttributeDecimal) DocumentAttributeString(org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString) Document(org.kuali.kfs.krad.document.Document) GeneralLedgerPostingDocument(org.kuali.kfs.sys.document.GeneralLedgerPostingDocument) FinancialSystemMaintenanceDocument(org.kuali.kfs.sys.document.FinancialSystemMaintenanceDocument) AccountingDocument(org.kuali.kfs.sys.document.AccountingDocument) DocumentHeader(org.kuali.kfs.krad.bo.DocumentHeader) FinancialSystemDocumentHeader(org.kuali.kfs.sys.businessobject.FinancialSystemDocumentHeader) DocumentService(org.kuali.kfs.krad.service.DocumentService) LaborLedgerPostingDocumentForSearching(org.kuali.kfs.integration.ld.LaborLedgerPostingDocumentForSearching) FinancialSystemMaintenanceDocument(org.kuali.kfs.sys.document.FinancialSystemMaintenanceDocument) GeneralLedgerPostingDocument(org.kuali.kfs.sys.document.GeneralLedgerPostingDocument) AccountGlobal(org.kuali.kfs.coa.businessobject.AccountGlobal) DocumentAttribute(org.kuali.kfs.kew.api.document.attribute.DocumentAttribute) AccountingDocument(org.kuali.kfs.sys.document.AccountingDocument) AccountGlobalDetail(org.kuali.kfs.coa.businessobject.AccountGlobalDetail) DocumentAttributeString(org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString) AmountTotaling(org.kuali.kfs.sys.document.AmountTotaling)

Example 4 with DocumentAttributeString

use of org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString in project cu-kfs by CU-CommunityApps.

the class FinancialSystemSearchableAttribute method addSearchableAttributesForLLPE.

/**
 * Pulls the default searchable attribute - financialSystemTypeCode from a given accounting line and populates
 * the searchable attribute values in the given list
 *
 * @param searchAttrValues a List of SearchableAttributeValue objects to populate
 * @param llpe             a LaborLedgerPendingEntry to get values from
 */
protected void addSearchableAttributesForLLPE(List<DocumentAttribute> searchAttrValues, LaborLedgerPendingEntryForSearching llpe) {
    if (llpe != null && StringUtils.isNotBlank(llpe.getFinancialDocumentTypeCode())) {
        DocumentAttributeString searchableAttributeValue = new DocumentAttributeString(KFSPropertyConstants.FINANCIAL_DOCUMENT_TYPE_CODE, llpe.getFinancialDocumentTypeCode());
        searchAttrValues.add(searchableAttributeValue);
    }
}
Also used : DocumentAttributeString(org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString)

Aggregations

DocumentAttributeString (org.kuali.kfs.kew.api.document.attribute.DocumentAttributeString)4 AccountGlobal (org.kuali.kfs.coa.businessobject.AccountGlobal)1 AccountGlobalDetail (org.kuali.kfs.coa.businessobject.AccountGlobalDetail)1 LaborLedgerPostingDocumentForSearching (org.kuali.kfs.integration.ld.LaborLedgerPostingDocumentForSearching)1 DocumentAttribute (org.kuali.kfs.kew.api.document.attribute.DocumentAttribute)1 DocumentAttributeDecimal (org.kuali.kfs.kew.api.document.attribute.DocumentAttributeDecimal)1 WorkflowException (org.kuali.kfs.kew.api.exception.WorkflowException)1 DocumentHeader (org.kuali.kfs.krad.bo.DocumentHeader)1 Document (org.kuali.kfs.krad.document.Document)1 DocumentService (org.kuali.kfs.krad.service.DocumentService)1 FinancialSystemDocumentHeader (org.kuali.kfs.sys.businessobject.FinancialSystemDocumentHeader)1 AccountingDocument (org.kuali.kfs.sys.document.AccountingDocument)1 AmountTotaling (org.kuali.kfs.sys.document.AmountTotaling)1 FinancialSystemMaintenanceDocument (org.kuali.kfs.sys.document.FinancialSystemMaintenanceDocument)1 GeneralLedgerPostingDocument (org.kuali.kfs.sys.document.GeneralLedgerPostingDocument)1