protected ReportQueryByCriteria getBalanceCountQuery(Map fieldValues) { Criteria criteria = buildCriteriaFromMap(fieldValues, new LedgerBalance()); ReportQueryByCriteria query = QueryFactory.newReportQuery(LedgerBalance.class, criteria); // set the selection attributes query.setAttributes(new String[] { "count(*)" }); Collection<String> groupByList = buildGroupByCollection(); groupByList.remove(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); groupByList.remove(KFSPropertyConstants.FINANCIAL_SUB_OBJECT_CODE); groupByList.remove(KFSPropertyConstants.FINANCIAL_OBJECT_TYPE_CODE); // add the group criteria into the selection statement String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); return query; }
protected Iterator<Object[]> findBalanceSummaryRawData(Criteria criteria) { ReportQueryByCriteria query = QueryFactory.newReportQuery(LedgerBalance.class, criteria); List<String> groupByList = this.getGroupByListForBalanceSummary(); String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); List<String> getAttributeList = this.getAttributeListForBalanceSummary(false); String[] attributes = (String[]) getAttributeList.toArray(new String[getAttributeList.size()]); query.setAttributes(attributes); query.addOrderByAscending(groupByList.get(0)); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
/** * build the query for balance search * * @param fieldValues Map of keys to use for the query * @return an OJB ReportQuery to perform */ protected ReportQueryByCriteria getBalanceCountQuery(Map fieldValues) { Criteria criteria = buildCriteriaFromMap(fieldValues, new Balance()); ReportQueryByCriteria query = QueryFactory.newReportQuery(Balance.class, criteria); // set the selection attributes query.setAttributes(new String[] { "count(*)" }); List groupByList = buildGroupByList(); groupByList.remove(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); groupByList.remove(KFSPropertyConstants.SUB_OBJECT_CODE); groupByList.remove(KFSPropertyConstants.OBJECT_TYPE_CODE); // add the group criteria into the selection statement String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); return query; }
protected Iterator<Object[]> findFundsRawData(Criteria criteria) { ReportQueryByCriteria query = QueryFactory.newReportQuery(LedgerBalance.class, criteria); List<String> groupByList = this.getGroupByListForFundingInquiry(); String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); List<String> getAttributeList = getAttributeListForFundingInquiry(false); String[] attributes = (String[]) getAttributeList.toArray(new String[getAttributeList.size()]); query.setAttributes(attributes); OJBUtility.limitResultSize(query); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
query.addGroupBy(groupBy);
/** * @see org.kuali.kfs.module.ld.dataaccess.LaborDao#getEncumbranceTotal(java.util.Map) */ public Object getEncumbranceTotal(Map fieldValues) { Criteria criteria = new Criteria(); criteria.addAndCriteria(OJBUtility.buildCriteriaFromMap(fieldValues, new AccountStatusCurrentFunds())); ReportQueryByCriteria query = QueryFactory.newReportQuery(AccountStatusCurrentFunds.class, criteria); List<String> groupByList = new ArrayList<String>(); groupByList.add(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR); groupByList.add(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); groupByList.add(KFSPropertyConstants.ACCOUNT_NUMBER); groupByList.add(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); groupByList.add(KFSPropertyConstants.FINANCIAL_OBJECT_CODE); groupByList.add(KFSPropertyConstants.FINANCIAL_SUB_OBJECT_CODE); String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.setAttributes(new String[] { ConsolidationUtil.sum(LaborConstants.BalanceInquiries.ANNUAL_BALANCE) + " + " + ConsolidationUtil.sum(LaborConstants.BalanceInquiries.CONTRACT_GRANT_BB_AMOUNT) }); query.addGroupBy(groupBy); Object[] encumbrances = null; Iterator<Object[]> accountStatusCurrentFunds = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); while (accountStatusCurrentFunds != null && accountStatusCurrentFunds.hasNext()) { encumbrances = accountStatusCurrentFunds.next(); } KualiDecimal encumbranceTotal = KualiDecimal.ZERO; if (encumbrances != null) encumbranceTotal = new KualiDecimal(encumbrances[0].toString()); return encumbranceTotal; }
/** * Builds a query for cash balances, based on the given field values * * @param fieldValues a map of keys to use when building the query * @return an OJB ReportQuery to use as the query */ protected ReportQueryByCriteria getCashBalanceCountQuery(Map fieldValues) { Criteria criteria = buildCriteriaFromMap(fieldValues, new CashBalance()); criteria.addEqualTo(KFSPropertyConstants.BALANCE_TYPE_CODE, KFSConstants.BALANCE_TYPE_ACTUAL); criteria.addEqualToField("chart.financialCashObjectCode", KFSPropertyConstants.OBJECT_CODE); ReportQueryByCriteria query = QueryFactory.newReportQuery(CashBalance.class, criteria); List groupByList = buildGroupByList(); groupByList.remove(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); groupByList.remove(KFSPropertyConstants.SUB_OBJECT_CODE); groupByList.remove(KFSPropertyConstants.OBJECT_TYPE_CODE); // add the group criteria into the selection statement String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); // set the selection attributes query.setAttributes(new String[] { "count(*)" }); return query; }
/** * Counts of rows of all the origin entry groups * * @return iterator of Object[] {[BigDecimal id,BigDecimal count]} * @see org.kuali.kfs.gl.dataaccess.OriginEntryDao#getGroupCounts() */ public Iterator getGroupCounts() { LOG.debug("getGroupCounts() started"); Criteria crit = new Criteria(); ReportQueryByCriteria q = QueryFactory.newReportQuery(entryClass, crit); q.setAttributes(new String[] { ENTRY_GROUP_ID, "count(*)" }); q.addGroupBy(ENTRY_GROUP_ID); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(q); }
/** * @see org.kuali.kfs.module.ld.dataaccess.impl.LaborOriginEntryDaoOjb#getSummaryByGroupId(java.util.Collection) */ @Override public Iterator getSummaryByGroupId(Collection groupIdList) { LOG.debug("getSummaryByGroupId() started"); if (groupIdList == null || groupIdList.size() <= 0) { return null; } Collection ids = new ArrayList(); for (Iterator iter = groupIdList.iterator(); iter.hasNext();) { OriginEntryGroup element = (OriginEntryGroup) iter.next(); ids.add(element.getId()); } Criteria criteria = new Criteria(); criteria.addIn(KFSPropertyConstants.ENTRY_GROUP_ID, ids); ReportQueryByCriteria query = QueryFactory.newReportQuery(getEntryClass(), criteria); String attributeList[] = { KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, KFSPropertyConstants.UNIVERSITY_FISCAL_PERIOD_CODE, KFSPropertyConstants.FINANCIAL_BALANCE_TYPE_CODE, KFSPropertyConstants.FINANCIAL_SYSTEM_ORIGINATION_CODE, KFSPropertyConstants.TRANSACTION_DEBIT_CREDIT_CODE, "sum(" + KFSPropertyConstants.TRANSACTION_LEDGER_ENTRY_AMOUNT + ")", "count(*)" }; String groupList[] = { KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, KFSPropertyConstants.UNIVERSITY_FISCAL_PERIOD_CODE, KFSPropertyConstants.FINANCIAL_BALANCE_TYPE_CODE, KFSPropertyConstants.FINANCIAL_SYSTEM_ORIGINATION_CODE, KFSPropertyConstants.TRANSACTION_DEBIT_CREDIT_CODE }; query.setAttributes(attributeList); query.addGroupBy(groupList); // add the sorting criteria for (int i = 0; i < groupList.length; i++) { query.addOrderByAscending(groupList[i]); } return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
/** * * @see org.kuali.kfs.module.ar.dataaccess.CustomerAgingReportDao#findInvoiceAmountByBillingChartAndOrg(java.lang.String, java.lang.String, java.sql.Date, java.sql.Date) */ public HashMap<String, KualiDecimal> findInvoiceAmountByBillingChartAndOrg(String chart, String org, java.sql.Date begin, java.sql.Date end) { HashMap<String, KualiDecimal> map = new HashMap<String, KualiDecimal>(); Criteria criteria = new Criteria(); if (begin != null) { criteria.addGreaterOrEqualThan("customerInvoiceDocument.billingDate", begin); } if (end != null) { criteria.addLessOrEqualThan("customerInvoiceDocument.billingDate", end); } criteria.addEqualTo("customerInvoiceDocument.documentHeader.financialDocumentStatusCode", KFSConstants.DocumentStatusCodes.APPROVED); criteria.addEqualTo("customerInvoiceDocument.billByChartOfAccountCode", chart); criteria.addEqualTo("customerInvoiceDocument.billedByOrganizationCode", org); criteria.addEqualTo("customerInvoiceDocument.openInvoiceIndicator", true); ReportQueryByCriteria reportByCriteria = new ReportQueryByCriteria(CustomerInvoiceDetail.class, new String[] { "customerInvoiceDocument.accountsReceivableDocumentHeader.customerNumber", "customerInvoiceDocument.accountsReceivableDocumentHeader.customer.customerName", "sum(amount)" }, criteria); reportByCriteria.addGroupBy("customerInvoiceDocument.accountsReceivableDocumentHeader.customerNumber"); reportByCriteria.addGroupBy("customerInvoiceDocument.accountsReceivableDocumentHeader.customer.customerName"); Iterator<?> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(reportByCriteria); while (iterator != null && iterator.hasNext()) { Object[] data = (Object[]) iterator.next(); map.put((String) data[0] + "-" + data[1], (KualiDecimal) data[2]); } return map; }
/** * * @see org.kuali.kfs.module.endow.dataaccess.KemidBenefittingOrganizationDao#getIdsForMultipleBenefittingOrganizations(java.util.List) */ public List<String> getIdsForMultipleBenefittingOrganizations(List<String> kemids) { Criteria subCrit = new Criteria(); subCrit.addIn(EndowPropertyConstants.KEMID, kemids); ReportQueryByCriteria reportQueryByCriteria = QueryFactory.newReportQuery(KemidBenefittingOrganization.class, subCrit); reportQueryByCriteria.setAttributes(new String[] {EndowPropertyConstants.KEMID}); reportQueryByCriteria.addGroupBy(EndowPropertyConstants.KEMID); Criteria havingCriteria = new Criteria(); havingCriteria.addGreaterThan("count(" + EndowPropertyConstants.KEMID + ")", new Integer(1)); reportQueryByCriteria.setHavingCriteria(havingCriteria); reportQueryByCriteria.addOrderByAscending(EndowPropertyConstants.KEMID); Iterator<?> result = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(reportQueryByCriteria); List<String> kemidsMultiple = new ArrayList<String>(); while (result.hasNext()) { Object[] data = (Object[]) result.next(); kemidsMultiple.add(data[0].toString()); } return kemidsMultiple; }
/** * @see org.kuali.module.gl.dao.GeneralLedgerPendingEntryDao#findPendingLedgerEntrySummaryForAccountBalance(java.util.Map, * boolean, boolean) */ public Iterator findPendingLedgerEntrySummaryForAccountBalance(Map fieldValues, boolean isApproved) { LOG.debug("findPendingLedgerEntrySummaryForAccountBalance started"); Criteria criteria = buildCriteriaFromMap(fieldValues, this.getEntryClassInstance()); // add the status codes into the criteria this.addStatusCode(criteria, isApproved); ReportQueryByCriteria query = QueryFactory.newReportQuery(this.getEntryClass(), criteria); List attributeList = buildAttributeList(); List groupByList = buildGroupList(); // set the selection attributes String[] attributes = (String[]) attributeList.toArray(new String[attributeList.size()]); query.setAttributes(attributes); // add the group criteria into the selection statement String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
/** * group all encumbrances with/without the given document type code by fiscal year, chart, account, sub-account, object code, * sub object code, and balance type code, and summarize the encumbrance amount and the encumbrance close amount. * * @param documentTypeCode the given document type code * @param included indicate if all encumbrances with the given document type are included in the results or not * @return an Iterator of arrays of java.lang.Objects holding summarization data about qualifying encumbrances * @see org.kuali.kfs.gl.dataaccess.EncumbranceDao#getSummarizedEncumbrances(String, boolean) */ public Iterator getSummarizedEncumbrances(String documentTypeCode, boolean included) { Criteria criteria = new Criteria(); if (included) { criteria.addEqualTo(KFSPropertyConstants.ENCUMBRANCE_DOCUMENT_TYPE_CODE, documentTypeCode); } else { criteria.addNotEqualTo(KFSPropertyConstants.ENCUMBRANCE_DOCUMENT_TYPE_CODE, documentTypeCode); } ReportQueryByCriteria query = QueryFactory.newReportQuery(Encumbrance.class, criteria); // set the selection attributes List attributeList = buildAttributeList(); String[] attributes = (String[]) attributeList.toArray(new String[attributeList.size()]); query.setAttributes(attributes); // add the group criteria into the selection statement List groupByList = buildGroupByList(); String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
/** * @see org.kuali.kfs.module.ld.dataaccess.LaborOriginEntryDao#getConsolidatedEntriesByGroup(org.kuali.kfs.gl.businessobject.OriginEntryGroup) */ public Iterator<Object[]> getConsolidatedEntriesByGroup(OriginEntryGroup group) { LOG.debug("getConsolidatedEntriesByGroup() started"); Criteria criteria = new Criteria(); criteria.addEqualTo(KFSPropertyConstants.ENTRY_GROUP_ID, group.getId()); ReportQueryByCriteria query = QueryFactory.newReportQuery(this.getEntryClass(), criteria); // set the selection attributes List<String> attributeList = buildConsolidationAttributeList(); String[] attributes = attributeList.toArray(new String[attributeList.size()]); query.setAttributes(attributes); // add the group criteria into the selection statement List<String> groupByList = buildGroupByList(); String[] groupBy = groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); // add the sorting criteria into the selection statement for (String attribute : groupByList) { query.addOrderByAscending(attribute); } return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
protected Iterator<Object[]> findConsolidatedCSFTrackerRawData(Map fieldValues, List<String> groupByList, List<String> attributeList) { Criteria tempCriteria1 = new Criteria(); tempCriteria1.addEqualTo(KFSPropertyConstants.CSF_DELETE_CODE, LaborConstants.DASHES_DELETE_CODE); Criteria tempCriteria2 = new Criteria(); tempCriteria2.addIsNull(KFSPropertyConstants.CSF_DELETE_CODE); /* KFSPropertyConstants.CSF_DELETE_CODE = "-" OR is null */ tempCriteria2.addOrCriteria(tempCriteria1); Criteria criteria = OJBUtility.buildCriteriaFromMap(fieldValues, new LaborCalculatedSalaryFoundationTracker()); criteria.addAndCriteria(tempCriteria2); ReportQueryByCriteria query = QueryFactory.newReportQuery(LaborCalculatedSalaryFoundationTracker.class, criteria); String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); String[] attributes = (String[]) attributeList.toArray(new String[attributeList.size()]); query.setAttributes(attributes); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
protected Iterator<Object[]> findLaborBaseFundsRawData(Map fieldValues, boolean isConsolidated) { Criteria criteria = OJBUtility.buildCriteriaFromMap(fieldValues, new AccountStatusBaseFunds()); criteria.addEqualTo(KFSPropertyConstants.FINANCIAL_BALANCE_TYPE_CODE, KFSConstants.BALANCE_TYPE_BASE_BUDGET); criteria.addEqualToField(KFSPropertyConstants.LABOR_OBJECT + "." + KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR); criteria.addEqualToField(KFSPropertyConstants.LABOR_OBJECT + "." + KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); criteria.addEqualToField(KFSPropertyConstants.LABOR_OBJECT + "." + KFSPropertyConstants.FINANCIAL_OBJECT_CODE, KFSPropertyConstants.FINANCIAL_OBJECT_CODE); // this statement is used to force OJB to join LABOR_OBJECT and GL_BALANCE tables criteria.addNotNull(KFSPropertyConstants.LABOR_OBJECT + "." + KFSPropertyConstants.FINANCIAL_OBJECT_FRINGE_OR_SALARY_CODE); ReportQueryByCriteria query = QueryFactory.newReportQuery(AccountStatusBaseFunds.class, criteria); List<String> groupByList = getGroupByList(isConsolidated); String[] groupBy = (String[]) groupByList.toArray(new String[groupByList.size()]); query.addGroupBy(groupBy); List<String> getAttributeList = getAttributeListForBaseFunds(isConsolidated, false); String[] attributes = (String[]) getAttributeList.toArray(new String[getAttributeList.size()]); query.setAttributes(attributes); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
/** * This method finds the available account balances according to input fields and values * * @param fieldValues the input fields and values * @return the summary records of account balance entries * @see org.kuali.kfs.gl.dataaccess.AccountBalanceDao#findAvailableAccountBalance(java.util.Map, boolean) */ public Iterator findConsolidatedAvailableAccountBalance(Map fieldValues) { LOG.debug("findConsolidatedAvailableAccountBalance() started"); Criteria criteria = OJBUtility.buildCriteriaFromMap(fieldValues, new AccountBalance()); ReportQueryByCriteria query = QueryFactory.newReportQuery(AccountBalance.class, criteria); String[] attributes = new String[] { KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, KFSPropertyConstants.ACCOUNT_NUMBER, KFSPropertyConstants.OBJECT_CODE, OBJ_TYP_CD, "sum(currentBudgetLineBalanceAmount)", "sum(accountLineActualsBalanceAmount)", "sum(accountLineEncumbranceBalanceAmount)" }; String[] groupBy = new String[] { KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, KFSPropertyConstants.ACCOUNT_NUMBER, KFSPropertyConstants.OBJECT_CODE, OBJ_TYP_CD }; query.setAttributes(attributes); query.addGroupBy(groupBy); OJBUtility.limitResultSize(query); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
/** * Does a ReportQuery to summarize GL balance data * * @param universityFiscalYear the fiscal year of balances to search for * @param balanceTypeCodes a list of balance type codes of balances to search for * @return iterator of reported on java.lang.Object arrays with the report data * @see org.kuali.kfs.gl.dataaccess.BalanceDao#getGlSummary(int, java.util.List) */ public Iterator<Object[]> getGlSummary(int universityFiscalYear, List<String> balanceTypeCodes) { LOG.debug("getGlSummary() started"); Criteria c = new Criteria(); c.addEqualTo(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, universityFiscalYear); c.addIn(KFSPropertyConstants.BALANCE_TYPE_CODE, balanceTypeCodes); String[] attributes = new String[] { "account.subFundGroup.fundGroupCode", "sum(accountLineAnnualBalanceAmount)", "sum(beginningBalanceLineAmount)", "sum(contractsGrantsBeginningBalanceAmount)", "sum(month1Amount)", "sum(month2Amount)", "sum(month3Amount)", "sum(month4Amount)", "sum(month5Amount)", "sum(month6Amount)", "sum(month7Amount)", "sum(month8Amount)", "sum(month9Amount)", "sum(month10Amount)", "sum(month11Amount)", "sum(month12Amount)", "sum(month13Amount)" }; String[] groupby = new String[] { "account.subFundGroup.fundGroupCode" }; ReportQueryByCriteria query = new ReportQueryByCriteria(Balance.class, c); query.setAttributes(attributes); query.addGroupBy(groupby); query.addOrderByAscending("account.subFundGroup.fundGroupCode"); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); }
/** * @see org.kuali.kfs.gl.dataaccess.LedgerEntryBalancingDao#findEntryByGroup(java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) */ public Object[] findEntryByGroup(Integer universityFiscalYear, String chartOfAccountsCode, String financialObjectCode, String financialBalanceTypeCode, String universityFiscalPeriodCode, String transactionDebitCreditCode) { Criteria criteria = new Criteria(); criteria.addEqualTo(KFSConstants.UNIVERSITY_FISCAL_YEAR_PROPERTY_NAME, universityFiscalYear); criteria.addEqualTo(KFSConstants.CHART_OF_ACCOUNTS_CODE_PROPERTY_NAME, chartOfAccountsCode); criteria.addEqualTo(KFSConstants.FINANCIAL_OBJECT_CODE_PROPERTY_NAME, financialObjectCode); criteria.addEqualTo(KFSConstants.FINANCIAL_BALANCE_TYPE_CODE_PROPERTY_NAME, financialBalanceTypeCode); criteria.addEqualTo(KFSConstants.UNIVERSITY_FISCAL_PERIOD_CODE_PROPERTY_NAME, universityFiscalPeriodCode); criteria.addEqualTo(KFSConstants.TRANSACTION_DEBIT_CREDIT_CODE, transactionDebitCreditCode); ReportQueryByCriteria reportQuery = QueryFactory.newReportQuery(Entry.class, criteria); reportQuery.setAttributes(new String[] { "count(*)", "sum(" + KFSConstants.TRANSACTION_LEDGER_ENTRY_AMOUNT + ")"}); reportQuery.addGroupBy(new String[] { KFSConstants.UNIVERSITY_FISCAL_YEAR_PROPERTY_NAME, KFSConstants.CHART_OF_ACCOUNTS_CODE_PROPERTY_NAME, KFSConstants.FINANCIAL_OBJECT_CODE_PROPERTY_NAME, KFSConstants.FINANCIAL_BALANCE_TYPE_CODE_PROPERTY_NAME, KFSConstants.UNIVERSITY_FISCAL_PERIOD_CODE_PROPERTY_NAME, KFSConstants.TRANSACTION_DEBIT_CREDIT_CODE}); Iterator<Object[]> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(reportQuery); Object[] returnResult = TransactionalServiceUtils.retrieveFirstAndExhaustIterator(iterator); if (ObjectUtils.isNull(returnResult)) { // Do nothing, we'll return null. Data wasn't found. } else if (returnResult[0] instanceof BigDecimal) { returnResult[0] = ((BigDecimal) returnResult[0]).intValue(); } else { returnResult[0] = ((Long) returnResult[0]).intValue(); } return returnResult; }
/** * @see org.kuali.kfs.gl.dataaccess.LedgerEntryBalancingDao#findEntryByGroup(java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) */ public Object[] findEntryByGroup(Integer universityFiscalYear, String chartOfAccountsCode, String financialObjectCode, String financialBalanceTypeCode, String universityFiscalPeriodCode, String transactionDebitCreditCode) { Criteria criteria = new Criteria(); criteria.addEqualTo(KFSConstants.UNIVERSITY_FISCAL_YEAR_PROPERTY_NAME, universityFiscalYear); criteria.addEqualTo(KFSConstants.CHART_OF_ACCOUNTS_CODE_PROPERTY_NAME, chartOfAccountsCode); criteria.addEqualTo(KFSConstants.FINANCIAL_OBJECT_CODE_PROPERTY_NAME, financialObjectCode); criteria.addEqualTo(KFSConstants.FINANCIAL_BALANCE_TYPE_CODE_PROPERTY_NAME, financialBalanceTypeCode); criteria.addEqualTo(KFSConstants.UNIVERSITY_FISCAL_PERIOD_CODE_PROPERTY_NAME, universityFiscalPeriodCode); criteria.addEqualTo(KFSConstants.TRANSACTION_DEBIT_CREDIT_CODE, transactionDebitCreditCode); ReportQueryByCriteria reportQuery = QueryFactory.newReportQuery(this.getEntryClass(), criteria); reportQuery.setAttributes(new String[] { "count(*)", ConsolidationUtil.sum(KFSConstants.TRANSACTION_LEDGER_ENTRY_AMOUNT)}); reportQuery.addGroupBy(new String[] { KFSConstants.UNIVERSITY_FISCAL_YEAR_PROPERTY_NAME, KFSConstants.CHART_OF_ACCOUNTS_CODE_PROPERTY_NAME, KFSConstants.FINANCIAL_OBJECT_CODE_PROPERTY_NAME, KFSConstants.FINANCIAL_BALANCE_TYPE_CODE_PROPERTY_NAME, KFSConstants.UNIVERSITY_FISCAL_PERIOD_CODE_PROPERTY_NAME, KFSConstants.TRANSACTION_DEBIT_CREDIT_CODE}); Iterator<Object[]> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(reportQuery); Object[] returnResult = TransactionalServiceUtils.retrieveFirstAndExhaustIterator(iterator); if (ObjectUtils.isNull(returnResult)) { // Do nothing, we'll return null. Data wasn't found. } else if (returnResult[0] instanceof BigDecimal) { returnResult[0] = ((BigDecimal) returnResult[0]).intValue(); } else { returnResult[0] = ((Long) returnResult[0]).intValue(); } return returnResult; }