ItEr60S04ValidacionEProbasFuncionaisItEr59S04: Refactor.
Move method to class so it can be reused.
This commit is contained in:
parent
ab681a9f03
commit
b267408ff8
2 changed files with 22 additions and 18 deletions
|
|
@ -47,6 +47,11 @@ import org.zkoss.ganttz.util.Interval;
|
||||||
*/
|
*/
|
||||||
public abstract class EarnedValueChartFiller extends ChartFiller {
|
public abstract class EarnedValueChartFiller extends ChartFiller {
|
||||||
|
|
||||||
|
public static boolean includes(Interval interval, LocalDate date) {
|
||||||
|
LocalDate start = LocalDate.fromDateFields(interval.getStart());
|
||||||
|
LocalDate end = LocalDate.fromDateFields(interval.getFinish());
|
||||||
|
return start.compareTo(date) <= 0 && date.compareTo(end) < 0;
|
||||||
|
}
|
||||||
public enum EarnedValueType {
|
public enum EarnedValueType {
|
||||||
|
|
||||||
BCWS(_("BCWS"), _("Budgeted Cost Work Scheduled"), "#0000FF"), ACWP(
|
BCWS(_("BCWS"), _("Budgeted Cost Work Scheduled"), "#0000FF"), ACWP(
|
||||||
|
|
@ -323,6 +328,18 @@ public abstract class EarnedValueChartFiller extends ChartFiller {
|
||||||
public Interval getIndicatorsDefinitionInterval() {
|
public Interval getIndicatorsDefinitionInterval() {
|
||||||
return indicatorsInterval;
|
return indicatorsInterval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will try to use today if possible
|
||||||
|
* @return Today if there are values defined for that date. The last day in
|
||||||
|
* the interval otherwise
|
||||||
|
*/
|
||||||
|
public LocalDate initialDateForIndicatorValues() {
|
||||||
|
Interval chartInterval = getIndicatorsDefinitionInterval();
|
||||||
|
LocalDate today = new LocalDate();
|
||||||
|
return includes(chartInterval, today) ? today
|
||||||
|
: LocalDate.fromDateFields(chartInterval.getFinish());
|
||||||
|
}
|
||||||
protected void addZeroBeforeTheFirstValue(
|
protected void addZeroBeforeTheFirstValue(
|
||||||
SortedMap<LocalDate, BigDecimal> map) {
|
SortedMap<LocalDate, BigDecimal> map) {
|
||||||
if (!map.isEmpty()) {
|
if (!map.isEmpty()) {
|
||||||
|
|
|
||||||
|
|
@ -92,8 +92,8 @@ import org.navalplanner.web.planner.calendar.ICalendarAllocationCommand;
|
||||||
import org.navalplanner.web.planner.chart.Chart;
|
import org.navalplanner.web.planner.chart.Chart;
|
||||||
import org.navalplanner.web.planner.chart.ChartFiller;
|
import org.navalplanner.web.planner.chart.ChartFiller;
|
||||||
import org.navalplanner.web.planner.chart.EarnedValueChartFiller;
|
import org.navalplanner.web.planner.chart.EarnedValueChartFiller;
|
||||||
import org.navalplanner.web.planner.chart.IChartFiller;
|
|
||||||
import org.navalplanner.web.planner.chart.EarnedValueChartFiller.EarnedValueType;
|
import org.navalplanner.web.planner.chart.EarnedValueChartFiller.EarnedValueType;
|
||||||
|
import org.navalplanner.web.planner.chart.IChartFiller;
|
||||||
import org.navalplanner.web.planner.consolidations.AdvanceConsolidationController;
|
import org.navalplanner.web.planner.consolidations.AdvanceConsolidationController;
|
||||||
import org.navalplanner.web.planner.consolidations.IAdvanceConsolidationCommand;
|
import org.navalplanner.web.planner.consolidations.IAdvanceConsolidationCommand;
|
||||||
import org.navalplanner.web.planner.milestone.IAddMilestoneCommand;
|
import org.navalplanner.web.planner.milestone.IAddMilestoneCommand;
|
||||||
|
|
@ -517,7 +517,7 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
||||||
Hbox dateHbox = new Hbox();
|
Hbox dateHbox = new Hbox();
|
||||||
dateHbox.appendChild(new Label(_("Select date:")));
|
dateHbox.appendChild(new Label(_("Select date:")));
|
||||||
|
|
||||||
LocalDate initialDateForIndicatorValues = calculateInitialDateForIndicatorValues(earnedValueChartFiller);
|
LocalDate initialDateForIndicatorValues = earnedValueChartFiller.initialDateForIndicatorValues();
|
||||||
Datebox datebox = new Datebox(initialDateForIndicatorValues
|
Datebox datebox = new Datebox(initialDateForIndicatorValues
|
||||||
.toDateTimeAtStartOfDay().toDate());
|
.toDateTimeAtStartOfDay().toDate());
|
||||||
datebox.setConstraint(dateMustBeInsideVisualizationArea(earnedValueChartFiller));
|
datebox.setConstraint(dateMustBeInsideVisualizationArea(earnedValueChartFiller));
|
||||||
|
|
@ -544,20 +544,6 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
||||||
earnedValueChartPannel.appendChild(hbox);
|
earnedValueChartPannel.appendChild(hbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
private LocalDate calculateInitialDateForIndicatorValues(
|
|
||||||
OrderEarnedValueChartFiller earnedValueChartFiller) {
|
|
||||||
Interval chartInterval = earnedValueChartFiller.getIndicatorsDefinitionInterval();
|
|
||||||
LocalDate today = new LocalDate();
|
|
||||||
return includes(chartInterval, today) ? today : LocalDate
|
|
||||||
.fromDateFields(chartInterval.getFinish());
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean includes(Interval interval, LocalDate date) {
|
|
||||||
LocalDate start = LocalDate.fromDateFields(interval.getStart());
|
|
||||||
LocalDate end = LocalDate.fromDateFields(interval.getFinish());
|
|
||||||
return start.compareTo(date) <= 0 && date.compareTo(end) < 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Constraint dateMustBeInsideVisualizationArea(
|
private Constraint dateMustBeInsideVisualizationArea(
|
||||||
final OrderEarnedValueChartFiller earnedValueChartFiller) {
|
final OrderEarnedValueChartFiller earnedValueChartFiller) {
|
||||||
return new Constraint() {
|
return new Constraint() {
|
||||||
|
|
@ -568,7 +554,8 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
||||||
throws WrongValueException {
|
throws WrongValueException {
|
||||||
Date value = (Date) valueObject;
|
Date value = (Date) valueObject;
|
||||||
if (value != null
|
if (value != null
|
||||||
&& !includes(earnedValueChartFiller
|
&& !EarnedValueChartFiller.includes(
|
||||||
|
earnedValueChartFiller
|
||||||
.getIndicatorsDefinitionInterval(), LocalDate
|
.getIndicatorsDefinitionInterval(), LocalDate
|
||||||
.fromDateFields(value))) {
|
.fromDateFields(value))) {
|
||||||
throw new WrongValueException(comp,
|
throw new WrongValueException(comp,
|
||||||
|
|
@ -1335,7 +1322,7 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OrderEarnedValueChartFiller extends EarnedValueChartFiller {
|
class OrderEarnedValueChartFiller extends EarnedValueChartFiller {
|
||||||
|
|
||||||
private Order order;
|
private Order order;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue