diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderDAO.java b/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderDAO.java index d11ebf651..ec62cb241 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderDAO.java @@ -445,9 +445,6 @@ public class OrderDAO extends IntegrationEntityDAO implements + "LEFT OUTER JOIN expense.orderElement exp_ord " + "WHERE orderElement.id = exp_ord.id "; - if (!orders.isEmpty()) { - strQuery += "AND orderElement.parent IN (:orders) "; - } if (startingDate != null && endingDate != null) { strQuery += "AND expense.date BETWEEN :startingDate AND :endingDate "; } @@ -464,9 +461,6 @@ public class OrderDAO extends IntegrationEntityDAO implements Query query = getSession().createQuery(strQuery); // Set parameters - if (!orders.isEmpty()) { - query.setParameterList("orders", orders); - } if (startingDate != null) { query.setParameter("startingDate", new LocalDate(startingDate)); } @@ -480,7 +474,8 @@ public class OrderDAO extends IntegrationEntityDAO implements for (CostExpenseSheetDTO each : list) { Order order = loadOrderAvoidingProxyFor(each.getOrderElement()); // Apply filtering - if (matchFilterCriterion(each.getOrderElement(), criterions)) { + if (matchFilterCriterion(each.getOrderElement(), criterions) + && isOrderContained(order, orders)) { each.setOrder(order); filteredList.add(each); }