/** * @see org.kuali.kfs.module.ld.dataaccess.LaborDao#getJuly1PositionFunding(java.util.Map) */ public Collection<July1PositionFunding> getJuly1PositionFunding(Map<String, String> fieldValues) { Criteria criteria = OJBUtility.buildCriteriaFromMap(fieldValues, new July1PositionFunding()); 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); criteria.addNotNull(KFSPropertyConstants.LABOR_OBJECT + "." + KFSPropertyConstants.FINANCIAL_OBJECT_FRINGE_OR_SALARY_CODE); QueryByCriteria query = QueryFactory.newQuery(July1PositionFunding.class, criteria); OJBUtility.limitResultSize(query); return getPersistenceBrokerTemplate().getCollectionByQuery(query); }
clockTimeJoinCriteria.addEqualToField("groupKeyCode", Criteria.PARENT_QUERY_PREFIX + "groupKeyCode"); clockTimeJoinCriteria.addEqualToField("principalId", Criteria.PARENT_QUERY_PREFIX + "principalId"); clockTimeJoinCriteria.addEqualToField("jobNumber", Criteria.PARENT_QUERY_PREFIX + "jobNumber"); clockTimeJoinCriteria.addEqualToField("workArea", Criteria.PARENT_QUERY_PREFIX + "workArea"); clockTimeJoinCriteria.addEqualToField("task", Criteria.PARENT_QUERY_PREFIX + "task"); clockTimeJoinCriteria.addEqualToField("documentId", Criteria.PARENT_QUERY_PREFIX + "documentId"); ReportQueryByCriteria clockTimeSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, clockTimeJoinCriteria); clockTimeSubQuery.setAttributes(new String[]{"max(clockTimestamp)"}); timestampJoinCriteria.addEqualToField("groupKeyCode", Criteria.PARENT_QUERY_PREFIX + "groupKeyCode"); timestampJoinCriteria.addEqualToField("principalId", Criteria.PARENT_QUERY_PREFIX + "principalId"); timestampJoinCriteria.addEqualToField("jobNumber", Criteria.PARENT_QUERY_PREFIX + "jobNumber"); timestampJoinCriteria.addEqualToField("workArea", Criteria.PARENT_QUERY_PREFIX + "workArea"); timestampJoinCriteria.addEqualToField("task", Criteria.PARENT_QUERY_PREFIX + "task"); timestampJoinCriteria.addEqualToField("documentId", Criteria.PARENT_QUERY_PREFIX + "documentId"); ReportQueryByCriteria timestampSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, timestampJoinCriteria); timestampSubQuery.setAttributes(new String[]{"max(timestamp)"});
Criteria criteria = buildCriteriaFromMap(fieldValues, new CashBalance()); criteria.addEqualTo(KFSPropertyConstants.BALANCE_TYPE_CODE, KFSConstants.BALANCE_TYPE_ACTUAL); criteria.addEqualToField("chart.financialCashObjectCode", KFSPropertyConstants.OBJECT_CODE);
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); }
/** * 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; }
@Override public ClockLogBo getLastClockLog(String principalId, String clockAction){ Criteria currentRecordCriteria = new Criteria(); currentRecordCriteria.addEqualTo("principalId", principalId); currentRecordCriteria.addEqualTo("clockAction", clockAction); Criteria clockTimeJoinCriteria = new Criteria(); clockTimeJoinCriteria.addEqualToField("principalId",Criteria.PARENT_QUERY_PREFIX +"principalId"); clockTimeJoinCriteria.addEqualToField("clockAction",Criteria.PARENT_QUERY_PREFIX +"clockAction"); ReportQueryByCriteria clockTimeSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, clockTimeJoinCriteria); clockTimeSubQuery.setAttributes(new String[]{"max(clockTimestamp)"}); currentRecordCriteria.addEqualTo("clockTimestamp", clockTimeSubQuery); Criteria timestampJoinCriteria = new Criteria(); timestampJoinCriteria.addEqualToField("principalId", Criteria.PARENT_QUERY_PREFIX + "principalId"); timestampJoinCriteria.addEqualToField("clockAction", Criteria.PARENT_QUERY_PREFIX + "clockAction"); timestampJoinCriteria.addEqualToField("clockTimestamp", Criteria.PARENT_QUERY_PREFIX + "clockTimestamp"); ReportQueryByCriteria timeStampSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, timestampJoinCriteria); timeStampSubQuery.setAttributes(new String[]{"max(timestamp)"}); currentRecordCriteria.addEqualTo("timestamp", timeStampSubQuery); return (ClockLogBo)this.getPersistenceBrokerTemplate().getObjectByQuery(QueryFactory.newQuery(ClockLogBo.class,currentRecordCriteria)); }
@Override public ClockLogBo getLastClockLog(String principalId, String jobNumber, String workArea, String task, CalendarEntryBo calendarEntry) { Criteria criteria = new Criteria(); criteria.addEqualTo("principalId", principalId); criteria.addEqualTo("jobNumber", jobNumber); criteria.addEqualTo("workArea", workArea); criteria.addEqualTo("task", task); Criteria clockTimeJoinCriteria = new Criteria(); clockTimeJoinCriteria.addEqualToField("principalId", Criteria.PARENT_QUERY_PREFIX + "principalId"); clockTimeJoinCriteria.addEqualToField("jobNumber", Criteria.PARENT_QUERY_PREFIX + "jobNumber"); clockTimeJoinCriteria.addEqualToField("workArea", Criteria.PARENT_QUERY_PREFIX + "workArea"); clockTimeJoinCriteria.addEqualToField("task", Criteria.PARENT_QUERY_PREFIX + "task"); clockTimeJoinCriteria.addBetween("clockTimestamp", calendarEntry.getBeginPeriodDate(), calendarEntry.getEndPeriodDate()); ReportQueryByCriteria clockTimeSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, clockTimeJoinCriteria); clockTimeSubQuery.setAttributes(new String[]{"max(clockTimestamp)"}); criteria.addEqualTo("clockTimestamp", clockTimeSubQuery); Criteria timestampJoinCriteria = new Criteria(); timestampJoinCriteria.addEqualToField("principalId", Criteria.PARENT_QUERY_PREFIX + "principalId"); timestampJoinCriteria.addEqualToField("jobNumber", Criteria.PARENT_QUERY_PREFIX + "jobNumber"); timestampJoinCriteria.addEqualToField("workArea", Criteria.PARENT_QUERY_PREFIX + "workArea"); timestampJoinCriteria.addEqualToField("task", Criteria.PARENT_QUERY_PREFIX + "task"); timestampJoinCriteria.addBetween("clockTimestamp", calendarEntry.getBeginPeriodDate(), calendarEntry.getEndPeriodDate()); ReportQueryByCriteria timestampSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, timestampJoinCriteria); timestampSubQuery.setAttributes(new String[]{"max(timestamp)"}); criteria.addEqualTo("timestamp", timestampSubQuery); return (ClockLogBo) this.getPersistenceBrokerTemplate().getObjectByQuery(QueryFactory.newQuery(ClockLogBo.class, criteria)); }
public ClockLogBo getLastClockLog(String principalId){ Criteria currentRecordCriteria = new Criteria(); currentRecordCriteria.addEqualTo("principalId", principalId); Criteria clockTimeJoinCriteria = new Criteria(); clockTimeJoinCriteria.addEqualToField("principalId",Criteria.PARENT_QUERY_PREFIX +"principalId"); ReportQueryByCriteria clockTimeSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, clockTimeJoinCriteria); clockTimeSubQuery.setAttributes(new String[]{"max(clockTimestamp)"}); currentRecordCriteria.addEqualTo("clockTimestamp", clockTimeSubQuery); Criteria timestampJoinCriteria = new Criteria(); timestampJoinCriteria.addEqualToField("principalId", Criteria.PARENT_QUERY_PREFIX + "principalId"); timestampJoinCriteria.addEqualToField("clockTimestamp", Criteria.PARENT_QUERY_PREFIX + "clockTimestamp"); ReportQueryByCriteria timeStampSubQuery = QueryFactory.newReportQuery(ClockLogBo.class, timestampJoinCriteria); timeStampSubQuery.setAttributes(new String[]{"max(timestamp)"}); currentRecordCriteria.addEqualTo("timestamp", timeStampSubQuery); return (ClockLogBo)this.getPersistenceBrokerTemplate().getObjectByQuery(QueryFactory.newQuery(ClockLogBo.class,currentRecordCriteria)); }
groupBy[i] = groupByField; maxBeginDateCriteria.addEqualToField(groupByField, Criteria.PARENT_QUERY_PREFIX + groupByField);
public Map<String, LeaveBlockBo> getLastCarryOverBlocks(String principalId, String leaveBlockType, LocalDate asOfDate) { Map<String, LeaveBlockBo> carryOver = new HashMap<String, LeaveBlockBo>(); Criteria root = new Criteria(); root.addEqualTo("principalId", principalId); root.addEqualTo("leaveBlockType", leaveBlockType); Criteria dateSubquery = new Criteria(); dateSubquery.addEqualToField("principalId", Criteria.PARENT_QUERY_PREFIX + "principalId"); dateSubquery.addEqualToField("leaveBlockType", Criteria.PARENT_QUERY_PREFIX + "leaveBlockType"); dateSubquery.addEqualToField("accrualCategory", Criteria.PARENT_QUERY_PREFIX + "accrualCategory"); if (asOfDate != null) { dateSubquery.addLessThan("leaveDate", asOfDate.toDate()); } ReportQueryByCriteria subQuery = QueryFactory.newReportQuery(LeaveBlockBo.class, dateSubquery); String[] attributes = new String[] { "max(leaveDate)" }; subQuery.setAttributes(attributes); root.addEqualTo("leaveDate", subQuery); Query query = QueryFactory.newQuery(LeaveBlockBo.class, root); Collection<LeaveBlockBo> c = (Collection<LeaveBlockBo>)this.getPersistenceBrokerTemplate().getCollectionByQuery(query); //Collection c = this.getPersistenceBrokerTemplate().getCollectionByQuery(query); for (LeaveBlockBo lb : c) { carryOver.put(lb.getAccrualCategory(), lb); } return carryOver; }
/** * @see org.kuali.kfs.module.bc.document.dataaccess.BudgetConstructionOrganizationReportsDao#getActiveChildOrgs(java.lang.String, * java.lang.String) */ public List getActiveChildOrgs(String chartOfAccountsCode, String organizationCode) { List orgs = new ArrayList(); Criteria cycleCheckCriteria = new Criteria(); cycleCheckCriteria.addEqualToField("chartOfAccountsCode", "reportsToChartOfAccountsCode"); cycleCheckCriteria.addEqualToField("organizationCode", "reportsToOrganizationCode"); cycleCheckCriteria.setEmbraced(true); cycleCheckCriteria.setNegative(true); Criteria criteria = new Criteria(); criteria.addEqualTo("reportsToChartOfAccountsCode", chartOfAccountsCode); criteria.addEqualTo("reportsToOrganizationCode", organizationCode); criteria.addAndCriteria(cycleCheckCriteria); criteria.addEqualTo("organization.active", Boolean.TRUE); orgs = (List) getPersistenceBrokerTemplate().getCollectionByQuery(QueryFactory.newQuery(BudgetConstructionOrganizationReports.class, criteria)); if (orgs.isEmpty() || orgs.size() == 0) { return Collections.EMPTY_LIST; } return orgs; }
/** * @see org.kuali.kfs.module.bc.document.dataaccess.BudgetConstructionDao#getBcPullupChildOrgs(java.lang.String, * java.lang.String, java.lang.String) */ public List<BudgetConstructionPullup> getBudgetConstructionPullupChildOrgs(String principalId, String chartOfAccountsCode, String organizationCode) { List<BudgetConstructionPullup> orgs = new ArrayList<BudgetConstructionPullup>(); Criteria cycleCheckCriteria = new Criteria(); cycleCheckCriteria.addEqualToField("chartOfAccountsCode", "reportsToChartOfAccountsCode"); cycleCheckCriteria.addEqualToField("organizationCode", "reportsToOrganizationCode"); cycleCheckCriteria.setEmbraced(true); cycleCheckCriteria.setNegative(true); Criteria criteria = new Criteria(); criteria.addEqualTo("reportsToChartOfAccountsCode", chartOfAccountsCode); criteria.addEqualTo("reportsToOrganizationCode", organizationCode); criteria.addEqualTo("principalId", principalId); criteria.addAndCriteria(cycleCheckCriteria); QueryByCriteria query = QueryFactory.newQuery(BudgetConstructionPullup.class, criteria); query.addOrderByAscending("organization.organizationName"); orgs = (List<BudgetConstructionPullup>) getPersistenceBrokerTemplate().getCollectionByQuery(query); if (orgs.isEmpty() || orgs.size() == 0) { return (List<BudgetConstructionPullup>) Collections.EMPTY_LIST; } return orgs; }
/** * @see org.kuali.module.gl.dao.GeneralLedgerPendingEntryDao#findPendingLedgerEntriesForCashBalance(java.util.Map, boolean) */ public Iterator findPendingLedgerEntriesForCashBalance(Map fieldValues, boolean isApproved) { LOG.debug("findPendingLedgerEntriesForCashBalance started"); Criteria criteria = buildCriteriaFromMap(fieldValues, this.getEntryClassInstance()); criteria.addEqualTo(KFSPropertyConstants.FINANCIAL_BALANCE_TYPE_CODE, "AC"); criteria.addEqualToField(KFSPropertyConstants.FINANCIAL_OBJECT_CODE, CHART_FINANCIAL_CASH_OBJECT_CODE); // add the status codes into the criteria this.addStatusCode(criteria, isApproved); QueryByCriteria query = QueryFactory.newQuery(this.getEntryClass(), criteria); return getPersistenceBrokerTemplate().getIteratorByQuery(query); }
subCrit.addEqualToField(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, Criteria.PARENT_QUERY_PREFIX + KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR); subCrit.addEqualToField(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, Criteria.PARENT_QUERY_PREFIX + KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); subCrit.addEqualToField(KFSPropertyConstants.ACCOUNT_NUMBER, Criteria.PARENT_QUERY_PREFIX + KFSPropertyConstants.ACCOUNT_NUMBER); subCrit.addEqualToField(KFSPropertyConstants.SUB_ACCOUNT_NUMBER, Criteria.PARENT_QUERY_PREFIX + KFSPropertyConstants.SUB_ACCOUNT_NUMBER); subCrit.addEqualTo(BCPropertyConstants.APPOINTMENT_FUNDING_LOCK_USER_ID, position.getPositionLockUserIdentifier());
subCriteria.addEqualTo("chartOfAccountsCode", chart); subCriteria.addEqualTo("accountNumber", account); subCriteria.addEqualToField("documentNumber", Criteria.PARENT_QUERY_PREFIX + "documentNumber");
subCriteria.addEqualTo("customerInvoiceDocument.accountsReceivableDocumentHeader.processingOrganizationCode", org); subCriteria.addEqualTo("customerInvoiceDocument.openInvoiceIndicator", true); subCriteria.addEqualToField("documentNumber", Criteria.PARENT_QUERY_PREFIX + "documentNumber");
subCriteria.addEqualTo("customerInvoiceDocument.billedByOrganizationCode", org); subCriteria.addEqualTo("customerInvoiceDocument.openInvoiceIndicator", true); subCriteria.addEqualToField("documentNumber", Criteria.PARENT_QUERY_PREFIX + "documentNumber");
@Override public List<LeaveBlockBo> getFMLALeaveBlocks(String principalId, String accrualCategory, LocalDate beginDate, LocalDate endDate) { List<LeaveBlockBo> leaveBlocks = new ArrayList<LeaveBlockBo>(); Criteria root = new Criteria(); root.addEqualTo("principalId", principalId); root.addGreaterOrEqualThan("leaveDate", beginDate.toDate()); root.addLessOrEqualThan("leaveDate", endDate.toDate()); root.addEqualTo("accrualCategory", accrualCategory); Criteria earnCode = new Criteria(); earnCode.addEqualToField("earnCode", Criteria.PARENT_QUERY_PREFIX + "earnCode"); earnCode.addEqualTo("fmla", "Y"); ReportQueryByCriteria earnCodeSubQuery = QueryFactory.newReportQuery(EarnCodeBo.class, earnCode); root.addEqualTo("earnCode", earnCodeSubQuery); //root.add // root.addEqualTo("active", true); Query query = QueryFactory.newQuery(LeaveBlockBo.class, root); Collection c = this.getPersistenceBrokerTemplate().getCollectionByQuery(query); if (c != null) { leaveBlocks.addAll(c); } return leaveBlocks; }