ItEr56S12CUAsignacionRecursosLimitantesItEr55S16: Displaying static limitingResource queue elements
This commit is contained in:
parent
43e335ddcd
commit
41102d19e8
5 changed files with 68 additions and 22 deletions
|
|
@ -64,9 +64,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import org.zkoss.ganttz.data.resourceload.TimeLineRole;
|
||||
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
|
||||
import org.zkoss.ganttz.util.Interval;
|
||||
import org.zkoss.zul.Label;
|
||||
import org.zkoss.zul.Row;
|
||||
import org.zkoss.zul.RowRenderer;
|
||||
|
||||
@Component
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
|
|
@ -205,6 +202,8 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel {
|
|||
List<Resource> result = Resource.sortByName(resourcesDAO
|
||||
.getAllLimitingResources());
|
||||
for (Resource each : result) {
|
||||
each.getLimitingResourceQueue().getLimitingResourceQueueElements()
|
||||
.size();
|
||||
limitingResourceQueues.add(each.getLimitingResourceQueue());
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -21,11 +21,14 @@
|
|||
|
||||
package org.navalplanner.web.limitingresources;
|
||||
|
||||
import static org.navalplanner.web.I18nHelper._;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.planner.entities.LimitingResourceQueueElement;
|
||||
import org.navalplanner.business.resources.entities.LimitingResourceQueue;
|
||||
import org.zkoss.ganttz.IDatesMapper;
|
||||
|
|
@ -47,13 +50,13 @@ public class LimitingResourcesComponent extends XulElement {
|
|||
limitingResourceQueue);
|
||||
}
|
||||
|
||||
private final LimitingResourceQueue loadLine;
|
||||
private final LimitingResourceQueue limitingResourceQueue;
|
||||
private final TimeTracker timeTracker;
|
||||
private transient IZoomLevelChangedListener zoomChangedListener;
|
||||
|
||||
private LimitingResourcesComponent(final TimeTracker timeTracker,
|
||||
final LimitingResourceQueue limitingResourceQueue) {
|
||||
this.loadLine = limitingResourceQueue;
|
||||
this.limitingResourceQueue = limitingResourceQueue;
|
||||
this.timeTracker = timeTracker;
|
||||
createChildren(limitingResourceQueue, timeTracker.getMapper());
|
||||
zoomChangedListener = new IZoomLevelChangedListener() {
|
||||
|
|
@ -70,34 +73,58 @@ public class LimitingResourcesComponent extends XulElement {
|
|||
|
||||
private void createChildren(LimitingResourceQueue limitingResourceQueue,
|
||||
IDatesMapper mapper) {
|
||||
List<Div> divs = null;
|
||||
|
||||
// createDivsForPeriods(mapper, limitingResourceQueue
|
||||
// .getLimitingResourceQueueElements());
|
||||
List<Div> divs = createDivsForQueueElements(mapper,
|
||||
limitingResourceQueue.getLimitingResourceQueueElements());
|
||||
if (divs != null) {
|
||||
for (Div div : divs) {
|
||||
appendChild(div);
|
||||
for (Div div : divs) {
|
||||
appendChild(div);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getResourceLoadName() {
|
||||
return loadLine.getResource().getName();
|
||||
public String getResourceName() {
|
||||
return limitingResourceQueue.getResource().getName();
|
||||
}
|
||||
|
||||
private static List<Div> createDivsForPeriods(IDatesMapper datesMapper,
|
||||
private static List<Div> createDivsForQueueElements(
|
||||
IDatesMapper datesMapper,
|
||||
Set<LimitingResourceQueueElement> list) {
|
||||
List<Div> result = new ArrayList<Div>();
|
||||
for (LimitingResourceQueueElement loadPeriod : list) {
|
||||
result.add(createDivForPeriod(datesMapper, loadPeriod));
|
||||
|
||||
for (LimitingResourceQueueElement queueElement : list) {
|
||||
validateQueueElement(queueElement);
|
||||
result.add(createDivForQueueElement(datesMapper, queueElement));
|
||||
}
|
||||
|
||||
// FIX: adding static elements
|
||||
result.add(createFakeDivForQueueElement(datesMapper));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static Div createDivForPeriod(IDatesMapper datesMapper,
|
||||
private static void validateQueueElement(
|
||||
LimitingResourceQueueElement queueElement) {
|
||||
if ((queueElement.getStartDate() == null)
|
||||
|| (queueElement.getStartDate() == null)) {
|
||||
throw new ValidationException(_("Invalid queue element"));
|
||||
}
|
||||
}
|
||||
|
||||
private static Div createFakeDivForQueueElement(IDatesMapper datesMapper) {
|
||||
Div result = new Div();
|
||||
result.setClass("queue-element");
|
||||
|
||||
result.setTooltiptext("Tooltip");
|
||||
|
||||
result.setLeft("200px");
|
||||
result.setWidth("200px");
|
||||
return result;
|
||||
}
|
||||
|
||||
private static Div createDivForQueueElement(IDatesMapper datesMapper,
|
||||
LimitingResourceQueueElement loadPeriod) {
|
||||
Div result = new Div();
|
||||
result.setClass("queue element");
|
||||
result.setClass("queue-element");
|
||||
|
||||
result.setTooltiptext("Tooltip");
|
||||
|
||||
|
|
@ -123,9 +150,8 @@ public class LimitingResourcesComponent extends XulElement {
|
|||
}
|
||||
|
||||
private static int getStartPixels(IDatesMapper datesMapper,
|
||||
LimitingResourceQueueElement loadPeriod) {
|
||||
return datesMapper.toPixels(loadPeriod.getResourceAllocation()
|
||||
.getStartDate().toDateMidnight()
|
||||
LimitingResourceQueueElement queueElement) {
|
||||
return datesMapper.toPixels(queueElement.getStartDate().toDateMidnight()
|
||||
.toDate());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ public class LimitingResourcesController implements Composer {
|
|||
addCommands(limitingResourcesPanel);
|
||||
} catch (IllegalArgumentException e) {
|
||||
try {
|
||||
e.printStackTrace();
|
||||
Messagebox.show(_("Limiting resources error") + e, _("Error"),
|
||||
Messagebox.OK, Messagebox.ERROR);
|
||||
} catch (InterruptedException o) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
<%@ taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" %>
|
||||
<%@ taglib uri="http://www.zkoss.org/dsp/zk/core" prefix="z" %>
|
||||
|
||||
<c:set var="self" value="${requestScope.arg.self}"/>
|
||||
|
||||
<div id="${self.uuid}" class="row_resourceload z.autoz="true" ${self.outerAttrs}">
|
||||
<span class="resourceload_name">${self.resourceName}</span>
|
||||
<c:forEach var="child" items="${self.children}">
|
||||
${z:redraw(child, null)}
|
||||
</c:forEach>
|
||||
</div>
|
||||
|
||||
|
|
@ -628,7 +628,7 @@ tr.z-vbox-sep {
|
|||
}
|
||||
|
||||
.limitingresources .z-tree-body {
|
||||
margin-top: 4px;
|
||||
margin-top: -4px;
|
||||
}
|
||||
|
||||
.limitingresources td.z-tree-cell {
|
||||
|
|
@ -653,6 +653,14 @@ tr.z-vbox-sep {
|
|||
table-layout:auto !important;
|
||||
}
|
||||
|
||||
.queue-element {
|
||||
background-color: #007BBE;
|
||||
border: solid 1px;
|
||||
float:left;
|
||||
height:10px;
|
||||
position:absolute;
|
||||
}
|
||||
|
||||
|
||||
/* ---------- End Limiting resources ----------------- */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue