diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/HoursCostCalculator.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/HoursCostCalculator.java index d9f998d53..d86fb4429 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/HoursCostCalculator.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/HoursCostCalculator.java @@ -21,6 +21,7 @@ package org.navalplanner.business.planner.entities; import java.math.BigDecimal; +import java.util.Date; import java.util.List; import java.util.SortedMap; import java.util.SortedSet; @@ -119,8 +120,7 @@ public class HoursCostCalculator implements ICostCalculator { } for (WorkReportLine workReportLine : workReportLines) { - LocalDate day = new LocalDate(workReportLine.getWorkReport() - .getDate()); + LocalDate day = new LocalDate(workReportLine.getDate()); BigDecimal cost = new BigDecimal(workReportLine.getNumHours()); if (!result.containsKey(day)) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java index a13493a4e..212eecf96 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java @@ -873,8 +873,7 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel { } for (WorkReportLine workReportLine : workReportLines) { - LocalDate day = new LocalDate(workReportLine.getWorkReport() - .getDate()); + LocalDate day = new LocalDate(workReportLine.getDate()); BigDecimal cost = new BigDecimal(workReportLine.getNumHours()); if (!result.containsKey(day)) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java index a7a973b5c..a2f51a8fb 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java @@ -74,7 +74,6 @@ import org.navalplanner.business.users.entities.OrderAuthorizationType; import org.navalplanner.business.users.entities.User; import org.navalplanner.business.users.entities.UserRole; import org.navalplanner.business.workreports.daos.IWorkReportLineDAO; -import org.navalplanner.business.workreports.entities.WorkReportLine; import org.navalplanner.web.calendars.BaseCalendarModel; import org.navalplanner.web.common.ViewSwitcher; import org.navalplanner.web.planner.ITaskElementAdapter; @@ -1178,7 +1177,18 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { } protected void calculateActualCostWorkPerformed(Interval interval) { - SortedMap workReportCost = getWorkReportCost(); + List list = order + .getAllChildrenAssociatedTaskElements(); + list.add(order.getAssociatedTaskElement()); + + SortedMap workReportCost = new TreeMap(); + + for (TaskElement taskElement : list) { + if (taskElement instanceof Task) { + addCost(workReportCost, hoursCostCalculator + .getWorkReportCost((Task) taskElement)); + } + } workReportCost = accumulateResult(workReportCost); addZeroBeforeTheFirstValue(workReportCost); @@ -1186,30 +1196,6 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { workReportCost, interval.getStart(), interval.getFinish())); } - public SortedMap getWorkReportCost() { - SortedMap result = new TreeMap(); - - List workReportLines = workReportLineDAO - .findByOrderElementAndChildren(order); - - if (workReportLines.isEmpty()) { - return result; - } - - for (WorkReportLine workReportLine : workReportLines) { - LocalDate day = new LocalDate(workReportLine.getWorkReport() - .getDate()); - BigDecimal cost = new BigDecimal(workReportLine.getNumHours()); - - if (!result.containsKey(day)) { - result.put(day, BigDecimal.ZERO); - } - result.put(day, result.get(day).add(cost)); - } - - return result; - } - protected void calculateBudgetedCostWorkPerformed(Interval interval) { List list = order .getAllChildrenAssociatedTaskElements();