From 05b553bcd087ea8986d8550b1f2d7ed21d7d3b1f Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Tue, 15 Mar 2011 19:10:16 +0100 Subject: [PATCH] [Bug #935] query grouped by date Group by resource, type of work hours and its date and then the result is sort by local date. FEA : ItEr72S04BugFixing --- .../workreports/daos/WorkReportLineDAO.java | 2 +- .../AssignedHoursToOrderElementModel.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportLineDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportLineDAO.java index 7e0a2e454..da5f41405 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportLineDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportLineDAO.java @@ -68,7 +68,7 @@ public class WorkReportLineDAO extends IntegrationEntityDAO + "LEFT OUTER JOIN wrl.orderElement orderElement " + "WHERE orderElement = :orderElement " + "GROUP BY wrl.resource, wrl.typeOfWorkHours, wrl.date " - + "ORDER BY to_char(wrl.date, 'yyyy-mm-dd') , wrl.resource, wrl.typeOfWorkHours"; + + "ORDER BY wrl.resource, wrl.typeOfWorkHours, wrl.date"; // Set parameters Query query = getSession().createQuery(strQuery); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedHoursToOrderElementModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedHoursToOrderElementModel.java index f284437ae..6258cb7b3 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedHoursToOrderElementModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedHoursToOrderElementModel.java @@ -23,6 +23,8 @@ package org.navalplanner.web.orders; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -86,6 +88,21 @@ public class AssignedHoursToOrderElementModel implements this.assignedDirectHours = this.assignedDirectHours + w.getSumHours(); } + return sortByDate(listWRL); + } + + private List sortByDate(List listWRL) { + Collections.sort(listWRL, new Comparator() { + public int compare(WorkReportLineDTO arg0, WorkReportLineDTO arg1) { + if (arg0.getDate() == null) { + return -1; + } + if (arg1.getDate() == null) { + return 1; + } + return arg0.getDate().compareTo(arg1.getDate()); + } + }); return listWRL; }