[Bug #754] Fixed bug filtering milestones as are not needed for TaskGroup.updateCriticalPathProgress method.

FEA: ItEr65S06BugFixing
This commit is contained in:
Manuel Rego Casasnovas 2010-12-14 13:51:25 +01:00
parent 60f899b8f1
commit 705bacdb5b
4 changed files with 15 additions and 9 deletions

View file

@ -71,7 +71,7 @@ public class PlanningData extends BaseEntity {
Integer totalDuration = new Integer(0), duration;
BigDecimal totalProgress = BigDecimal.ZERO, progress;
for (Task each: criticalPath) {
for (Task each : criticalPath) {
duration = each.getWorkableDays();
progress = each.getAdvancePercentage();
progress = progress.multiply(BigDecimal.valueOf(duration));

View file

@ -233,12 +233,18 @@ public class TaskGroup extends TaskElement {
return result;
}
public void updateCriticalPathProgress(List<Task> criticalPath) {
public void updateCriticalPathProgress(List<TaskElement> criticalPath) {
Validate.isTrue(getParent() == null);
if (planningData == null) {
planningData = PlanningData.create(this);
}
planningData.update(criticalPath);
List<Task> criticalPathJustTasks = new ArrayList<Task>();
for (TaskElement taskElement : criticalPath) {
if (taskElement instanceof Task) {
criticalPathJustTasks.add((Task) taskElement);
}
}
planningData.update(criticalPathJustTasks);
}
/**

View file

@ -94,8 +94,8 @@ import org.navalplanner.web.planner.calendar.ICalendarAllocationCommand;
import org.navalplanner.web.planner.chart.Chart;
import org.navalplanner.web.planner.chart.ChartFiller;
import org.navalplanner.web.planner.chart.EarnedValueChartFiller;
import org.navalplanner.web.planner.chart.EarnedValueChartFiller.EarnedValueType;
import org.navalplanner.web.planner.chart.IChartFiller;
import org.navalplanner.web.planner.chart.EarnedValueChartFiller.EarnedValueType;
import org.navalplanner.web.planner.consolidations.AdvanceConsolidationController;
import org.navalplanner.web.planner.consolidations.IAdvanceConsolidationCommand;
import org.navalplanner.web.planner.milestone.IAddMilestoneCommand;
@ -1590,9 +1590,9 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
private void updateCriticalPathProgress(TaskGroup rootTask) {
taskElementDAO.save(rootTask);
List<Task> criticalPath = planningState.getPlanner()
.getCriticalPath();
rootTask.updateCriticalPathProgress(criticalPath);
rootTask
.updateCriticalPathProgress((List<TaskElement>) planningState
.getPlanner().getCriticalPath());
}
private void setAdvancePercentage(BigDecimal value) {

View file

@ -200,8 +200,8 @@ public class SaveCommand implements ISaveCommand {
}
private void updateCriticalPathProgress(TaskGroup rootTask) {
final List<Task> criticalPath = state.getPlanner().getCriticalPath();
rootTask.updateCriticalPathProgress(criticalPath);
rootTask.updateCriticalPathProgress((List<TaskElement>) state
.getPlanner().getCriticalPath());
}
private void updateRootTaskPosition(TaskGroup rootTask) {