return result;
}
public QueryFilter buildQueryFilter(final HRPlanningFilter filter)
{
final QueryFilter queryFilter = new QueryFilter(filter);
queryFilter.createAlias("planning", "p").createAlias("p.user", "u");
if (filter.getUserId() != null) {
final PFUserDO user = new PFUserDO();
user.setId(filter.getUserId());
queryFilter.add(Restrictions.eq("p.user", user));
}
if (filter.getStartTime() != null && filter.getStopTime() != null) {
queryFilter.add(Restrictions.between("p.week", filter.getStartTime(), filter.getStopTime()));
} else if (filter.getStartTime() != null) {
queryFilter.add(Restrictions.ge("p.week", filter.getStartTime()));
} else if (filter.getStopTime() != null) {
queryFilter.add(Restrictions.le("p.week", filter.getStopTime()));
}
if (filter.getProjektId() != null) {
queryFilter.add(Restrictions.eq("projekt.id", filter.getProjektId()));
}
queryFilter.addOrder(Order.desc("p.week")).addOrder(Order.asc("u.firstname"));
if (log.isDebugEnabled() == true) {
log.debug(ToStringBuilder.reflectionToString(filter));
}
return queryFilter;
}