From c1f9ca88045fe4adc4a4b948ab9dd7df1b3cc934 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 11 Jul 2012 08:24:56 +0200 Subject: [PATCH] Bug #1500: Fix material needed at date report only showing information in projects with permissions FEA: ItEr76S04BugFixing --- .../business/materials/daos/MaterialDAO.java | 18 +++++++++++------- .../reports/TimeLineRequiredMaterialModel.java | 10 +++++----- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/libreplan-business/src/main/java/org/libreplan/business/materials/daos/MaterialDAO.java b/libreplan-business/src/main/java/org/libreplan/business/materials/daos/MaterialDAO.java index b76fdaca1..56e89ec56 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/materials/daos/MaterialDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/materials/daos/MaterialDAO.java @@ -22,6 +22,7 @@ package org.libreplan.business.materials.daos; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -136,6 +137,9 @@ public class MaterialDAO extends IntegrationEntityDAO implements public List getFilterMaterial( MaterialStatusEnum filterStatus, List orders, List categories, List materials) { + if (orders.isEmpty()) { + return Collections.emptyList(); + } boolean addedWhere = false; boolean addfilterCategory = false; @@ -163,14 +167,14 @@ public class MaterialDAO extends IntegrationEntityDAO implements addedWhere = true; strQuery += "WHERE materialAssignment.status = :filterStatus "; } - if (!allOrders.isEmpty()) { - if (addedWhere) { - strQuery += "AND orderElement IN (:allOrders) "; - } else { - addedWhere = true; - strQuery += "WHERE orderElement IN (:allOrders) "; - } + + if (addedWhere) { + strQuery += "AND orderElement IN (:allOrders) "; + } else { + addedWhere = true; + strQuery += "WHERE orderElement IN (:allOrders) "; } + if (categories != null && !categories.isEmpty()) { if (addedWhere) { strQuery += "AND "; diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/reports/TimeLineRequiredMaterialModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/reports/TimeLineRequiredMaterialModel.java index ab4de013b..19ca53380 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/reports/TimeLineRequiredMaterialModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/reports/TimeLineRequiredMaterialModel.java @@ -158,22 +158,22 @@ public class TimeLineRequiredMaterialModel implements Date endingDate, MaterialStatusEnum status, List listOrders, List categories, List materials) { - List orderToInitialized = new ArrayList(listOrders); + List orders = listOrders; if (listOrders.isEmpty()) { - orderToInitialized.addAll(getOrders()); + orders = allOrders; } - for (Order each : orderToInitialized) { + for (Order each : orders) { reattachmentOrder(each); } Scenario currentScenario = scenarioManager.getCurrent(); - for (Order each : orderToInitialized) { + for (Order each : orders) { each.useSchedulingDataFor(currentScenario); } List result = filterConsult(startingDate, - endingDate, status, listOrders, categories, materials); + endingDate, status, orders, categories, materials); if (result != null && !result.isEmpty()) {