ItEr38S11RFMaquetacionDesenhoAplicacionItEr37S16: Transformed resources chart to display stacked areas

* Depends on custom timeplotz-1.0_2.jar without transparencies
This commit is contained in:
Lorenzo Tilve 2009-12-08 13:47:02 +01:00 committed by Javier Moran Rua
parent 72ac5fefa0
commit 9d98a667dc
5 changed files with 80 additions and 41 deletions

View file

@ -154,7 +154,7 @@ function listenToScroll() {
timetrackergap_.style["left"] = "-" + scrolledpannel_.scrollLeft + "px";
leftpanel_.style["top"] = "-" + scrolledpannel_.scrollTop + "px";
plannergraph_.scrollLeft = scrolledpannel_.scrollLeft;
for (j=0;j<=( timeplotcontainer_all_.length);j++)
for (j=0;j<timeplotcontainer_all_.length;j++)
{
timeplotcontainer_all_[j].style["left"] = "-" + scrolledpannel_.scrollLeft + "px";
}

View file

@ -106,6 +106,10 @@ import org.zkoss.zul.Vbox;
@Scope(BeanDefinition.SCOPE_SINGLETON)
public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
public static final String COLOR_ASSIGNED_LOAD_GLOBAL = "#98D471"; // green
public static final String COLOR_CAPABILITY_LINE = "#000000"; // black
public static final String COLOR_OVERLOAD_GLOBAL = "#FDBE13";
@Autowired
private IOrderDAO orderDAO;
@ -606,18 +610,20 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
Plotinfo plotInfoLoad = createPlotinfo(getLoad(interval.getStart(),
interval.getFinish()), interval);
plotInfoLoad.setFillColor("0000FF");
plotInfoLoad.setFillColor(COLOR_ASSIGNED_LOAD_GLOBAL);
plotInfoLoad.setLineWidth(0);
Plotinfo plotInfoMax = createPlotinfo(
getCalendarMaximumAvailability(interval.getStart(),
interval.getFinish()), interval);
plotInfoMax.setLineColor("FF0000");
plotInfoMax.setLineWidth(1);
plotInfoMax.setLineColor(COLOR_CAPABILITY_LINE);
plotInfoMax.setFillColor("#FFFFFF");
plotInfoMax.setLineWidth(2);
Plotinfo plotInfoOverload = createPlotinfo(getOverload(interval
.getStart(), interval.getFinish()), interval);
plotInfoOverload.setLineColor("00FF00");
plotInfoOverload.setLineWidth(1);
plotInfoOverload.setFillColor(COLOR_OVERLOAD_GLOBAL);
plotInfoOverload.setLineWidth(0);
ValueGeometry valueGeometry = getValueGeometry();
TimeGeometry timeGeometry = getTimeGeometry(interval);

View file

@ -110,6 +110,14 @@ import org.zkoss.zul.Vbox;
@Scope(BeanDefinition.SCOPE_SINGLETON)
public abstract class OrderPlanningModel implements IOrderPlanningModel {
public static final String COLOR_CAPABILITY_LINE = "#000000"; // Black
public static final String COLOR_ASSIGNED_LOAD_GLOBAL = "#98D471"; // Green
public static final String COLOR_OVERLOAD_GLOBAL = "#FDBE13"; // Orange
public static final String COLOR_ASSIGNED_LOAD_SPECIFIC = "#aa80d5"; // Violet
public static final String COLOR_OVERLOAD_SPECIFIC = "#FF5A11"; // Red
@Autowired
private IOrderDAO orderDAO;
@ -733,21 +741,31 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
Plotinfo plotOtherOverload = createPlotinfo(
convertToBigDecimal(mapOtherOverload), interval);
plotOrderLoad.setFillColor("0000FF");
plotOrderOverload.setLineColor("00FFFF");
plotMaxCapacity.setLineColor("FF0000");
plotOrderLoad.setFillColor(COLOR_ASSIGNED_LOAD_SPECIFIC);
plotOrderLoad.setLineWidth(0);
plotOtherLoad.setFillColor(COLOR_ASSIGNED_LOAD_GLOBAL);
plotOtherLoad.setLineWidth(0);
plotMaxCapacity.setLineColor(COLOR_CAPABILITY_LINE);
plotMaxCapacity.setFillColor("#FFFFFF");
plotMaxCapacity.setLineWidth(2);
plotOtherLoad.setFillColor("00FF00");
plotOtherOverload.setLineColor("FFFF00");
plotOrderOverload.setFillColor(COLOR_OVERLOAD_SPECIFIC);
plotOrderOverload.setLineWidth(0);
plotOtherOverload.setFillColor(COLOR_OVERLOAD_GLOBAL);
plotOtherOverload.setLineWidth(0);
ValueGeometry valueGeometry = getValueGeometry();
TimeGeometry timeGeometry = getTimeGeometry(interval);
// Stacked area: load - otherLoad - max - overload - otherOverload
appendPlotinfo(chart, plotOrderLoad, valueGeometry, timeGeometry);
appendPlotinfo(chart, plotOtherLoad, valueGeometry, timeGeometry);
appendPlotinfo(chart, plotMaxCapacity, valueGeometry, timeGeometry);
appendPlotinfo(chart, plotOrderOverload, valueGeometry,
timeGeometry);
appendPlotinfo(chart, plotMaxCapacity, valueGeometry, timeGeometry);
appendPlotinfo(chart, plotOtherLoad, valueGeometry, timeGeometry);
appendPlotinfo(chart, plotOtherOverload, valueGeometry,
timeGeometry);

View file

@ -668,7 +668,7 @@ div.z-grid {
.legend-container {
width: 226px;
height: 104px;
height: 190px;
background-color: #E8E8E8;
}
@ -690,38 +690,51 @@ div.z-grid {
background-color: #E8E8E8;
}
/* Legend colors:
COLOR_ASSIGNED_LOAD_GLOBAL = "#98D471"; // green
COLOR_CAPABILITY_LINE = "#000000"; // black
COLOR_OVERLOAD_GLOBAL = "#FDBE13"; // orange
COLOR_ASSIGNED_LOAD_GLOBAL = "#98D471"; // green
COLOR_CAPABILITY_LINE = "#000000"; // black
COLOR_OVERLOAD_GLOBAL = "#FDBE13"; // orange
COLOR_ASSIGNED_LOAD_SPECIFIC = "#aa80d5"; // magenta
COLOR_OVERLOAD_SPECIFIC = "#FF5A11"; // red
*/
.legend .capability {
border-top:solid 1px #FF0000;
border-top:solid 2px #000000; /* COLOR_CAPABILITY_LINE */
height:7px;
width:25px;
margin-right:5px;
}
.legend .load {
background-color:#0000FF;
height:10px;
width:25px;
margin-bottom:2px;
margin-right:5px;
background-color: #98D471; /* COLOR_ASSIGNED_LOAD_GLOBAL */
height: 10px;
width: 25px;
margin-bottom: 2px;
margin-right: 5px;
}
.legend .overload {
border-top:solid 1px #00FF00;
height:7px;
background-color: #FDBE13; /* COLOR_OVERLOAD_GLOBAL */
height:10px;
width:25px;
margin-right:5px;
}
.legend .overload-order {
border-top:solid 1px #00FFFF;
height:7px;
background-color: #FF5A11; /* COLOR_OVERLOAD_SPECIFIC */
height:10px;
width:25px;
margin-right:5px;
}
.legend .overload-other {
border-top:solid 1px #7f007f;
height:7px;
background-color: #FDBE13; /* COLOR_OVERLOAD_GLOBAL */
height:10px;
width:25px;
margin-right:5px;
}
@ -1001,6 +1014,8 @@ tr.z-tree-row-seld, tr.z-list-item-seld,
font-size: 10px;
z-index: 2;
color: transparent;
font-size:9px;
font-weight:bold;
}
.advancedassignmentdetails .hours {

View file

@ -23,28 +23,28 @@
<vbox sclass="legend">
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Overload due to other assignments')}">
<n:div class="overload-other"/>
<n:label>${i18n:_('External overload')}</n:label>
</hbox>
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Overload due to current order')}">
<n:div class="overload-order"/>
<n:label>${i18n:_('Overload')}</n:label>
</hbox>
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Resources capability')}">
<n:div class="capability"/>
<n:label>${i18n:_('Total capability')}</n:label>
</hbox>
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Overload due to other projects')}">
<n:div class="overload-other"/>
<n:label>${i18n:_('Overload (*)')}</n:label>
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Load due to other assignments')}">
<n:div class="load"/>
<n:label>${i18n:_('External load')}</n:label>
</hbox>
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Overload due to order')}">
<n:div class="overload-order"/>
<n:label>${i18n:_('Overload')}</n:label>
</hbox>
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Other assignments')}">
<n:div class="other"/>
<n:label>${i18n:_('Other assignments')}</n:label>
</hbox>
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Load due to order')}">
<n:div class="load" />
<hbox pack="center" sclass="legend-row" tooltiptext="${i18n:_('Load due to current order')}">
<n:div class="other" />
<n:label>${i18n:_('Load')}</n:label>
</hbox>