ItEr30S15RFVisualizacionMultiplesProxectosItEr29S18: Viewing resource load for an order

This commit is contained in:
Óscar González Fernández 2009-10-14 02:23:28 +02:00
parent 59c2fed86b
commit d54376cb5d
5 changed files with 44 additions and 21 deletions

View file

@ -34,6 +34,7 @@ import org.navalplanner.web.planner.CompanyPlanningController;
import org.navalplanner.web.planner.IOrderPlanningGate;
import org.navalplanner.web.planner.OrderPlanningController;
import org.navalplanner.web.planner.tabs.CreatedOnDemandTab.IComponentCreator;
import org.navalplanner.web.resourceload.ResourceLoadController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
@ -52,7 +53,6 @@ import org.zkoss.zk.ui.util.Composer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zul.Button;
import org.zkoss.zul.Div;
import org.zkoss.zul.Label;
/**
* Creates and handles several tabs
@ -118,6 +118,9 @@ public class MultipleTabsPlannerController implements Composer {
@Autowired
private OrderPlanningController orderPlanningController;
@Autowired
private ResourceLoadController resourceLoadController;
private IComponentCreator ordersTabCreator = new IComponentCreator() {
private org.zkoss.zk.ui.Component result;
@ -228,16 +231,32 @@ public class MultipleTabsPlannerController implements Composer {
}
private ITab createOrderResourcesLoadTab() {
return new CreatedOnDemandTab(RESOURCE_LOAD_VIEW, new IComponentCreator() {
IComponentCreator componentCreator = new IComponentCreator() {
@Override
public org.zkoss.zk.ui.Component create(
org.zkoss.zk.ui.Component parent) {
return withUpAndDownButton(new Label(
"on resource load view. mode: "
+ mode.getType()));
Map<String, Object> arguments = new HashMap<String, Object>();
arguments.put("resourceLoadController",
resourceLoadController);
return Executions.createComponents(
"/resourceload/_resourceloadfororder.zul",
parent,
arguments);
}
});
};
return new CreatedOnDemandTab(RESOURCE_LOAD_VIEW, componentCreator) {
private Order currentOrder;
@Override
protected void afterShowAction() {
if (mode.isOf(ModeType.ORDER)
&& mode.getOrder() != currentOrder) {
currentOrder = mode.getOrder();
resourceLoadController.filterBy(currentOrder);
}
}
};
}
private ITab createGlobalResourcesLoadTab() {

View file

@ -22,7 +22,7 @@ package org.navalplanner.web.resourceload;
import java.util.List;
import org.navalplanner.web.planner.PlanningState;
import org.navalplanner.business.orders.entities.Order;
import org.zkoss.ganttz.data.resourceload.LoadTimelinesGroup;
import org.zkoss.ganttz.util.Interval;
@ -30,7 +30,7 @@ public interface IResourceLoadModel {
void initGlobalView();
void initGlobalView(PlanningState filterBy);
void initGlobalView(Order filterBy);
List<LoadTimelinesGroup> getLoadTimeLines();

View file

@ -25,7 +25,7 @@ import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang.Validate;
import org.navalplanner.web.planner.PlanningState;
import org.navalplanner.business.orders.entities.Order;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
@ -33,7 +33,7 @@ import org.springframework.stereotype.Component;
import org.zkoss.ganttz.resourceload.ResourcesLoadPanel;
import org.zkoss.ganttz.resourceload.ResourcesLoadPanel.IToolbarCommand;
import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zk.ui.util.Composer;
/**
* Controller for global resourceload view
@ -41,14 +41,14 @@ import org.zkoss.zk.ui.util.GenericForwardComposer;
*/
@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class ResourceLoadController extends GenericForwardComposer {
public class ResourceLoadController implements Composer {
@Autowired
private IResourceLoadModel resourceLoadModel;
private List<IToolbarCommand> commands = new ArrayList<IToolbarCommand>();
private PlanningState filterBy;
private Order filterBy;
public ResourceLoadController() {
}
@ -80,7 +80,7 @@ public class ResourceLoadController extends GenericForwardComposer {
new TimeTracker(resourceLoadModel.getViewInterval()));
}
public void filterBy(PlanningState planningState) {
this.filterBy = planningState;
public void filterBy(Order order) {
this.filterBy = order;
}
}

View file

@ -34,6 +34,8 @@ import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.navalplanner.business.orders.daos.IOrderDAO;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.business.planner.daos.IResourceAllocationDAO;
import org.navalplanner.business.planner.entities.GenericResourceAllocation;
import org.navalplanner.business.planner.entities.ResourceAllocation;
@ -43,7 +45,6 @@ import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.business.resources.daos.IResourceDAO;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.web.planner.PlanningState;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
@ -61,13 +62,16 @@ public class ResourceLoadModel implements IResourceLoadModel {
@Autowired
private IResourceDAO resourcesDAO;
@Autowired
private IOrderDAO orderDAO;
@Autowired
private IResourceAllocationDAO resourceAllocationDAO;
private List<LoadTimelinesGroup> loadTimeLines;
private Interval viewInterval;
private PlanningState filterBy;
private Order filterBy;
@Override
@Transactional(readOnly = true)
@ -82,8 +86,9 @@ public class ResourceLoadModel implements IResourceLoadModel {
@Override
@Transactional(readOnly = true)
public void initGlobalView(PlanningState filterBy) {
public void initGlobalView(Order filterBy) {
this.filterBy = filterBy;
orderDAO.save(filterBy);
initGlobalView();
}
@ -105,7 +110,7 @@ public class ResourceLoadModel implements IResourceLoadModel {
if (filter()) {
return resourceAllocationDAO
.findGenericAllocationsByCriterionFor(justTasks(filterBy
.getTasksToSave()));
.getAssociatedTasks()));
} else {
return resourceAllocationDAO.findGenericAllocationsByCriterion();
@ -125,9 +130,8 @@ public class ResourceLoadModel implements IResourceLoadModel {
}
private List<Resource> resourcesForActiveTasks() {
filterBy.reassociateResourcesWithSession(resourcesDAO);
return resourcesDAO
.findResourcesRelatedTo(justTasks(filterBy.getTasksToSave()));
return resourcesDAO.findResourcesRelatedTo(justTasks(filterBy
.getAssociatedTasks()));
}
private List<Task> justTasks(Collection<? extends TaskElement> tasks) {