diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/ISubcontractedTaskDataDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/ISubcontractedTaskDataDAO.java index cf6727ee8..88a59b159 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/ISubcontractedTaskDataDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/ISubcontractedTaskDataDAO.java @@ -39,4 +39,6 @@ public interface ISubcontractedTaskDataDAO extends void removeOrphanedSubcontractedTaskData(); + List getAllForMasterScenario(); + } \ No newline at end of file diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/SubcontractedTaskDataDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/SubcontractedTaskDataDAO.java index 339fb8f5b..68b326e3e 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/SubcontractedTaskDataDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/SubcontractedTaskDataDAO.java @@ -20,12 +20,18 @@ package org.navalplanner.business.planner.daos; +import java.util.ArrayList; import java.util.List; -import org.hibernate.criterion.Restrictions; import org.navalplanner.business.common.daos.GenericDAOHibernate; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; +import org.navalplanner.business.orders.entities.Order; +import org.navalplanner.business.orders.entities.OrderElement; import org.navalplanner.business.planner.entities.SubcontractedTaskData; +import org.navalplanner.business.planner.entities.Task; +import org.navalplanner.business.planner.entities.TaskElement; +import org.navalplanner.business.scenarios.bootstrap.PredefinedScenarios; +import org.navalplanner.business.scenarios.entities.Scenario; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Repository; @@ -72,4 +78,24 @@ public class SubcontractedTaskDataDAO extends } } + @Override + public List getAllForMasterScenario() { + Scenario masterScenario = PredefinedScenarios.MASTER.getScenario(); + + List result = new ArrayList(); + for (Order order : masterScenario.getOrders().keySet()) { + order.useSchedulingDataFor(masterScenario); + for (OrderElement orderElement : order.getAllOrderElements()) { + for (TaskElement taskElement : orderElement.getTaskElements()) { + if (taskElement.isSubcontracted()) { + result.add(((Task) taskElement) + .getSubcontractedTaskData()); + } + } + } + } + + return result; + } + } \ No newline at end of file diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/subcontract/SubcontractedTasksModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/subcontract/SubcontractedTasksModel.java index d978c9fc2..1d74908d5 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/subcontract/SubcontractedTasksModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/subcontract/SubcontractedTasksModel.java @@ -84,7 +84,8 @@ public class SubcontractedTasksModel implements ISubcontractedTasksModel { @Override @Transactional(readOnly = true) public List getSubcontractedTasks() { - List result = subcontractedTaskDataDAO.getAll(); + List result = subcontractedTaskDataDAO + .getAllForMasterScenario(); for (SubcontractedTaskData subcontractedTaskData : result) { forceLoadExternalCompany(subcontractedTaskData); }