Author: obruce Date: 2014-07-29 10:40:59 +0200 (Tue, 29 Jul 2014) New Revision: 3022 Url: http://forge.chorem.org/projects/jtimer/repository/revisions/3022 Log: Report: ajout de la v?\195?\169rification si temps dans les enfants Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/storage/Storage.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/ReportTask.java branches/ng-jtimer/src/main/webapp/js/controllers.js branches/ng-jtimer/src/main/webapp/partials/reportModal.html Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/storage/Storage.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/storage/Storage.java 2014-07-28 16:09:16 UTC (rev 3021) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/storage/Storage.java 2014-07-29 08:40:59 UTC (rev 3022) @@ -546,7 +546,7 @@ */ public HashMap<String, ReportTask> getReportByProject(Long startDate, Long endDate, String[] toReport){ - HashMap<String, ReportTask> map = new HashMap(); + HashMap<String, ReportTask> map = new HashMap<>(); PreparedStatement statement = null; @@ -562,10 +562,9 @@ String name = rs.getString("name"); String taskId = rs.getString("taskId"); - String parent=rs.getString("parent"); long totalDuration = rs.getLong("totalduration"); - ReportTask task = new ReportTask(name,taskId,parent,totalDuration); + ReportTask task = new ReportTask(name,taskId,totalDuration); map.put(taskId, task); } @@ -609,10 +608,9 @@ String name = rs.getString("name"); String taskId = rs.getString("taskId"); - String parent=rs.getString("parent"); long totalDuration = rs.getLong("totalduration"); - ReportTask task = new ReportTask(name,taskId,parent,totalDuration); + ReportTask task = new ReportTask(name,taskId,totalDuration); //On ajoute le resultat: year, set de reportTask res.get(period).add(task); @@ -656,10 +654,9 @@ String name = rs.getString("name"); String taskId = rs.getString("taskId"); - String parent=rs.getString("parent"); long totalDuration = rs.getLong("totalduration"); - ReportTask task = new ReportTask(name,taskId,parent,totalDuration); + ReportTask task = new ReportTask(name,taskId,totalDuration); //On ajoute le resultat: year, set de reportTask res.get(period).add(task); @@ -698,10 +695,9 @@ String name = rs.getString("name"); String taskId = rs.getString("taskId"); - String parent=rs.getString("parent"); long totalDuration = rs.getLong("totalduration"); - ReportTask task = new ReportTask(name,taskId,parent,totalDuration); + ReportTask task = new ReportTask(name,taskId,totalDuration); //On ajoute le resultat: year, set de reportTask res.get(period).add(task); @@ -747,10 +743,9 @@ String name = rs.getString("name"); String taskId = rs.getString("taskId"); - String parent=rs.getString("parent"); long totalDuration = rs.getLong("totalduration"); - ReportTask task = new ReportTask(name,taskId,parent,totalDuration); + ReportTask task = new ReportTask(name,taskId,totalDuration); //On ajoute le resultat: year, set de reportTask res.get(year).add(task); Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/ReportTask.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/ReportTask.java 2014-07-28 16:09:16 UTC (rev 3021) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/ReportTask.java 2014-07-29 08:40:59 UTC (rev 3022) @@ -4,8 +4,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import java.util.ArrayList; - /** * Created by olivia on 16/06/14. * <p/> @@ -20,31 +18,19 @@ /** Le nom de la tache*/ @Expose protected String name; @Expose protected String taskId; - @Expose protected String parentId; - protected ReportTask rtParent; //to be omitted in serialization - @Expose protected long selftime; - @Expose protected long childtime; - @Expose protected ArrayList<ReportTask> subtasks; - /** * Constructeur * @param name le nom * @param taskId l'identifiant - * @param parent l'identifiant du parent * @param selftime le temps */ - public ReportTask(String name, String taskId, String parent, long selftime){ + public ReportTask(String name, String taskId, long selftime){ this.taskId = taskId; this.name = name; - this.parentId = parent; this.selftime = selftime; - this.childtime = 0; - this.rtParent = null; - - this.subtasks = new ArrayList(); } /** @@ -54,45 +40,10 @@ public ReportTask(ReportTask other){ this.taskId = other.taskId; this.name = other.name; - this.parentId = other.parentId; this.selftime = other.selftime; - this.childtime = 0; - this.rtParent = null; - - this.subtasks = new ArrayList(); } - /** Ajout */ - public void addChild(ReportTask t){ - this.subtasks.add(t); - } - - /** - * Ajout de temps d'un enfant - */ - public void addChildTime(long t){ - - if(hasParent()) { - - rtParent.addChildTime(t); - } - this.childtime +=t; - } - - - /** - * Ajout de temps d'un enfant - */ - public void removeChildTime(long t){ - - if(hasParent()) { - - rtParent.removeChildTime(t); - } - this.childtime -=t; - } - /**Getter */ public String getTaskId() { @@ -103,46 +54,16 @@ return name; } - public String getParentId() { - return parentId; - } - - - public ReportTask getRtParent() { - return rtParent; - } - - public void setRtParent(ReportTask reportTask) { - this.rtParent = reportTask; - } - - public boolean hasParent(){ return this.rtParent != null;} - public long getSelftime() { return selftime; } - public long getChildtime() { - return childtime; - } - - public ArrayList<ReportTask> getSubtasks() { - return subtasks; - } - - public void setSelfTime(long selfTime) { - this.selftime = selfTime; - } - @Override public String toString() { return "ReportTask{" + "name='" + name + '\'' + ", taskId='" + taskId + '\'' + - ", parent='" + parentId + '\'' + ", selftime=" + selftime + - ", childtime=" + childtime + - ", subtasks=" + subtasks + '}'; } @@ -152,13 +73,13 @@ int hash = 1; hash = hash * 17 + name.hashCode(); hash = hash * 31 + taskId.hashCode(); - hash = hash * 13 + parentId.hashCode(); return hash; } @Override public boolean equals(Object obj) { + return this.taskId.equals(((ReportTask)obj).getTaskId()); } } Modified: branches/ng-jtimer/src/main/webapp/js/controllers.js =================================================================== --- branches/ng-jtimer/src/main/webapp/js/controllers.js 2014-07-28 16:09:16 UTC (rev 3021) +++ branches/ng-jtimer/src/main/webapp/js/controllers.js 2014-07-29 08:40:59 UTC (rev 3022) @@ -1363,6 +1363,27 @@ return res; }; + /** + * + */ + $scope.hasSelfOrChildTime= function(collection, node, bool){ + + if(!bool){ + + if(collection[node.task.taskId]){ + bool = true; + }else{ + angular.forEach(node.children, function(child){ + bool = $scope.hasSelfOrChildTime(collection, child, bool); + }); + } + + } + + return bool; + }; + + /** * Method that returns the total time for a task */ @@ -1431,6 +1452,8 @@ period=tmp; } + + if( $scope.modal.radioModel=='Day'){ var monthArray= ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; @@ -1439,6 +1462,7 @@ period = tmp[0] +" "+ monthArray[parseInt(tmp[2])] +" " +tmp[4]; } + $scope.taskData[period]={}; angular.forEach(array, function(task){ $scope.taskData[period][task.taskId]=task.selftime; Modified: branches/ng-jtimer/src/main/webapp/partials/reportModal.html =================================================================== --- branches/ng-jtimer/src/main/webapp/partials/reportModal.html 2014-07-28 16:09:16 UTC (rev 3021) +++ branches/ng-jtimer/src/main/webapp/partials/reportModal.html 2014-07-29 08:40:59 UTC (rev 3022) @@ -126,7 +126,7 @@ <br/> </div> - <div class="tr" ng-show="taskData[$node.task.taskId].selftime || ($node.task.isRoot() && getTotalProjectTime($node,0) != 0 )"> + <div class="tr" ng-show="taskData[$node.task.taskId].selftime || hasSelfOrChildTime(taskData,$node,false) || ($node.task.isRoot() && getTotalProjectTime($node,0) != 0 )"> <div class="td" > <span class="spacer level{{$level}}"></span> @@ -162,7 +162,7 @@ wt-tree-repeat="tree | orderBy:'task.name'" wt-force-open="true"> - <div class="tr" ng-show="taskData[period][$node.task.taskId] || ($node.task.isRoot() && getTotalPeriodTime($node,0, period) != 0 ) "> + <div class="tr" ng-show="hasSelfOrChildTime(taskData[period],$node,false) || ($node.task.isRoot() && getTotalPeriodTime($node,0, period) != 0 ) "> <div class="td" > <span class="spacer level{{$level}}"></span>