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; } }
/** * @see org.kuali.kfs.gl.dataaccess.EncumbranceDao#findCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria query = QueryFactory.newReportQuery(Encumbrance.class, criteria); return getPersistenceBrokerTemplate().getCount(query); } }
/** * @see org.kuali.kfs.gl.dataaccess.AccountBalanceDao#findCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria query = QueryFactory.newReportQuery(AccountBalance.class, criteria); return getPersistenceBrokerTemplate().getCount(query); }
/** * @see org.kuali.kfs.gl.dataaccess.LedgerEntryBalancingDao#findCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria query = QueryFactory.newReportQuery(Entry.class, criteria); return getPersistenceBrokerTemplate().getCount(query); } }
/** * This method finds the available account balances according to input fields and values * * @param fieldValues the input fields and values * @return account balance entries * @see org.kuali.kfs.gl.dataaccess.AccountBalanceDao#findAvailableAccountBalance(java.util.Map) */ public Iterator findAvailableAccountBalance(Map fieldValues) { LOG.debug("findAvailableAccountBalance(Map) started"); Criteria criteria = OJBUtility.buildCriteriaFromMap(fieldValues, new AccountBalance()); QueryByCriteria query = QueryFactory.newReportQuery(AccountBalance.class, criteria); OJBUtility.limitResultSize(query); return getPersistenceBrokerTemplate().getIteratorByQuery(query); }
/** * @see org.kuali.kfs.gl.dataaccess.BalancingDao#findCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria query = QueryFactory.newReportQuery(Balance.class, criteria); return getPersistenceBrokerTemplate().getCount(query); }
/** * @see org.kuali.kfs.gl.dataaccess.BalancingDao#findCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria query = QueryFactory.newReportQuery(LedgerBalance.class, criteria); return getPersistenceBrokerTemplate().getCount(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.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(); }
/** * internal method to retrieve a annotations given an ID. <b>THIS METHOD ASSUMES THAT INITIALIZE() HAS * BEEN CALLED PREVIOUSLY AND WILL NOT CALL RELEASEBROKER()</B>. This is to keep the connection alive * should it be required for instantiation of proxy objects. it is the responsibility of the coder * to initialize and release the broker in any method that calls * internalGetTermById. */ private Collection<Annotation> internalGetTermAnnotations(String termPk) throws PersistenceException { //optimize processing of getting annotations Criteria criteria = new Criteria(); criteria.addEqualTo("parentTermPk", termPk); QueryByCriteria query = QueryFactory.newReportQuery(AnnotationBean.class, criteria); query.addOrderByAscending("annotationType"); return collectionQuery(query); }
/** * @see org.kuali.kfs.gl.dataaccess.LedgerEntryBalancingDao#findCountGreaterOrEqualThan(java.lang.Integer) */ public Integer findCountGreaterOrEqualThan(Integer year) { Criteria criteria = new Criteria(); criteria.addGreaterOrEqualThan(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, year); ReportQueryByCriteria query = QueryFactory.newReportQuery(getEntryClass(), criteria); return getPersistenceBrokerTemplate().getCount(query); }
/** * @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(); } }
/** * 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); } }
/** * @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(); } }
protected Query getBalanceQuery(Map fieldValues, boolean isConsolidated) { LOG.debug("getBalanceQuery(Map, boolean) started"); LOG.debug("Building criteria from map fields: " + fieldValues.keySet()); Criteria criteria = buildCriteriaFromMap(fieldValues, new LedgerBalance()); ReportQueryByCriteria query = QueryFactory.newReportQuery(LedgerBalance.class, criteria); // if consolidated, then ignore subaccount number and balance type code if (isConsolidated) { buildConsolidatedQuery(query, sum(JULY.propertyName), sum(AUGUST.propertyName), sum(SEPTEMBER.propertyName), sum(OCTOBER.propertyName), sum(NOVEMBER.propertyName), sum(DECEMBER.propertyName), sum(JANUARY.propertyName), sum(FEBRUARY.propertyName), sum(MARCH.propertyName), sum(APRIL.propertyName), sum(MAY.propertyName), sum(JUNE.propertyName), sum(YEAR_END.propertyName)); } return query; }
@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); }