/** * This method will build out criteria in the key-value paradigm (attribute-value). * * @param negativeFieldValues * @return */ private Criteria buildNegativeCriteria(Map<String, ?> negativeFieldValues) { Criteria criteria = new Criteria(); for (Iterator i = negativeFieldValues.entrySet().iterator(); i.hasNext();) { Map.Entry<String, Object> e = (Map.Entry<String, Object>) i.next(); String key = e.getKey(); Object value = e.getValue(); if (value instanceof Collection) { criteria.addNotIn(key, (Collection) value); } else { criteria.addNotEqualTo(key, value); } } return criteria; }
/** * This method provides the implementation for the conveniences methods criteriaBuilder & negatedCriteriaBuilder * * @param criteria - the criteria that might have a criterion appended * @param name - name of the attribute * @param collection - the collection to inspect * @param negate - the criterion will be negated (NOT EQUALS, NOT IN) when this is true */ protected void criteriaBuilderHelper(Criteria criteria, String name, Collection collection, boolean negate) { if (collection != null) { int size = collection.size(); if (size == 1) { if (negate) { criteria.addNotEqualTo(name, collection.iterator().next()); } else { criteria.addEqualTo(name, collection.iterator().next()); } } if (size > 1) { if (negate) { criteria.addNotIn(name, collection); } else { criteria.addIn(name, collection); } } } }
criteria.addIn(KRADPropertyConstants.ACTIVE_FROM_DATE, query); } else if (OjbCharBooleanConversion.DATABASE_BOOLEAN_FALSE_STRING_REPRESENTATION.equals(currentBooleanStr)) { criteria.addNotIn(KRADPropertyConstants.ACTIVE_FROM_DATE, query);
/** * @see org.kuali.kfs.module.cab.batch.dataaccess.ExtractDao#findMatchingGLEntries(org.kuali.kfs.module.cab.businessobject.BatchParameters) */ public Collection<Entry> findMatchingGLEntries(BatchParameters batchParameters) { Criteria criteria = new Criteria(); criteria.addGreaterThan(CabPropertyConstants.Entry.TRANSACTION_DATE_TIME_STAMP, batchParameters.getLastRunTime()); if (!batchParameters.getExcludedChartCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.Entry.CHART_OF_ACCOUNTS_CODE, batchParameters.getExcludedChartCodes()); if (!batchParameters.getExcludedSubFundCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.Entry.ACCOUNT_SUB_FUND_GROUP_CODE, batchParameters.getExcludedSubFundCodes()); if (!batchParameters.getIncludedFinancialBalanceTypeCodes().isEmpty()) criteria.addIn(CabPropertyConstants.Entry.FINANCIAL_BALANCE_TYPE_CODE, batchParameters.getIncludedFinancialBalanceTypeCodes()); if (!batchParameters.getIncludedFinancialObjectSubTypeCodes().isEmpty()) criteria.addIn(CabPropertyConstants.Entry.FINANCIAL_OBJECT_FINANCIAL_OBJECT_SUB_TYPE_CODE, batchParameters.getIncludedFinancialObjectSubTypeCodes()); if (!batchParameters.getExcludedFiscalPeriods().isEmpty()) criteria.addNotIn(CabPropertyConstants.Entry.UNIVERSITY_FISCAL_PERIOD_CODE, batchParameters.getExcludedFiscalPeriods()); if (!batchParameters.getExcludedDocTypeCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.Entry.FINANCIAL_DOCUMENT_TYPE_CODE, batchParameters.getExcludedDocTypeCodes()); QueryByCriteria query = new QueryByCriteria(Entry.class, criteria); query.addOrderByAscending(CabPropertyConstants.Entry.DOCUMENT_NUMBER); query.addOrderByAscending(CabPropertyConstants.Entry.TRANSACTION_DATE_TIME_STAMP); return getPersistenceBrokerTemplate().getCollectionByQuery(query); }
/** * @see org.kuali.kfs.module.cab.batch.dataaccess.ExtractDao#findCreditMemoAccountHistory(org.kuali.kfs.module.cab.businessobject.BatchParameters) */ public Collection<CreditMemoAccountRevision> findCreditMemoAccountRevisions(BatchParameters batchParameters) { Criteria criteria = new Criteria(); criteria.addGreaterThan(CabPropertyConstants.CreditMemoAccountRevision.ACCOUNT_REVISION_TIMESTAMP, batchParameters.getLastRunTime()); if (!batchParameters.getExcludedChartCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.CreditMemoAccountRevision.CHART_OF_ACCOUNTS_CODE, batchParameters.getExcludedChartCodes()); if (!batchParameters.getExcludedSubFundCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.CreditMemoAccountRevision.ACCOUNT_SUB_FUND_GROUP_CODE, batchParameters.getExcludedSubFundCodes()); if (!batchParameters.getIncludedFinancialObjectSubTypeCodes().isEmpty()) criteria.addIn(CabPropertyConstants.CreditMemoAccountRevision.FINANCIAL_OBJECT_FINANCIAL_OBJECT_SUB_TYPE_CODE, batchParameters.getIncludedFinancialObjectSubTypeCodes()); QueryByCriteria query = new QueryByCriteria(CreditMemoAccountRevision.class, criteria); query.addOrderByAscending(CabPropertyConstants.CreditMemoAccountRevision.ACCOUNT_REVISION_TIMESTAMP); Collection<CreditMemoAccountRevision> historyRecs = getPersistenceBrokerTemplate().getCollectionByQuery(query); return historyRecs; }
/** * @see org.kuali.kfs.module.cab.batch.dataaccess.ExtractDao#findPaymentRequestAccountHistory(org.kuali.kfs.module.cab.businessobject.BatchParameters) */ public Collection<PaymentRequestAccountRevision> findPaymentRequestAccountRevisions(BatchParameters batchParameters) { Criteria criteria = new Criteria(); criteria.addGreaterThan(CabPropertyConstants.PaymentRequestAccountRevision.ACCOUNT_REVISION_TIMESTAMP, batchParameters.getLastRunTime()); if (!batchParameters.getExcludedChartCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.PaymentRequestAccountRevision.CHART_OF_ACCOUNTS_CODE, batchParameters.getExcludedChartCodes()); if (!batchParameters.getExcludedSubFundCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.PaymentRequestAccountRevision.ACCOUNT_SUB_FUND_GROUP_CODE, batchParameters.getExcludedSubFundCodes()); if (!batchParameters.getIncludedFinancialObjectSubTypeCodes().isEmpty()) criteria.addIn(CabPropertyConstants.PaymentRequestAccountRevision.FINANCIAL_OBJECT_FINANCIAL_OBJECT_SUB_TYPE_CODE, batchParameters.getIncludedFinancialObjectSubTypeCodes()); QueryByCriteria query = new QueryByCriteria(PaymentRequestAccountRevision.class, criteria); query.addOrderByAscending(CabPropertyConstants.PaymentRequestAccountRevision.ACCOUNT_REVISION_TIMESTAMP); Collection<PaymentRequestAccountRevision> historyRecs = getPersistenceBrokerTemplate().getCollectionByQuery(query); return historyRecs; } }
public List<LeaveBlockBo> getLeaveBlocksSinceCarryOver(String principalId, Map<String, LeaveBlock> carryOverDates, LocalDate endDate, boolean includeAllAccrualCategories) { Criteria root = new Criteria(); root.addEqualTo("principalId", principalId); if (endDate != null) { root.addLessOrEqualThan("leaveDate", endDate.toDate()); } Criteria orCriteria = new Criteria(); for (Map.Entry<String, LeaveBlock> entry : carryOverDates.entrySet()) { Criteria crit = new Criteria(); crit.addEqualTo("accrualCategory", entry.getKey()); crit.addGreaterThan("leaveDate", entry.getValue().getLeaveDateTime().toDate()); orCriteria.addOrCriteria(crit); } if (!orCriteria.isEmpty()) { if (CollectionUtils.isNotEmpty(carryOverDates.keySet()) && includeAllAccrualCategories) { Criteria crit = new Criteria(); crit.addNotIn("accrualCategory", carryOverDates.keySet()); orCriteria.addOrCriteria(crit); } root.addAndCriteria(orCriteria); } Query query = QueryFactory.newQuery(LeaveBlockBo.class, root); Collection c = this.getPersistenceBrokerTemplate().getCollectionByQuery(query); List<LeaveBlockBo> leaveBlocks = new ArrayList<LeaveBlockBo>(); if (c != null) { leaveBlocks.addAll(c); } return leaveBlocks; }
c.addNotIn(propertyName, ruleValues);
status.add(KFSConstants.DocumentStatusCodes.DISAPPROVED); criteria.addNotIn(KFSConstants.DOCUMENT_HEADER_PROPERTY_NAME + "." + KFSConstants.DOCUMENT_HEADER_DOCUMENT_STATUS_CODE_PROPERTY_NAME, status);
/** * @see edu.iu.uis.pur.cm.dao.CreditMemoDao#duplicateExists(java.lang.String, java.lang.String) */ public boolean duplicateExists(Integer vendorNumberHeaderId, Integer vendorNumberDetailId, String creditMemoNumber) { LOG.debug("duplicateExists() started"); // criteria: vendorNumberHeader AND vendorNumberDetail AND creditMemoNumber Criteria criteria = new Criteria(); criteria.addEqualTo("vendorHeaderGeneratedIdentifier", vendorNumberHeaderId); criteria.addEqualTo("vendorDetailAssignedIdentifier", vendorNumberDetailId); criteria.addEqualTo("creditMemoNumber", creditMemoNumber); criteria.addNotIn(PurapPropertyConstants.STATUS_CODE, PurapConstants.CreditMemoStatuses.CANCELLED_STATUSES); // use the criteria to do a Count against the DB, and return the resulting // number. Any positive non-zero result means that a potential duplicate // exists and we return true, otherwise, return false. int cmCount = getPersistenceBrokerTemplate().getCount(new QueryByCriteria(VendorCreditMemoDocument.class, criteria)); if (cmCount > 0) { return true; } else { return false; } }
criteria.addNotIn(fieldName, excludedFieldValues.get(fieldName)); criteria.addAndCriteria(criteriaForExcludedFields);
/** * @see org.kuali.kfs.module.cab.batch.dataaccess.ExtractDao#findPreTaggablePOAccounts(org.kuali.kfs.module.cab.businessobject.BatchParameters) */ public Collection<PurchaseOrderAccount> findPreTaggablePOAccounts(BatchParameters batchParameters) { Criteria statusCodeCond1 = new Criteria(); statusCodeCond1.addEqualTo(CabPropertyConstants.PreTagExtract.PURAP_CAPITAL_ASSET_SYSTEM_STATE_CODE, CabConstants.CAPITAL_ASSET_SYSTEM_STATE_CODE_NEW); Criteria statusCodeOrCond = new Criteria(); statusCodeOrCond.addIsNull(CabPropertyConstants.PreTagExtract.PURAP_CAPITAL_ASSET_SYSTEM_STATE_CODE); statusCodeOrCond.addOrCriteria(statusCodeCond1); Criteria criteria = new Criteria(); Timestamp lastRunTimestamp = new Timestamp(((java.util.Date)batchParameters.getLastRunDate()).getTime()); criteria.addGreaterThan(CabPropertyConstants.PreTagExtract.PO_INITIAL_OPEN_TIMESTAMP, lastRunTimestamp); criteria.addEqualTo(CabPropertyConstants.PreTagExtract.PO_STATUS_CODE, CabConstants.PO_STATUS_CODE_OPEN); criteria.addAndCriteria(statusCodeOrCond); criteria.addGreaterOrEqualThan(CabPropertyConstants.PreTagExtract.PURAP_ITEM_UNIT_PRICE, batchParameters.getCapitalizationLimitAmount()); if (!batchParameters.getExcludedChartCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.PreTagExtract.CHART_OF_ACCOUNTS_CODE, batchParameters.getExcludedChartCodes()); if (!batchParameters.getExcludedSubFundCodes().isEmpty()) criteria.addNotIn(CabPropertyConstants.PreTagExtract.ACCOUNT_SUB_FUND_GROUP_CODE, batchParameters.getExcludedSubFundCodes()); if (!batchParameters.getIncludedFinancialObjectSubTypeCodes().isEmpty()) criteria.addIn(CabPropertyConstants.PreTagExtract.FINANCIAL_OBJECT_SUB_TYPE_CODE, batchParameters.getIncludedFinancialObjectSubTypeCodes()); QueryByCriteria query = new QueryByCriteria(PurchaseOrderAccount.class, criteria); return getPersistenceBrokerTemplate().getCollectionByQuery(query); }
status.add(KFSConstants.DocumentStatusCodes.DISAPPROVED); criteria.addNotIn(KFSConstants.DOCUMENT_HEADER_PROPERTY_NAME + "." + KFSConstants.DOCUMENT_HEADER_DOCUMENT_STATUS_CODE_PROPERTY_NAME, status);
/** * @see edu.iu.uis.pur.cm.dao.CreditMemoDao#duplicateExists(java.lang.String, java.lang.String) */ public boolean duplicateExists(Integer vendorNumberHeaderId, Integer vendorNumberDetailId, Date date, KualiDecimal amount) { LOG.debug("duplicateExists() started"); // criteria: vendorNumberHeader AND vendorNumberDetail AND date AND amount Criteria criteria = new Criteria(); criteria.addEqualTo("vendorHeaderGeneratedIdentifier", vendorNumberHeaderId); criteria.addEqualTo("vendorDetailAssignedIdentifier", vendorNumberDetailId); criteria.addEqualTo("creditMemoDate", date); criteria.addEqualTo("creditMemoAmount", amount); criteria.addNotIn(PurapPropertyConstants.STATUS_CODE, PurapConstants.CreditMemoStatuses.CANCELLED_STATUSES); // use the criteria to do a Count against the DB, and return the resulting // number. Any positive non-zero result means that a potential duplicate // exists and we return true, otherwise, return false. int cmCount = getPersistenceBrokerTemplate().getCount(new QueryByCriteria(VendorCreditMemoDocument.class, criteria)); if (cmCount > 0) { return true; } else { return false; } }
status.add(KFSConstants.DocumentStatusCodes.DISAPPROVED); criteria.addNotIn(KFSConstants.DOCUMENT_HEADER_PROPERTY_NAME + "." + KFSConstants.DOCUMENT_HEADER_DOCUMENT_STATUS_CODE_PROPERTY_NAME, status);
/** adds a multi valued predicate to a Criteria. */ private void addMultiValuePredicate(MultiValuedPredicate p, Criteria parent) { final String pp = p.getPropertyPath(); if (p instanceof InPredicate) { final Set<?> values = getVals(p.getValues()); parent.addIn(pp, values); } else if (p instanceof InIgnoreCasePredicate) { final Set<String> values = toUpper(getValsUnsafe(((InIgnoreCasePredicate) p).getValues())); parent.addIn(genUpperFunc(pp), values); } else if (p instanceof NotInPredicate) { final Set<?> values = getVals(p.getValues()); parent.addNotIn(pp, values); } else if (p instanceof NotInIgnoreCasePredicate) { final Set<String> values = toUpper(getValsUnsafe(((NotInIgnoreCasePredicate) p).getValues())); parent.addNotIn(genUpperFunc(pp), values); } else { throw new UnsupportedPredicateException(p); } }