/** * @see org.kuali.kfs.module.bc.document.dataaccess.BudgetConstructionLockDao#getAllAccountLocks(java.lang.String) */ public List<BudgetConstructionHeader> getAllAccountLocks(String lockUnivId) { Criteria criteria = new Criteria(); if (StringUtils.isNotBlank(lockUnivId)) { criteria.addEqualTo(BCPropertyConstants.BUDGET_LOCK_USER_IDENTIFIER, lockUnivId); } else { criteria.addNotNull(BCPropertyConstants.BUDGET_LOCK_USER_IDENTIFIER); } ReportQueryByCriteria query = QueryFactory.newReportQuery(BudgetConstructionHeader.class, criteria); query.addOrderByAscending(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR); query.addOrderByAscending(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); query.addOrderByAscending(KFSPropertyConstants.ACCOUNT_NUMBER); query.addOrderByAscending(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); return (List<BudgetConstructionHeader>) getPersistenceBrokerTemplate().getCollectionByQuery(query); }
/** * @see org.kuali.kfs.module.bc.document.dataaccess.BudgetConstructionLockDao#getAllTransactionLocks(java.lang.String) */ public List<BudgetConstructionHeader> getAllTransactionLocks(String lockUnivId) { Criteria criteria = new Criteria(); if (StringUtils.isNotBlank(lockUnivId)) { criteria.addEqualTo(BCPropertyConstants.BUDGET_TRANSACTION_LOCK_USER_IDENTIFIER, lockUnivId); } else { criteria.addNotNull(BCPropertyConstants.BUDGET_TRANSACTION_LOCK_USER_IDENTIFIER); } ReportQueryByCriteria query = QueryFactory.newReportQuery(BudgetConstructionHeader.class, criteria); query.addOrderByAscending(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR); query.addOrderByAscending(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); query.addOrderByAscending(KFSPropertyConstants.ACCOUNT_NUMBER); query.addOrderByAscending(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); return (List<BudgetConstructionHeader>) getPersistenceBrokerTemplate().getCollectionByQuery(query); }
/** * @see org.kuali.kfs.module.bc.document.dataaccess.BudgetConstructionLockDao#getOrphanedFundingLocks(java.lang.String) */ public List<BudgetConstructionFundingLock> getOrphanedFundingLocks(String lockUnivId) { Criteria criteria = new Criteria(); if (StringUtils.isNotBlank(lockUnivId)) { criteria.addEqualTo(BCPropertyConstants.APPOINTMENT_FUNDING_LOCK_USER_ID, lockUnivId); } else { criteria.addNotNull(BCPropertyConstants.APPOINTMENT_FUNDING_LOCK_USER_ID); } ReportQueryByCriteria query = QueryFactory.newReportQuery(BudgetConstructionFundingLock.class, criteria); query.addOrderByAscending(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR); query.addOrderByAscending(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); query.addOrderByAscending(KFSPropertyConstants.ACCOUNT_NUMBER); query.addOrderByAscending(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); List<BudgetConstructionFundingLock> allFundingLocks = (List<BudgetConstructionFundingLock>) getPersistenceBrokerTemplate().getCollectionByQuery(query); List<BudgetConstructionFundingLock> orphanedFundingLocks = new ArrayList<BudgetConstructionFundingLock>(); for (BudgetConstructionFundingLock fundingLock : allFundingLocks) { String positionNumber = budgetConstructionDao.getPositionAssociatedWithFundingLock(fundingLock); if (BCConstants.POSITION_NUMBER_NOT_FOUND.equals(positionNumber)) { orphanedFundingLocks.add(fundingLock); } } return orphanedFundingLocks; }
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); }
/** * get the summarized information of the entries that belong to the entry groups with the given group ids * * @param groupIdList the ids of origin entry groups * @return a set of summarized information of the entries within the specified groups * @see org.kuali.kfs.gl.dataaccess.OriginEntryDao#getSummaryByGroupId(java.util.List) */ 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(entryClass, 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); }
/** * 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); }
query.addOrderByAscending(groupList[i]);
/** * @see org.kuali.kfs.module.purap.document.dataaccess.RequisitionDao#getDocumentNumberForRequisitionId(java.lang.Integer) */ public String getDocumentNumberForRequisitionId(Integer id) { Criteria criteria = new Criteria(); criteria.addEqualTo(PurapPropertyConstants.PURAP_DOC_ID, id); ReportQueryByCriteria rqbc = new ReportQueryByCriteria(RequisitionDocument.class, criteria); rqbc.setAttributes(new String[] { KFSPropertyConstants.DOCUMENT_NUMBER }); rqbc.addOrderByAscending(KFSPropertyConstants.DOCUMENT_NUMBER); Iterator iter = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(rqbc); if (iter.hasNext()) { Object[] cols = (Object[]) iter.next(); if (iter.hasNext()) { // the iterator should have held only a single doc id of data but it holds 2 or more String errorMsg = "Expected single document number for given criteria but multiple (at least 2) were returned"; LOG.error(errorMsg); TransactionalServiceUtils.exhaustIterator(iter); throw new RuntimeException(); } // at this part of the code, we know there's no more elements in iterator return (String) cols[0]; } return null; }
/** * @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.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.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; }
/** * Retrieves a document number for a payment request by user defined criteria and sorts the values ascending if orderByAscending * parameter is true, descending otherwise. * * @param criteria - list of criteria to use in the retrieve * @param orderByAscending - boolean to sort results ascending if true, descending otherwise * @return - Iterator of document numbers */ protected Iterator<Object[]> getDocumentNumbersOfPaymentRequestByCriteria(Criteria criteria, boolean orderByAscending) { LOG.debug("getDocumentNumberOfPaymentRequestByCriteria() started"); ReportQueryByCriteria rqbc = new ReportQueryByCriteria(PaymentRequestDocument.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[]> 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); }
/** * Retrieves a document number for a credit memo by user defined criteria and sorts the values ascending if orderByAscending * parameter is true, descending otherwise. * * @param criteria - list of criteria to use in the retrieve * @param orderByAscending - boolean indicating results should be sorted ascending, descending otherwise * @return - Iterator of document numbers */ protected Iterator<Object[]> getDocumentNumbersOfCreditMemoByCriteria(Criteria criteria, boolean orderByAscending) { LOG.debug("getDocumentNumberOfCreditMemoByCriteria() started"); ReportQueryByCriteria rqbc = new ReportQueryByCriteria(VendorCreditMemoDocument.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.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); }
/** * 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); } }
/** * Retrieves a document number for a payment request by user defined criteria and sorts the values ascending if orderByAscending * parameter is true, descending otherwise. * * @param criteria - list of criteria to use in the retrieve * @param orderByAscending - boolean to sort results ascending if true, descending otherwise * @return - Iterator of document numbers */ protected Iterator<Object[]> getDocumentNumbersOfReceivingLineByCriteria(Criteria criteria, boolean orderByAscending) { ReportQueryByCriteria rqbc = new ReportQueryByCriteria(LineItemReceivingDocument.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.module.purap.document.dataaccess.PurchaseOrderDao#itemExistsOnPurchaseOrder(java.lang.Integer, java.lang.String) */ public boolean itemExistsOnPurchaseOrder(Integer poItemLineNumber, String docNumber){ boolean existsInPo = false; Criteria criteria = new Criteria(); criteria.addEqualTo("documentNumber", docNumber); criteria.addEqualTo("itemLineNumber", poItemLineNumber); ReportQueryByCriteria rqbc = new ReportQueryByCriteria(PurchaseOrderItem.class, criteria); rqbc.setAttributes(new String[] { KFSPropertyConstants.DOCUMENT_NUMBER }); rqbc.addOrderByAscending(KFSPropertyConstants.DOCUMENT_NUMBER); Iterator<Object[]> iter = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(rqbc); if (iter.hasNext()) { existsInPo = true; } return existsInPo; }
/** * 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); }