From 6b5f10ebcb4e9559f22ac90aa447f1483aee9603 Mon Sep 17 00:00:00 2001 From: Nacho Barrientos Date: Wed, 2 Nov 2011 17:18:27 +0100 Subject: [PATCH] Implement indicator 3.3 FEA: ItEr75S27PerProjectDashboard --- .../business/planner/entities/PlanningData.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/PlanningData.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/PlanningData.java index a5626fadc..9305c409a 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/PlanningData.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/PlanningData.java @@ -27,6 +27,7 @@ import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.joda.time.LocalDate; import org.libreplan.business.common.BaseEntity; /** @@ -169,8 +170,15 @@ public class PlanningData extends BaseEntity { private BigDecimal calculateTheoreticalAdvanceByDurationForCriticalPath( List criticalPath, Date limit) { - // TODO Needs some extra code - return null; + int totalTheoreticalProgressDays = 0; + int totalDurationDays = 0; + LocalDate limitLocalDate = new LocalDate(limit); + + for (Task each : criticalPath) { + totalTheoreticalProgressDays += each.getWorkableDaysUntil(limitLocalDate); + totalDurationDays += each.getWorkableDays(); + } + return divide(new BigDecimal(totalTheoreticalProgressDays), totalDurationDays); } }