public ProjectStatusReportDTO(OrderElement orderElement, Order orderToAppendName) { code = orderElement.getCode(); if (orderToAppendName != null) { name = orderElement.getName() + " (" + orderToAppendName.getName() + ")"; } else { name = Util.getPrefixSpacesDependingOnDepth(orderElement) + orderElement.getName(); } Integer estimatedHours = orderElement.getWorkHours(); this.estimatedHours = estimatedHours != null ? EffortDuration.hours(estimatedHours) : null; TaskSource taskSource = orderElement.getTaskSource(); if (taskSource != null) { plannedHours = taskSource.getTask().getSumOfAssignedEffort(); } SumChargedEffort sumChargedEffort = orderElement.getSumChargedEffort(); if (sumChargedEffort != null) { imputedHours = sumChargedEffort.getTotalChargedEffort(); } setBudget(orderElement.getSubstractedBudget()); setExpensesBudget(orderElement.getBudget()); setResourcesBudget(orderElement.getResourcesBudget()); }