List of usage examples for org.hibernate.criterion Restrictions and
public static LogicalExpression and(Criterion lhs, Criterion rhs)
From source file:es.jpons.persistence.query.CriteriaAllenRelations.java
License:Open Source License
/** * Meets relation//from ww w .ja va 2s .co m * * @param initializedCriteria an initialized criteria * @param pvp a possibilistic valid time period. * @return A criteria */ public static Criteria meets(Criteria initializedCriteria, PossibilisticVTP pvp) { Long left = pvp.getStartMP() - pvp.getStartLeft(); Long right = pvp.getStartMP() + pvp.getStartRight(); initializedCriteria = initializedCriteria.add(Restrictions.and( Restrictions.sqlRestriction("( {alias}.endMP + {alias}.endLeft ) >= ?", left, LongType.INSTANCE), Restrictions.sqlRestriction("( {alias}.endMP + {alias}.endLeft ) <= ?", right, LongType.INSTANCE))); return initializedCriteria; }
From source file:es.jpons.persistence.query.CriteriaAllenRelations.java
License:Open Source License
public static Criteria meet_by(Criteria initializedCriteria, PossibilisticVTP pvp) { Long left = pvp.getEndMP() - pvp.getEndLeft(); Long right = pvp.getEndMP() + pvp.getEndRight(); initializedCriteria = initializedCriteria.add(Restrictions.and( Restrictions.sqlRestriction("( {alias}.startMP + {alias}.startLeft ) >= ?", left, LongType.INSTANCE),// w ww .j a v a 2s . c om Restrictions.sqlRestriction("( {alias}.startMP + {alias}.startLeft ) <= ?", right, LongType.INSTANCE))); return initializedCriteria; }
From source file:es.jpons.persistence.query.CriteriaAllenRelations.java
License:Open Source License
/** * Implements the during criteria//from w w w . j av a2 s. co m * * @param initializedCriteria * @param pvp * @return */ public static Criteria during(Criteria initializedCriteria, PossibilisticVTP pvp) { Long jstart = pvp.getStartMP(); Long jright = pvp.getEndMP() + pvp.getEndRight(); Long jleft = pvp.getStartMP() - pvp.getStartLeft(); Long jend = pvp.getEndMP(); initializedCriteria = initializedCriteria.add(Restrictions.or( Restrictions.and(Restrictions.sqlRestriction("({alias}.startMP ) > ?", jstart, LongType.INSTANCE), Restrictions.sqlRestriction("{alias}.endMP <= ?", jright, LongType.INSTANCE)), Restrictions.and(Restrictions.sqlRestriction("({alias}.startMP ) >= ?", jleft, LongType.INSTANCE), Restrictions.sqlRestriction("{alias}.endMP < ?", jend, LongType.INSTANCE)))); return initializedCriteria; }
From source file:es.jpons.persistence.query.CriteriaAllenRelations.java
License:Open Source License
/** * Implements the contains/*from www. j a v a2 s .c o m*/ * * @param initializedCriteria * @param pvp * @return */ public static Criteria contains(Criteria initializedCriteria, PossibilisticVTP pvp) { Long jstart = pvp.getStartMP(); Long jright = pvp.getStartMP() + pvp.getStartRight(); Long jleft = pvp.getEndMP() - pvp.getEndLeft(); Long jend = pvp.getEndMP(); initializedCriteria = initializedCriteria.add(Restrictions.or( Restrictions.and(Restrictions.sqlRestriction("({alias}.startMP ) < ?", jstart, LongType.INSTANCE), Restrictions.sqlRestriction("{alias}.endMP >= ?", jleft, LongType.INSTANCE)), Restrictions.and(Restrictions.sqlRestriction("({alias}.startMP ) <= ?", jright, LongType.INSTANCE), Restrictions.sqlRestriction("{alias}.endMP > ?", jend, LongType.INSTANCE)))); return initializedCriteria; }
From source file:es.jpons.persistence.query.CriteriaAllenRelations.java
License:Open Source License
public static Criteria equals(Criteria initializedCriteria, PossibilisticVTP pvp) { initializedCriteria = initializedCriteria.add(Restrictions.and( Restrictions.or(/* w w w .j a va2 s . c om*/ Restrictions.sqlRestriction("({alias}.startMP + {alias}.startRight ) <= ?", pvp.getStartMP() - pvp.getStartLeft(), LongType.INSTANCE), Restrictions.sqlRestriction("({alias}.startMP - {alias}.startLeft ) >= ?", pvp.getStartMP() + pvp.getStartRight(), LongType.INSTANCE)), Restrictions.or( Restrictions.sqlRestriction("({alias}.endMP + {alias}.endRight ) <= ?", pvp.getEndMP() - pvp.getEndLeft(), LongType.INSTANCE), Restrictions.sqlRestriction("({alias}.endMP - {alias}.endLeft ) >= ?", pvp.getEndMP() + pvp.getEndRight(), LongType.INSTANCE)))); return initializedCriteria; }
From source file:es.jpons.persistence.TemporalPersistenceManager.java
License:Open Source License
/** * Criteria for the insert operation// w ww .ja va 2 s. c om * * @param criteria An initialized criteria * @param key the temporal primary key of the object * @return The criteria to modify a tuple. */ protected Criteria criteriaModify(Criteria criteria, TemporalPK key) { return criteria.add(Restrictions.and(Restrictions.eq("tid.id", key.getId()), Restrictions.eq("pvp.side", OpenInterval.UC))); }
From source file:es.sm2.openppm.core.dao.DataTableDAO.java
License:Open Source License
private void applyFilters(Criteria crit, List<DatoColumna> filtrosExtras) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); for (DatoColumna filtroColumna : filtrosExtras) { if (filtroColumna.getTipo() == Date.class) { // Filtramos si es una fecha Date tempDate = df.parse(filtroColumna.getValor()); crit.add(Restrictions.eq(filtroColumna.getNombre(), tempDate)); } else if (filtroColumna.getTipo() == Integer.class) { // Filtramos si es un numero Integer integer = Integer.parseInt(filtroColumna.getValor()); crit.add(Restrictions.eq(filtroColumna.getNombre(), integer)); } else if (filtroColumna.getTipo() == Boolean.class) { // Filtramos si es un booleano Boolean bool = Boolean.parseBoolean(filtroColumna.getValor()); crit.add(Restrictions.eq(filtroColumna.getNombre(), bool)); } else if (filtroColumna.getTipo() == List.class) { // Since Until if (filtroColumna.getSubTipo() != null && filtroColumna.getSubTipo() == Date.class) { Date sinceDate = (Date) filtroColumna.getObjectList()[0]; Date untilDate = (Date) filtroColumna.getObjectList()[1]; String sinceName = (String) filtroColumna.getNombreList()[0]; String untilName = (String) filtroColumna.getNombreList()[1]; crit.add(Restrictions.disjunction().add(Restrictions.between(sinceName, sinceDate, untilDate)) .add(Restrictions.between(untilName, sinceDate, untilDate)).add(Restrictions.and( Restrictions.le(sinceName, sinceDate), Restrictions.ge(untilName, untilDate)))); } else { // Tiene que estar en la lista crit.add(Restrictions.in(filtroColumna.getNombre(), filtroColumna.getValorList())); }//from ww w .j av a2 s. com } else if (filtroColumna.getTipo() == String.class) { if (filtroColumna.getSubTipo() == List.class) { if (!ValidateUtil.isNull(filtroColumna.getValor())) { String[] value = filtroColumna.getValor().split(","); List<Integer> ids = new ArrayList<Integer>(); for (String id : value) { ids.add(Integer.parseInt(id)); } if (filtroColumna.getCriteria() != null) { Criteria crit2 = crit.createCriteria(filtroColumna.getCriteria()); crit2.add(Restrictions.in(filtroColumna.getNombre(), ids)); } else { crit.add(Restrictions.in(filtroColumna.getNombre(), ids)); } } } else { // Comparando texto crit.add(Restrictions.like(filtroColumna.getNombre(), "%" + filtroColumna.getValor() + "%")); } } else { // Filtrando Objectos crit.add(Restrictions.eq(filtroColumna.getNombre(), filtroColumna.getObject())); } } }
From source file:es.sm2.openppm.core.dao.EmployeeDAO.java
License:Open Source License
/** * Find Approvals Time Sheets by Functional Manager * /*from w w w .ja va 2 s . c o m*/ * @param user * @param initDate * @param endDate * @param status * @param statusResource * @param includeClosed * @param onlyOperations * @param employees - not equals * @return */ @SuppressWarnings("unchecked") public List<Employee> findApprovals(Employee user, Date initDate, Date endDate, String status, String statusResource, boolean includeClosed, List<Employee> employees, boolean onlyOperations) { Resourceprofiles profile = user.getResourceprofiles(); Criteria crit = getSession().createCriteria(getPersistentClass(), "e") .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).setFetchMode(Employee.CONTACT, FetchMode.JOIN); if (ValidateUtil.isNotNull(employees)) { List<Integer> ids = new ArrayList<Integer>(); for (Employee item : employees) { ids.add(item.getIdEmployee()); } crit.add(Restrictions.not(Restrictions.in("e." + Employee.IDEMPLOYEE, ids))); } crit.createCriteria(Employee.TIMESHEETS, "ts").add(Restrictions.eq(Timesheet.INITDATE, initDate)) .add(Restrictions.eq(Timesheet.ENDDATE, endDate)).add(Restrictions.eq(Timesheet.STATUS, status)) .createAlias(Timesheet.PROJECTACTIVITY, "pa", Criteria.LEFT_JOIN) .createAlias("pa." + Projectactivity.PROJECT, "p", Criteria.LEFT_JOIN); if (ValidateUtil.isNotNull(statusResource)) { crit.createCriteria("pa." + Projectactivity.TEAMMEMBERS) .add(Restrictions.eq(Teammember.STATUS, statusResource)).createCriteria(Teammember.EMPLOYEE) .add(Restrictions.eqProperty(Employee.IDEMPLOYEE, "e." + Employee.IDEMPLOYEE)); } else if (onlyOperations) { crit.add(Restrictions.isNotNull("ts." + Timesheet.OPERATION)); } // Exluce projects closed if (!includeClosed) { crit.add(Restrictions.and(Restrictions.ne("p." + Project.STATUS, Constants.STATUS_CLOSED), Restrictions.ne("p." + Project.STATUS, Constants.STATUS_ARCHIVED))); } // Filter by User. Settings by company for last approval. if (profile.getIdProfile() == Constants.ROLE_FM) { crit.add(Restrictions.or(Restrictions.eq("p." + Project.EMPLOYEEBYFUNCTIONALMANAGER, user), Restrictions.and(Restrictions.isNull("ts." + Timesheet.PROJECTACTIVITY), Restrictions.eq("e." + Employee.PERFORMINGORG, user.getPerformingorg())))); } else if (profile.getIdProfile() == Constants.ROLE_PMO) { crit.add(Restrictions.or(Restrictions.eq("p." + Project.PERFORMINGORG, user.getPerformingorg()), Restrictions.and(Restrictions.isNull("ts." + Timesheet.PROJECTACTIVITY), Restrictions.eq("e." + Employee.PERFORMINGORG, user.getPerformingorg())))); } return crit.list(); }
From source file:es.sm2.openppm.core.dao.EmployeeDAO.java
License:Open Source License
/** * Find Employees where inputed hours is approval * /* w ww.j ava 2s. co m*/ * @param project * @param since * @param until * @return */ @SuppressWarnings("unchecked") public List<Employee> findInputedInProject(Project project, Date since, Date until) { Criteria crit = getSession().createCriteria(getPersistentClass()) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); Criteria members = crit.createCriteria(Employee.TEAMMEMBERS) .add(Restrictions.or(Restrictions.eq(Teammember.STATUS, Constants.RESOURCE_ASSIGNED), Restrictions.eq(Teammember.STATUS, Constants.RESOURCE_RELEASED))); if (since != null && until != null) { members.add(Restrictions.disjunction().add(Restrictions.between(Teammember.DATEIN, since, until)) .add(Restrictions.between(Teammember.DATEOUT, since, until)) .add(Restrictions.and(Restrictions.le(Teammember.DATEIN, since), Restrictions.ge(Teammember.DATEOUT, until)))); } members.createCriteria(Teammember.PROJECTACTIVITY).add(Restrictions.eq(Projectactivity.PROJECT, project)); Criteria sheets = crit.createCriteria(Employee.TIMESHEETS) .add(Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP3)); if (since != null && until != null) { sheets.add(Restrictions.disjunction().add(Restrictions.between(Timesheet.INITDATE, since, until)) .add(Restrictions.between(Timesheet.ENDDATE, since, until)) .add(Restrictions.and(Restrictions.le(Timesheet.INITDATE, since), Restrictions.ge(Timesheet.ENDDATE, until)))); } sheets.createCriteria(Timesheet.PROJECTACTIVITY).add(Restrictions.eq(Projectactivity.PROJECT, project)); crit.createCriteria(Employee.CONTACT).addOrder(Order.asc(Contact.FULLNAME)); crit.setFetchMode(Employee.CALENDARBASE, FetchMode.JOIN); return crit.list(); }
From source file:es.sm2.openppm.core.dao.EmployeeDAO.java
License:Open Source License
/** * Find imputed in projects//from w w w . jav a2 s . c om * * @param projects * @param since * @param until * @param idResourcePool * @param activities * @return */ @SuppressWarnings("unchecked") public List<Employee> findInputedInProjects(List<Project> projects, Date since, Date until, Integer idResourcePool, List<Projectactivity> activities) { List<Employee> employees = null; if (ValidateUtil.isNotNull(projects) || ValidateUtil.isNotNull(activities)) { Criteria crit = getSession().createCriteria(getPersistentClass()) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (idResourcePool != null) { crit.add(Restrictions.eq(Employee.RESOURCEPOOL, new Resourcepool(idResourcePool))); } // Timesheet filter by status app3 and dates and projects // Criteria sheets = crit.createCriteria(Employee.TIMESHEETS) .add(Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP3)); if (since != null && until != null) { sheets.add(Restrictions.disjunction().add(Restrictions.between(Timesheet.INITDATE, since, until)) .add(Restrictions.between(Timesheet.ENDDATE, since, until)) .add(Restrictions.and(Restrictions.le(Timesheet.INITDATE, since), Restrictions.ge(Timesheet.ENDDATE, until)))); } if (projects != null) { Criteria activitiesCrit = sheets.createCriteria(Timesheet.PROJECTACTIVITY) .add(Restrictions.in(Projectactivity.PROJECT, projects)); // Select employees whose activity is control account Criteria wbsnodeCrit = activitiesCrit.createCriteria(Projectactivity.WBSNODE) .add(Restrictions.eq(Wbsnode.ISCONTROLACCOUNT, true)); } else if (activities != null) { sheets.add(Restrictions.in(Timesheet.PROJECTACTIVITY, activities)); } crit.createCriteria(Employee.CONTACT).addOrder(Order.asc(Contact.FULLNAME)); employees = crit.list(); } return employees; }