javax.persistence.criteria.Order#javax.persistence.criteria.Predicate源码实例Demo

下面列出了javax.persistence.criteria.Order#javax.persistence.criteria.Predicate 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: o2oa   文件: StatisticUnitForDayFactory.java
public List<String> listByUnitRecordDateString(List<String> unitName, String sDate) throws Exception {
	if (unitName == null || unitName.size() == 0) {
		logger.error(new UnitNamesEmptyException());
		return null;
	}
	EntityManager em = this.entityManagerContainer().get(StatisticUnitForDay.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<StatisticUnitForDay> root = cq.from(StatisticUnitForDay.class);
	Predicate p = root.get(StatisticUnitForDay_.unitName).in(unitName);
	if (sDate == null || sDate.isEmpty()) {
		logger.error(new StatisticDateEmptyException());
	} else {
		p = cb.and(p, cb.equal(root.get(StatisticUnitForDay_.statisticDate), sDate));
	}
	cq.select(root.get(StatisticUnitForDay_.id));
	return em.createQuery(cq.where(p)).setMaxResults(62).getResultList();
}
 
源代码2 项目: o2oa   文件: BaseAction.java
Data loadData(Business business, Work work) throws Exception {
	EntityManager em = business.entityManagerContainer().get(Item.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Item> cq = cb.createQuery(Item.class);
	Root<Item> root = cq.from(Item.class);
	Predicate p = cb.equal(root.get(Item_.bundle), work.getJob());
	p = cb.and(p, cb.equal(root.get(Item_.itemCategory), ItemCategory.pp));
	List<Item> list = em.createQuery(cq.where(p)).getResultList();
	if (list.isEmpty()) {
		return new Data();
	} else {
		JsonElement jsonElement = itemConverter.assemble(list);
		if (jsonElement.isJsonObject()) {
			return gson.fromJson(jsonElement, Data.class);
		} else {
			/* 如果不是Object强制返回一个Map对象 */
			return new Data();
		}
	}
}
 
源代码3 项目: o2oa   文件: BBSSubjectInfoFactory.java
public List<String> listSubjectIdsBySection( String sectionId, Integer maxResults ) throws Exception {
	if( sectionId == null || sectionId.isEmpty() ){
		throw new Exception( "sectionId is null!" );
	}
	EntityManager em = this.entityManagerContainer().get(BBSSubjectInfo.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery( String.class );
	Root<BBSSubjectInfo> root = cq.from(BBSSubjectInfo.class);
	Predicate p = cb.equal(  root.get(BBSSubjectInfo_.sectionId), sectionId);
	cq.select( root.get(BBSSubjectInfo_.id) );
	if( maxResults == null || maxResults == 0 ){
		return em.createQuery(cq.where(p)).getResultList();
	}else{
		return em.createQuery(cq.where(p)).setMaxResults( maxResults ).getResultList();
	}
}
 
源代码4 项目: linq   文件: LinqImpl.java
protected void applyPredicateToCriteria(AbstractQuery<?> query) {

		Predicate predicate = parsePredicate(junction);
		if (predicate != null) {
			query.where(predicate);
		}
		
		predicate = parsePredicate(having);
		if (predicate != null) {
			query.having(predicate);
		}
		
		if (query instanceof CriteriaQuery) {
			if (!CollectionUtils.isEmpty(orders)) {
				((CriteriaQuery<?>) query).orderBy(orders);
			}
		}
	}
 
源代码5 项目: wecube-platform   文件: JpaQueryUtils.java
public static void processGreaterOperator(CriteriaBuilder cb, List<Predicate> predicates, Filter filter,
                                          Expression filterExpr) {
    Object value = filter.getValue();
    if (value instanceof Date) {
        Timestamp timestamp = new Timestamp(((Date) value).getTime());
        predicates.add(cb.greaterThan(filterExpr, timestamp));
    } else if (value instanceof String) {
        if (filterExpr.getJavaType().equals(Timestamp.class)) {
            java.util.Date date = DateUtils.convertToTimestamp((String) value);
            predicates.add(cb.greaterThan(filterExpr, new Timestamp(date.getTime())));
        } else {
            predicates.add(cb.greaterThan(filterExpr, (String) value));
        }
    } else if (value instanceof Number) {
        if (value instanceof Integer) predicates.add(cb.greaterThan(filterExpr, (Integer) value));
        if (value instanceof Long) predicates.add(cb.greaterThan(filterExpr, (Long) value));
        if (value instanceof Float) predicates.add(cb.greaterThan(filterExpr, (Float) value));
        if (value instanceof Double) predicates.add(cb.greaterThan(filterExpr, (Double) value));
    }
}
 
源代码6 项目: devicehive-java-server   文件: UserDaoRdbmsImpl.java
@Override
public List<UserVO> list(String login, String loginPattern,
                          Integer role, Integer status,
                          String sortField, boolean sortOrderAsc,
                          Integer take, Integer skip) {
    CriteriaBuilder cb = criteriaBuilder();
    CriteriaQuery<User> cq = cb.createQuery(User.class);
    Root<User> from = cq.from(User.class);

    Predicate[] predicates = CriteriaHelper.userListPredicates(cb, from, ofNullable(login), ofNullable(loginPattern), ofNullable(role), ofNullable(status));
    cq.where(predicates);
    CriteriaHelper.order(cb, cq, from, ofNullable(sortField), Boolean.TRUE.equals(sortOrderAsc));

    TypedQuery<User> query = createQuery(cq);
    cacheQuery(query, of(CacheConfig.refresh()));
    ofNullable(take).ifPresent(query::setMaxResults);
    ofNullable(skip).ifPresent(query::setFirstResult);
    return query.getResultList().stream().map(User::convertToVo).collect(Collectors.toList());
}
 
源代码7 项目: o2oa   文件: ActionFilterAttribute.java
private List<NameValueCountPair> listActivityNamePair(Business business, EffectivePerson effectivePerson)
		throws Exception {
	EntityManager em = business.entityManagerContainer().get(Task.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<Task> root = cq.from(Task.class);
	Predicate p = cb.equal(root.get(Task_.person), effectivePerson.getDistinguishedName());
	cq.select(root.get(Task_.activityName)).where(p).distinct(true);
	List<String> os = em.createQuery(cq).getResultList();
	List<NameValueCountPair> wos = new ArrayList<>();
	for (String str : os) {
		if (StringUtils.isNotEmpty(str)) {
			NameValueCountPair o = new NameValueCountPair();
			o.setValue(str);
			o.setName(str);
			wos.add(o);
		}
	}
	SortTools.asc(wos, "name");
	return wos;
}
 
源代码8 项目: o2oa   文件: CleanupPromptErrorLog.java
private void cleanupPromptErrorLog() throws Exception {
	try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
		EntityManager em = emc.get(PromptErrorLog.class);
		CriteriaBuilder cb = em.getCriteriaBuilder();
		CriteriaQuery<String> cq = cb.createQuery(String.class);
		Root<PromptErrorLog> root = cq.from(PromptErrorLog.class);
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DAY_OF_MONTH, -7);
		Predicate p = cb.not(cb.greaterThan(root.get(PromptErrorLog_.createTime), cal.getTime()));
		cq.select(root.get(PromptErrorLog_.id)).where(p);
		List<String> list = em.createQuery(cq).getResultList();
		for (int i = 0; i < list.size(); i++) {
			if (i % 100 == 0) {
				emc.beginTransaction(PromptErrorLog.class);
			}
			PromptErrorLog o = emc.find(list.get(i), PromptErrorLog.class);
			emc.remove(o);
			if ((i % 100 == 99) || (i == (list.size() - 1))) {
				emc.commit();
			}
		}
	}
}
 
源代码9 项目: o2oa   文件: OkrWorkPersonFactory.java
/**
 * 根据工作信息ID,获取工作干系人信息ID列表
 * 
 * @param workId
 * @return
 * @throws Exception
 */
// @MethodDescribe( "根据工作信息ID,用户身份,获取工作干系人信息ID列表" )
public List<String> listByWorkIdAndUserIdentity(String workId, String userIdentity, List<String> statuses)
		throws Exception {
	EntityManager em = this.entityManagerContainer().get(OkrWorkPerson.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
	Predicate p = cb.equal(root.get(OkrWorkPerson_.workId), workId);
	if (userIdentity != null && !userIdentity.isEmpty()) {
		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.employeeIdentity), userIdentity));
	}
	if (statuses != null && statuses.size() > 0) {
		p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
	}
	cq.select(root.get(OkrWorkPerson_.id));
	return em.createQuery(cq.where(p)).getResultList();
}
 
