/** * @see org.kuali.kfs.gl.dataaccess.LedgerBalanceHistoryBalancingDao#findDistinctFiscalYears() */ public List<Integer> findDistinctFiscalYears() { Criteria crit = new Criteria(); ReportQueryByCriteria q = QueryFactory.newReportQuery(BalanceHistory.class, crit); q.setAttributes(new String[] { KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR }); q.setDistinct(true); Iterator<Object[]> years = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(q); List<Integer> yearList = new ArrayList<Integer>(); while (years != null && years.hasNext()) { Object[] year = years.next(); yearList.add(new Integer(year[0].toString())); } return yearList; } }
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; }
public Integer getMaxCreateSequence(Date date) { Criteria crit = new Criteria(); crit.addEqualTo("CREATE_DT", date); ReportQueryByCriteria q = QueryFactory.newReportQuery(CollectorDetail.class, crit); q.setAttributes(new String[] { "max(transactionLedgerEntrySequenceNumber)" }); Iterator<Object[]> iter = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(q); if (iter.hasNext()) { Object[] result = iter.next(); if (result[0] != null) { return new Integer(((BigDecimal)result[0]).intValue()); } } return null; }
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); }
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); }
public Integer getMaxSquenceNumber(String customerNumber) { Criteria criteria = new Criteria(); criteria.addEqualTo(ArPropertyConstants.CustomerFields.CUSTOMER_NUMBER, customerNumber==null?customerNumber:customerNumber.toUpperCase()); ReportQueryByCriteria query = QueryFactory.newReportQuery(CustomerAddress.class, criteria); query.setAttributes(new String[] { "max(" + ArPropertyConstants.CustomerFields.CUSTOMER_ADDRESS_IDENTIFIER + ")" }); Iterator<?> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); Integer maxSequenceNumber = Integer.valueOf(0); if (iterator.hasNext()) { Object[] data = (Object[]) TransactionalServiceUtils.retrieveFirstAndExhaustIterator(iterator); if (data[0] != null) { maxSequenceNumber = ((BigDecimal) data[0]).intValue(); } } return maxSequenceNumber; } }
public Integer getMaxSquenceNumber(AssetComponent assetComponent) { Criteria criteria = new Criteria(); criteria.addEqualTo(CamsPropertyConstants.AssetComponent.CAPITAL_ASSET_NUMBER, assetComponent.getCapitalAssetNumber()); ReportQueryByCriteria query = QueryFactory.newReportQuery(assetComponent.getClass(), criteria); query.setAttributes(new String[] { "max(" + CamsPropertyConstants.AssetComponent.COMPONENT_NUMBER + ")" }); Iterator<?> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); Integer maxSequenceNumber = Integer.valueOf(0); if (iterator.hasNext()) { Object[] data = (Object[]) TransactionalServiceUtils.retrieveFirstAndExhaustIterator(iterator); if (data[0] != null) { maxSequenceNumber = ((BigDecimal) data[0]).intValue(); } } return maxSequenceNumber; }
/** * Retrieves a list of document numbers of the purchase order returned by the passed in criteria. * * @param criteria - list of criteria to use in the retrieve * @return Iterator of document numbers */ protected Iterator<Object[]> getDocumentNumbersUsingPurchaseOrderCriteria(Criteria criteria) { ReportQueryByCriteria rqbc = new ReportQueryByCriteria(PurchaseOrderDocument.class, criteria); rqbc.setAttributes(new String[] { KFSPropertyConstants.DOCUMENT_NUMBER }); rqbc.addOrderByAscending(KFSPropertyConstants.DOCUMENT_NUMBER); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(rqbc); }
public Integer getMaxCabLineNumber(String documentNumber, Integer purApLineItemIdentifier) { Criteria criteria = new Criteria(); criteria.addEqualTo(CabPropertyConstants.PurchasingAccountsPayableItemAsset.DOCUMENT_NUMBER, documentNumber); criteria.addEqualTo(CabPropertyConstants.PurchasingAccountsPayableItemAsset.ACCOUNTS_PAYABLE_LINE_ITEM_IDENTIFIER, purApLineItemIdentifier); ReportQueryByCriteria query = QueryFactory.newReportQuery(PurchasingAccountsPayableItemAsset.class, criteria); query.setAttributes(new String[] { "max(" + CabPropertyConstants.PurchasingAccountsPayableItemAsset.CAPITAL_ASSET_BUILDER_LINE_NUMBER+")" }); Iterator<?> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query); Integer maxCabLineNumber = Integer.valueOf(0); if (iterator.hasNext()) { Object[] data = (Object[]) TransactionalServiceUtils.retrieveFirstAndExhaustIterator(iterator); if (data[0] != null) { maxCabLineNumber = ((BigDecimal)data[0]).intValue(); } } return maxCabLineNumber; } }
/** * 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.purap.document.dataaccess.PurchaseOrderDao#getOldestPurchaseOrderDocumentNumber(java.lang.Integer) */ public String getOldestPurchaseOrderDocumentNumber(Integer id) { Criteria criteria = new Criteria(); criteria.addEqualTo(PurapPropertyConstants.PURAP_DOC_ID, id); ReportQueryByCriteria rqbc = new ReportQueryByCriteria(PurchaseOrderDocument.class, criteria); rqbc.setAttributes(new String[] { KFSPropertyConstants.DOCUMENT_NUMBER }); rqbc.addOrderByAscending(KFSPropertyConstants.DOCUMENT_NUMBER); Iterator<Object[]> iter = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(rqbc); String oldestDocumentNumber = null; if (iter.hasNext()) { oldestDocumentNumber = (String) (iter.next())[0]; } return oldestDocumentNumber; }
/** * @see org.kuali.kfs.coa.dataaccess.IndirectCostRecoveryExclusionAccountDao#existByAccount(java.lang.String, java.lang.String) */ public boolean existByAccount(String chartOfAccountsCode, String accountNumber) { LOG.debug("existByAccount() started"); Criteria crit = new Criteria(); crit.addEqualTo("chartOfAccountsCode", chartOfAccountsCode); crit.addEqualTo("accountNumber", accountNumber); ReportQueryByCriteria q = QueryFactory.newReportQuery(IndirectCostRecoveryExclusionAccount.class, crit); q.setAttributes(new String[] { "chartOfAccountsCode" }); q.setDistinct(true); Iterator iter = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(q); return iter.hasNext(); }
protected Iterator<Object[]> getDocumentNumbersOfBulkReceivingByCriteria(Criteria criteria, boolean orderByAscending) { ReportQueryByCriteria rqbc = new ReportQueryByCriteria(BulkReceivingDocument.class, criteria); rqbc.setAttributes(new String[] { KFSPropertyConstants.DOCUMENT_NUMBER }); if (orderByAscending) { rqbc.addOrderByAscending(KFSPropertyConstants.DOCUMENT_NUMBER); }else { rqbc.addOrderByDescending(KFSPropertyConstants.DOCUMENT_NUMBER); } return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(rqbc); }
protected Iterator<Object[]> getDocumentNumbersOfCorrectionReceivingByCriteria(Criteria criteria, boolean orderByAscending) { ReportQueryByCriteria rqbc = new ReportQueryByCriteria(CorrectionReceivingDocument.class, criteria); rqbc.setAttributes(new String[] { KFSPropertyConstants.DOCUMENT_NUMBER }); if (orderByAscending) { rqbc.addOrderByAscending(KFSPropertyConstants.DOCUMENT_NUMBER); } else { rqbc.addOrderByDescending(KFSPropertyConstants.DOCUMENT_NUMBER); } return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(rqbc); }
/** * @see org.kuali.kfs.gl.dataaccess.LedgerEntryHistoryBalancingDao#findSumRowCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findSumRowCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria reportQuery = QueryFactory.newReportQuery(EntryHistory.class, criteria); reportQuery.setAttributes(new String[] { "sum(" + KFSPropertyConstants.ROW_COUNT + ")"}); Iterator<Object[]> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(reportQuery); Object[] returnResult = TransactionalServiceUtils.retrieveFirstAndExhaustIterator(iterator); return ObjectUtils.isNull(returnResult[0]) ? 0 : ((BigDecimal) returnResult[0]).intValue(); } }
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); }
/** * Returns all distinct accounting period codes from the table * * @return a Collection of all distinct accounting period codes represented by UniversityDate records in the database * @see org.kuali.kfs.sys.dataaccess.UniversityDateDao#getAccountingPeriodCode() */ public Collection getAccountingPeriodCode() { Criteria criteria = new Criteria(); ReportQueryByCriteria query = QueryFactory.newReportQuery(UniversityDate.class, criteria); query.setAttributes(new String[] { "distinct " + KFSPropertyConstants.UNIVERSITY_FISCAL_ACCOUNTING_PERIOD }); query.addOrderByAscending(KFSPropertyConstants.UNIVERSITY_FISCAL_ACCOUNTING_PERIOD); return getPersistenceBrokerTemplate().getCollectionByQuery(query); } }
/** * Return an iterator of keys of all documents referenced by origin entries in a given group * * @param oeg Group the origin entry group to find entries in, by origin entry * @return Iterator of java.lang.Object[] with report data about all of the distinct document numbers/type code/origination code combinations of origin entries in the group * @see org.kuali.kfs.gl.dataaccess.OriginEntryDao#getDocumentsByGroup(org.kuali.kfs.gl.businessobject.OriginEntryGroup) */ public Iterator getDocumentsByGroup(OriginEntryGroup oeg) { LOG.debug("getDocumentsByGroup() started"); Criteria criteria = new Criteria(); criteria.addEqualTo(ENTRY_GROUP_ID, oeg.getId()); ReportQueryByCriteria q = QueryFactory.newReportQuery(entryClass, criteria); q.setAttributes(new String[] { KFSPropertyConstants.DOCUMENT_NUMBER, "financialDocumentTypeCode", "financialSystemOriginationCode" }); q.setDistinct(true); return getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(q); }
/** * @see org.kuali.kfs.gl.dataaccess.LedgerEntryBalancingDao#findSumRowCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findSumRowCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria reportQuery = QueryFactory.newReportQuery(LaborEntryHistory.class, criteria); reportQuery.setAttributes(new String[] { ConsolidationUtil.sum(KFSPropertyConstants.ROW_COUNT)}); Iterator<Object[]> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(reportQuery); Object[] returnResult = TransactionalServiceUtils.retrieveFirstAndExhaustIterator(iterator); return ObjectUtils.isNull(returnResult[0]) ? 0 : ((BigDecimal) returnResult[0]).intValue(); } }
@Override public LeaveCalendarDocumentHeader getMaxEndDateApprovedLeaveCalendar(String principalId) { Criteria root = new Criteria(); Criteria crit = new Criteria(); crit.addEqualTo("principalId", principalId); crit.addEqualTo("documentStatus", HrConstants.ROUTE_STATUS.FINAL); ReportQueryByCriteria endDateSubQuery = QueryFactory.newReportQuery(LeaveCalendarDocumentHeader.class, crit); endDateSubQuery.setAttributes(new String[]{"max(endDate)"}); root.addEqualTo("principalId", principalId); root.addEqualTo("documentStatus", HrConstants.ROUTE_STATUS.FINAL); root.addEqualTo("endDate", endDateSubQuery); Query query = QueryFactory.newQuery(LeaveCalendarDocumentHeader.class, root); return (LeaveCalendarDocumentHeader) this.getPersistenceBrokerTemplate().getObjectByQuery(query); }