import org.apache.ojb.broker.query.Criteria; //導入方法依賴的package包/類

/**

* @see org.kuali.kfs.module.bc.document.dataaccess.BudgetConstructionLockDao#getOrphanedPositionLocks(java.lang.String)

*/

public List getOrphanedPositionLocks(String lockUnivId) {

Criteria criteria = new Criteria();

if (StringUtils.isNotBlank(lockUnivId)) {

criteria.addEqualTo(BCPropertyConstants.POSITION_LOCK_USER_IDENTIFIER, lockUnivId);

}

else {

criteria.addNotNull(BCPropertyConstants.POSITION_LOCK_USER_IDENTIFIER);

}

ReportQueryByCriteria query = QueryFactory.newReportQuery(BudgetConstructionPosition.class, criteria);

query.addOrderByAscending(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR);

query.addOrderByAscending(BCPropertyConstants.POSITION_NUMBER);

List allPositionLocks = (List) getPersistenceBrokerTemplate().getCollectionByQuery(query);

List orphanedPositionLocks = new ArrayList();

for (BudgetConstructionPosition position : allPositionLocks) {

Criteria criteria2 = new Criteria();

criteria2.addEqualTo(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR, position.getUniversityFiscalYear());

criteria2.addEqualTo(BCPropertyConstants.POSITION_NUMBER, position.getPositionNumber());

Criteria subCrit = new Criteria();

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());

ReportQueryByCriteria subQuery = QueryFactory.newReportQuery(BudgetConstructionFundingLock.class, subCrit);

subQuery.setAttributes(new String[] { "1" });

criteria2.addExists(subQuery);

List appointmentFundingLocks = (List) getPersistenceBrokerTemplate().getCollectionByQuery(QueryFactory.newQuery(PendingBudgetConstructionAppointmentFunding.class, criteria2));

if (appointmentFundingLocks == null || appointmentFundingLocks.isEmpty()) {

orphanedPositionLocks.add(position);

}

}

return orphanedPositionLocks;

}

java criteria exist_Java Criteria.addExists方法代碼示例相关推荐

  1. java json parser_Java JSONParser.parse方法代碼示例

    本文整理匯總了Java中org.json.simple.parser.JSONParser.parse方法的典型用法代碼示例.如果您正苦於以下問題:Java JSONParser.parse方法的具體 ...

  2. java field setfont_Java JTextField.setFont方法代碼示例

    本文整理匯總了Java中javax.swing.JTextField.setFont方法的典型用法代碼示例.如果您正苦於以下問題:Java JTextField.setFont方法的具體用法?Java ...

  3. java jdbc reparecall_Java Connection.prepareCall方法代碼示例

    本文整理匯總了Java中java.sql.Connection.prepareCall方法的典型用法代碼示例.如果您正苦於以下問題:Java Connection.prepareCall方法的具體用法 ...

  4. java swing rectangle_Java SwingUtilities.convertRectangle方法代碼示例

    本文整理匯總了Java中javax.swing.SwingUtilities.convertRectangle方法的典型用法代碼示例.如果您正苦於以下問題:Java SwingUtilities.co ...

  5. java digests.generatesalt_Java DigestUtils.sha1Hex方法代碼示例

    本文整理匯總了Java中org.apache.commons.codec.digest.DigestUtils.sha1Hex方法的典型用法代碼示例.如果您正苦於以下問題:Java DigestUti ...

  6. java imageio temp_Java ImageIO.setUseCache方法代碼示例

    本文整理匯總了Java中javax.imageio.ImageIO.setUseCache方法的典型用法代碼示例.如果您正苦於以下問題:Java ImageIO.setUseCache方法的具體用法? ...

  7. java path.resolve_Java Path.resolve方法代碼示例

    本文整理匯總了Java中java.nio.file.Path.resolve方法的典型用法代碼示例.如果您正苦於以下問題:Java Path.resolve方法的具體用法?Java Path.reso ...

  8. java hex decodehex_Java Hex.decodeHex方法代碼示例

    本文整理匯總了Java中org.apache.commons.codec.binary.Hex.decodeHex方法的典型用法代碼示例.如果您正苦於以下問題:Java Hex.decodeHex方法 ...

  9. java entry getvalue_Java Entry.getValue方法代碼示例

    本文整理匯總了Java中java.util.Map.Entry.getValue方法的典型用法代碼示例.如果您正苦於以下問題:Java Entry.getValue方法的具體用法?Java Entry ...

  10. java webclient post_Java WebClient.post方法代碼示例

    本文整理匯總了Java中org.apache.cxf.jaxrs.client.WebClient.post方法的典型用法代碼示例.如果您正苦於以下問題:Java WebClient.post方法的具 ...

最新文章

  1. 如何求一个数的因数 c语言代码,【代码】求一个数的因数和、求优化、顺便也供新人参考算法...
  2. 灰度不变性LBP( gray scale invariant) 旋转不变性LBP(rotation invariant)旋转不变等价LBP(rotation uniform invarian )
  3. 生成下拉框的几种方法总结——数据来源:数据库
  4. 平面设计和网页设计的规则_从平面设计到用户界面:这是您应该知道的最重要的规则
  5. 误删除了mysql库的user表解决办法
  6. postgreSQL源码分析综述
  7. Flutter音频播放插件just_audio入门指南
  8. centos7 升级最新版内核
  9. 【游戏运营】【实战】首充分析——恋与制作人
  10. AutoCAD生成png透明图像
  11. HTML+CSS网页制作——人生指南
  12. java static void_java中static关键字
  13. [redis]Connection failure occurred. Restarting subscription task after 5000 ms
  14. MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
  15. 网络爬虫-今日头条-街拍
  16. 关于垂直起降固定翼VTOL
  17. 8款数据迁移工具选型,主流且实用
  18. 华为云会议实测:经常开远程视频会议,选它就对了
  19. ubuntu详细教程[软件安装,命令大全,常用快捷键]
  20. 数以万计的培训机构,如何选择!

热门文章

  1. 为什么你应该尝试@reach/router
  2. 前端也要会的数据结构 (不定期更新篇)
  3. 课时77.序选择器(掌握)
  4. Resource接口
  5. Django操作与内容
  6. luoguP4213 【模板】杜教筛(Sum)杜教筛
  7. Oracle学习:新建表空间
  8. intellij idea中解决java.lang.VerifyError: Expecting a stackmap frame at branch target的方法
  9. Allegro padstack
  10. DNN SEO专题 (收集)