源代码10 项目: o2oa   文件: AttendanceDetailFactory.java
public List<AttendanceCycles> getCyclesFromDetailWithDateSplit( String empName, Date startDate, Date endDate )  throws Exception{
	if( startDate == null || startDate == null ){
		return null;
	}
	EntityManager em = this.entityManagerContainer().get( AttendanceDetail.class );
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<AttendanceCycles> cq = cb.createQuery(AttendanceCycles.class);
	Root<AttendanceDetail> root = cq.from( AttendanceDetail.class);
	Predicate p = cb.between( root.get(AttendanceDetail_.recordDate), startDate, endDate);
	p = cb.and( p, cb.equal( root.get(AttendanceDetail_.empName), empName));
	List<Selection<?>> selectionList = new ArrayList<Selection<?>>();
	selectionList.add(root.get(AttendanceDetail_.cycleYear ));
	selectionList.add(root.get(AttendanceDetail_.cycleMonth ));
	cq.distinct(true).multiselect(selectionList);
	
	return em.createQuery(cq.where(p)).getResultList();
}
 
源代码11 项目: o2oa   文件: V2Count.java
private List<NameValueCountPair> groupByCreatorUnit(Business business, Predicate predicate) throws Exception {
	EntityManager em = business.entityManagerContainer().get(Task.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Tuple> cq = cb.createQuery(Tuple.class);
	Root<Task> root = cq.from(Task.class);
	Path<String> pathCreatorUnit = root.get(Task_.creatorUnit);
	cq.multiselect(pathCreatorUnit, cb.count(root)).where(predicate).groupBy(pathCreatorUnit);
	List<Tuple> os = em.createQuery(cq).getResultList();
	List<NameValueCountPair> list = new ArrayList<>();
	NameValueCountPair pair = null;
	for (Tuple o : os) {
		pair = new NameValueCountPair();
		pair.setName(o.get(pathCreatorUnit));
		pair.setValue(o.get(pathCreatorUnit));
		pair.setCount(o.get(1, Long.class));
		list.add(pair);
	}
	return list.stream().sorted(Comparator.comparing(NameValueCountPair::getCount).reversed())
			.collect(Collectors.toList());
}
 
源代码12 项目: o2oa   文件: OkrWorkPersonFactory.java
public Long getWorkTotalByCenterId(String identity, List<String> status, String processIdentity) throws Exception {
	if (identity == null || identity.isEmpty()) {
		throw new Exception("identity is null.");
	}
	if (status == null || status.isEmpty()) {
		throw new Exception("status is null.");
	}
	EntityManager em = this.entityManagerContainer().get(OkrWorkPerson.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Long> cq = cb.createQuery(Long.class);
	Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
	Predicate p = root.get(OkrWorkPerson_.status).in(status);
	p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.employeeIdentity), identity));
	if (processIdentity != null && !processIdentity.isEmpty()) {
		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), processIdentity));
	}
	// 查询总数
	cq.select(cb.count(root));
	return em.createQuery(cq.where(p)).getSingleResult();
}
 
源代码13 项目: o2oa   文件: StatisticUnitForDayFactory.java
public List<String> listByUnitDayDate(String name, String date) throws Exception {
	if (name == null || name.isEmpty()) {
		logger.error(new UnitNamesEmptyException());
		return null;
	}

	EntityManager em = this.entityManagerContainer().get(StatisticUnitForDay.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<StatisticUnitForDay> root = cq.from(StatisticUnitForDay.class);
	Predicate p = cb.equal(root.get(StatisticUnitForDay_.unitName), name);
	if (date == null || date.isEmpty()) {
		logger.error(new StatisticDateEmptyException());
	} else {
		p = cb.and(p, cb.equal(root.get(StatisticUnitForDay_.statisticDate), date));
	}
	cq.select(root.get(StatisticUnitForDay_.id));
	return em.createQuery(cq.where(p)).setMaxResults(62).getResultList();
}
 
源代码14 项目: spring4-sandbox   文件: JpaSpecs.java
public static Specification<Conference> inProgressConferences() {
	return new Specification<Conference>() {

		@Override
		public Predicate toPredicate(Root<Conference> root,
				CriteriaQuery<?> query, CriteriaBuilder cb) {
			Expression<Timestamp> currentTimestamp = cb.currentTimestamp();
			return cb.and(
					cb.greaterThan(root.get("endedDate").as(Date.class),
							currentTimestamp), cb.lessThan(
							root.get("startedDate").as(Date.class),
							currentTimestamp));
		}

	};
}
 
源代码15 项目: o2oa   文件: OkrWorkPersonFactory.java
/**
 * 根据中心工作ID,查询所有的干系人姓名
 * 
 * @param centerId
 * @param identity
 *            干系人身份
 * @return
 * @throws Exception
 */
// @MethodDescribe( "根据中心工作ID,查询所有的干系人身份" )
public List<String> listDistinctIdentityNameByCenterId(String centerId, String identity) throws Exception {
	if (centerId == null || centerId.isEmpty()) {
		logger.warn("centerId is null!");
		return null;
	}
	EntityManager em = this.entityManagerContainer().get(OkrWorkPerson.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
	cq.distinct(true).select(root.get(OkrWorkPerson_.employeeIdentity));
	Predicate p = cb.equal(root.get(OkrWorkPerson_.centerId), centerId);
	if (identity != null && !identity.isEmpty()) {
		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), identity));
	}
	return em.createQuery(cq.where(p)).setMaxResults(2000).getResultList();
}
 
源代码16 项目: o2oa   文件: StatisticPersonForMonthFactory.java
/**
 * 根据组织列表,统计年月,计算组织内所有员工出勤天数总和
 * @param unitName
 * @param sYear
 * @param sMonth
 * @return
 * @throws Exception
 */
public Double sumAttendanceDayCountByUnitYearAndMonth( List<String> unitName, String sYear, String sMonth) throws Exception{
	if( unitName == null || unitName.size() == 0 ){
		logger.error( new UnitNamesEmptyException() );
		return null;
	}		
	EntityManager em = this.entityManagerContainer().get( StatisticPersonForMonth.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Double> cq = cb.createQuery(Double.class);
	Root<StatisticPersonForMonth> root = cq.from( StatisticPersonForMonth.class);		
	//查询总数
	cq.select( cb.sum( root.get(StatisticPersonForMonth_.onDutyDayCount) ) );		
	Predicate p = root.get(StatisticPersonForMonth_.unitName).in( unitName );
	if( sYear == null || sYear.isEmpty() ){
		logger.error( new StatisticYearEmptyException() );
	}else{
		p = cb.and( p, cb.equal( root.get(StatisticPersonForMonth_.statisticYear), sYear));
	}
	if( sMonth == null || sMonth.isEmpty() ){
		logger.error( new StatisticMonthEmptyException() );
	}else{
		p = cb.and( p, cb.equal( root.get(StatisticPersonForMonth_.statisticMonth), sMonth));
	}
	return em.createQuery(cq.where(p)).getSingleResult();
}
 
源代码17 项目: o2oa   文件: StatisticUnitForMonthFactory.java
/**
 * 根据组织名称,统计年月,统计顶层组织所有人员异常打卡次数总和
 * @param unitName
 * @param cycleYear
 * @param cycleMonth
 * @return
 * @throws Exception
 */
public Long sumAbNormalDutyCountByUnitYearAndMonth(List<String> unitName, String sYear, String sMonth) throws Exception{
	if( unitName == null || unitName.size() == 0 ){
		logger.error( new UnitNamesEmptyException() );
		return null;
	}		
	EntityManager em = this.entityManagerContainer().get( StatisticUnitForMonth.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Long> cq = cb.createQuery(Long.class);
	Root<StatisticUnitForMonth> root = cq.from( StatisticUnitForMonth.class);		
	//查询总数
	cq.select( cb.sum( root.get(StatisticUnitForMonth_.abNormalDutyCount) ) );		
	Predicate p = root.get(StatisticUnitForMonth_.unitName).in( unitName );
	if( sYear == null || sYear.isEmpty() ){
		logger.error( new StatisticYearEmptyException() );
	}else{
		p = cb.and( p, cb.equal( root.get(StatisticUnitForMonth_.statisticYear), sYear));
	}
	if( sMonth == null || sMonth.isEmpty() ){
		logger.error( new StatisticMonthEmptyException() );
	}else{
		p = cb.and( p, cb.equal( root.get(StatisticUnitForMonth_.statisticMonth), sMonth));
	}
	return em.createQuery(cq.where(p)).getSingleResult();
}
 
源代码18 项目: o2oa   文件: BaseAction.java
private AppInfo getAppInfoWithAlias(Business business, String alias) throws Exception {
	if (StringUtils.isEmpty(alias)) {
		return null;
	}
	EntityManager em = business.entityManagerContainer().get(AppInfo.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<AppInfo> cq = cb.createQuery(AppInfo.class);
	Root<AppInfo> root = cq.from(AppInfo.class);
	Predicate p = cb.equal( root.get(AppInfo_.appAlias ), alias);
	List<AppInfo> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
	if (os.size() == 1) {
		return os.get(0);
	} else {
		return null;
	}
}
 
源代码19 项目: o2oa   文件: OkrWorkBaseInfoFactory.java
public Long getCompletedWorkCountByCenterId(String centerId, List<String> status) throws Exception {
	if( centerId == null || centerId.isEmpty() ){
		throw new Exception( "centerId is null." );
	}
	if( status == null || status.isEmpty() ){
		throw new Exception( "status is null." );
	}
	EntityManager em = this.entityManagerContainer().get( OkrWorkBaseInfo.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Long> cq = cb.createQuery(Long.class);
	Root<OkrWorkBaseInfo> root = cq.from( OkrWorkBaseInfo.class);
	Predicate p = root.get( OkrWorkBaseInfo_.status ).in( status );
	p = cb.and( p, cb.equal( root.get( OkrWorkBaseInfo_.centerId ), centerId));
	p = cb.and( p, cb.equal( root.get( OkrWorkBaseInfo_.workProcessStatus ), "已完成"));
	//查询总数
	cq.select( cb.count( root ) );
	return em.createQuery(cq.where(p)).getSingleResult();
}
 
源代码20 项目: o2oa   文件: AttendanceDetailStatisticFactory.java
/**
 * 根据员工,打卡日期月,统计请假天数
 * @param unitNames
 * @param recordDate
 * @return
 * @throws Exception
 */
public Double sumOnSelfHolidayDaysByUnitAndDate( List<String> unitNames, String recordDate ) throws Exception{
	if( unitNames == null || unitNames.size() == 0 ){
		logger.error( new UnitNamesEmptyException() );
		return null;
	}		
	EntityManager em = this.entityManagerContainer().get( AttendanceDetail.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Double> cq = cb.createQuery(Double.class);
	Root<AttendanceDetail> root = cq.from( AttendanceDetail.class);			
	Predicate p = root.get( AttendanceDetail_.unitName ).in( unitNames );
	p = cb.and( p, cb.equal( root.get( AttendanceDetail_.recordStatus ), 1));
	if( recordDate == null || recordDate.isEmpty() ){
		logger.error( new RecordDateEmptyException() );
	}else{
		p = cb.and( p, cb.equal( root.get( AttendanceDetail_.recordDateString ), recordDate));
	}		
	//查询总数
	cq.select( cb.sum( root.get( AttendanceDetail_.getSelfHolidayDays ) ) );	
			
	return em.createQuery(cq.where(p)).getSingleResult();
}
 
源代码21 项目: o2oa   文件: ActionCover.java
private <T extends JpaObject> String idleAliasWithPortal(Business business, String portalId, String alias,
		Class<T> cls, String excludeId) throws Exception {
	if (StringUtils.isEmpty(alias)) {
		return "";
	}
	List<String> list = new ArrayList<>();
	list.add(alias);
	for (int i = 1; i < 99; i++) {
		list.add(alias + String.format("%02d", i));
	}
	list.add(StringTools.uniqueToken());
	EntityManager em = business.entityManagerContainer().get(cls);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<T> root = cq.from(cls);
	Predicate p = root.get("alias").in(list);
	p = cb.and(p, cb.equal(root.get("portal"), portalId));
	if (StringUtils.isNotEmpty(excludeId)) {
		p = cb.and(p, cb.notEqual(root.get(JpaObject.id_FIELDNAME), excludeId));
	}
	cq.select(root.get("alias")).where(p);
	List<String> os = em.createQuery(cq).getResultList();
	list = ListUtils.subtract(list, os);
	return list.get(0);
}
 
源代码22 项目: o2oa   文件: ActionClean.java
private List<String> list(Business business, Boolean cleanWork, Boolean cleanWorkCompleted, Boolean cleanCms)
		throws Exception {
	EntityManager em = business.entityManagerContainer().get(Entry.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<Entry> root = cq.from(Entry.class);
	Predicate p = cb.disjunction();
	if (BooleanUtils.isTrue(cleanWork)) {
		p = cb.or(p, cb.equal(root.get(Entry_.type), Entry.TYPE_WORK));
	}
	if (BooleanUtils.isTrue(cleanWorkCompleted)) {
		p = cb.or(p, cb.equal(root.get(Entry_.type), Entry.TYPE_WORKCOMPLETED));
	}
	if (BooleanUtils.isTrue(cleanCms)) {
		p = cb.or(p, cb.equal(root.get(Entry_.type), Entry.TYPE_CMS));
	}
	cq.select(root.get(Entry_.id)).where(p);
	List<String> os = em.createQuery(cq).setMaxResults(BATCHSIZE).getResultList();
	return os;
}
 
源代码23 项目: o2oa   文件: MindVersionInfoFactory.java
public MindVersionInfo getLatestVersionWithMind(String mindId) throws Exception {
	if( StringUtils.isEmpty( mindId ) ){
		new Exception("脑图ID为空,无法查询版本信息!");
	}
	EntityManager em = this.entityManagerContainer().get(MindVersionInfo.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<MindVersionInfo> cq = cb.createQuery(MindVersionInfo.class);
	Root<MindVersionInfo> root = cq.from(MindVersionInfo.class);
	Predicate p = cb.equal( root.get(MindVersionInfo_.mindId) , mindId);
	cq.orderBy( cb.desc( root.get( MindVersionInfo_.updateTime ) ) );
	List<MindVersionInfo> versions = em.createQuery(cq.where(p)).setMaxResults(1).getResultList();
	if(ListTools.isNotEmpty( versions )) {
		 return versions.get(0);
	 }
	return null;
}
 
源代码24 项目: o2oa   文件: BaseAction.java
private Long countExpiredTaskTask(Business business, DateRange dateRange, String applicationId, String processId,
		String activityId, List<String> units, String person) throws Exception {
	EntityManager em = business.entityManagerContainer().get(Task.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Long> cq = cb.createQuery(Long.class);
	Root<Task> root = cq.from(Task.class);
	Predicate p = cb.between(root.get(Task_.expireTime), dateRange.getStart(), dateRange.getEnd());
	if (!StringUtils.equals(applicationId, StandardJaxrsAction.EMPTY_SYMBOL)) {
		p = cb.and(p, cb.equal(root.get(Task_.application), applicationId));
	}
	if (!StringUtils.equals(processId, StandardJaxrsAction.EMPTY_SYMBOL)) {
		p = cb.and(p, cb.equal(root.get(Task_.process), processId));
	}
	if (!StringUtils.equals(activityId, StandardJaxrsAction.EMPTY_SYMBOL)) {
		p = cb.and(p, cb.equal(root.get(Task_.activity), activityId));
	}
	if (ListTools.isNotEmpty(units)) {
		p = cb.and(p, root.get(Task_.unit).in(units));
	}
	if (!StringUtils.equals(person, StandardJaxrsAction.EMPTY_SYMBOL)) {
		p = cb.and(p, cb.equal(root.get(Task_.person), person));
	}
	cq.select(cb.count(root)).where(p);
	return em.createQuery(cq).getSingleResult();
}
 
源代码25 项目: o2oa   文件: ReviewFactory.java
public Long countByTask(String taskId) throws Exception {
	if( StringUtils.isEmpty( taskId ) ) {
		throw new Exception("task id can not be empty!");
	}
	EntityManager em = this.entityManagerContainer().get( Review.class );
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<Long> cq = cb.createQuery(Long.class);
	Root<Review> root = cq.from(Review.class);
	Predicate p = cb.equal( root.get(Review_.taskId), taskId );
	cq.select(cb.count(root)).where(p);
	return em.createQuery(cq).getSingleResult();
}
 
源代码26 项目: monolith   文件: BaseEntityService.java
/**
 * <p>
 *     A method for retrieving individual entity instances.
 * </p>
 * @param id entity id
 * @return
 */
@GET
@Path("/{id:[0-9][0-9]*}")
@Produces(MediaType.APPLICATION_JSON)
public T getSingleInstance(@PathParam("id") Long id) {
    final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    final CriteriaQuery<T> criteriaQuery = criteriaBuilder.createQuery(entityClass);
    Root<T> root = criteriaQuery.from(entityClass);
    Predicate condition = criteriaBuilder.equal(root.get("id"), id);
    criteriaQuery.select(criteriaBuilder.createQuery(entityClass).getSelection()).where(condition);
    return entityManager.createQuery(criteriaQuery).getSingleResult();
}
 
源代码27 项目: o2oa   文件: TimerStartTaskApplicationStubs.java
private Collection<String> listProcessFromTaskCompleted(Business business, DateRange dateRange,
		ApplicationStub applicationStub) throws Exception {
	EntityManagerContainer emc = business.entityManagerContainer();
	EntityManager em = emc.get(TaskCompleted.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<String> cq = cb.createQuery(String.class);
	Root<TaskCompleted> root = cq.from(TaskCompleted.class);
	Predicate p = cb.between(root.get(TaskCompleted_.startTime), dateRange.getStart(), dateRange.getEnd());
	p = cb.and(p, cb.equal(root.get(TaskCompleted_.application), applicationStub.getValue()));
	cq.select(root.get(TaskCompleted_.process)).distinct(true).where(p);
	List<String> list = em.createQuery(cq).getResultList();
	return list;
}
 
源代码28 项目: mblog   文件: RoleServiceImpl.java
@Override
public Page<Role> paging(Pageable pageable, String name) {
    Page<Role> page = roleRepository.findAll((root, query, builder) -> {
        Predicate predicate = builder.conjunction();

        if (StringUtils.isNoneBlank(name)) {
            predicate.getExpressions().add(
                    builder.like(root.get("name"), "%" + name + "%"));
        }

        query.orderBy(builder.desc(root.get("id")));
        return predicate;
    }, pageable);
    return page;
}
 
源代码29 项目: o2oa   文件: StatisticUnitForMonthFactory.java
public List<StatisticUnitForMonth> list(List<String> ids) throws Exception {
	if( ids == null || ids.size() == 0 ){
		return new ArrayList<StatisticUnitForMonth>();
	}
	EntityManager em = this.entityManagerContainer().get(StatisticUnitForMonth.class);
	CriteriaBuilder cb = em.getCriteriaBuilder();
	CriteriaQuery<StatisticUnitForMonth> cq = cb.createQuery(StatisticUnitForMonth.class);
	Root<StatisticUnitForMonth> root = cq.from(StatisticUnitForMonth.class);
	Predicate p = root.get(StatisticUnitForMonth_.id).in(ids);
	return em.createQuery(cq.where(p)).getResultList();
}
 
源代码30 项目: onedev   文件: FixedInBuildCriteria.java
@Override
public Predicate getPredicate(Root<Issue> root, CriteriaBuilder builder) {
	Collection<Long> fixedIssueNumbers = build.getFixedIssueNumbers();
	if (!fixedIssueNumbers.isEmpty()) {
		return builder.and(
				builder.equal(root.get(Issue.PROP_PROJECT), build.getProject()),
				root.get(Issue.PROP_NUMBER).in(fixedIssueNumbers));
	} else {
		return builder.disjunction();
	}
}