r3003 - in branches/ng-jtimer/src/main: java/org/chorem/jtimer/entities java/org/chorem/jtimer/storage java/org/chorem/jtimer/utils java/org/chorem/jtimer/utils/Resource java/org/chorem/jtimer/web resources webapp/js webapp/partials
Author: obruce Date: 2014-06-19 09:51:49 +0200 (Thu, 19 Jun 2014) New Revision: 3003 Url: http://forge.chorem.org/projects/jtimer/repository/revisions/3003 Log: changement du modal, et des entit?\195?\169s avec le rapport Added: branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/Resource/ branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/Resource/ReportTime.java branches/ng-jtimer/src/main/resources/ByWeek_template.mustache Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/entities/TimerTask.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/storage/Storage.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/MustacheHandler.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/ReportTask.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ReportResource.java branches/ng-jtimer/src/main/resources/ByProject.mustache branches/ng-jtimer/src/main/resources/subtasks.mustache branches/ng-jtimer/src/main/webapp/js/controllers.js branches/ng-jtimer/src/main/webapp/js/entities.js branches/ng-jtimer/src/main/webapp/partials/reportModal.html Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/entities/TimerTask.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/entities/TimerTask.java 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/entities/TimerTask.java 2014-06-19 07:51:49 UTC (rev 3003) @@ -53,6 +53,9 @@ protected String name; /** Creation date. */ + protected Date creationDate; + + /**ModificationDate*/ protected Date modificationDate; /** Closed task. */ @@ -85,24 +88,18 @@ this.name = name; this.taskId = UUID.randomUUID().toString(); this.parent = ""; + this.creationDate = new Date(); this.modificationDate = new Date(); this.removed = 0; } - /** - * Constructor with name. - * - * @param name task name - */ - public TimerTask( String name, long datetime) { - this(); - this.name = name; - this.taskId = UUID.randomUUID().toString(); - this.parent = ""; - this.modificationDate = new Date(datetime); - this.removed = 0; + public Date getCreationDate() { + return creationDate; } + public void setCreationDate(Date creationDate) { + this.creationDate = creationDate; + } /** * Set task uuid 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-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/storage/Storage.java 2014-06-19 07:51:49 UTC (rev 3003) @@ -152,6 +152,7 @@ "(taskId VARCHAR(255) NOT NULL," + " name VARCHAR(255) NOT NULL," + " parent VARCHAR(255)," + + " creationDate LONG, " + " modificationDate LONG, " + " hidden BOOLEAN," + " note TEXT," + @@ -224,6 +225,7 @@ task.setParent(rs.getString("parent")); task.setRemoved(rs.getLong("removed")); task.setTodayTime(0); + task.setCreationDate(new java.util.Date(rs.getLong("creationDate"))); task.setModificationDate(new java.util.Date(rs.getLong("modificationDate"))); task.setTotalTime(rs.getLong("totalduration")); tasks.add(task); @@ -239,6 +241,7 @@ task.setName(rs.getString("name")); task.setTaskId(rs.getString("taskId")); task.setParent(rs.getString("parent")); + task.setCreationDate(new java.util.Date(rs.getLong("creationDate"))); task.setModificationDate(new java.util.Date(rs.getLong("modificationDate"))); task.setRemoved(rs.getLong("removed")); task.setTodayTime(0); @@ -276,6 +279,7 @@ task.setParent(rs.getString("parent")); task.setRemoved(rs.getLong("removed")); task.setTodayTime(0); + task.setCreationDate(new java.util.Date(rs.getLong("creationDate"))); task.setModificationDate(new java.util.Date(rs.getLong("modificationDate"))); task.setTotalTime(rs.getLong("totalduration")); tasks.add(task); @@ -291,6 +295,7 @@ task.setName(rs.getString("name")); task.setTaskId(rs.getString("taskId")); task.setParent(rs.getString("parent")); + task.setCreationDate(new java.util.Date(rs.getLong("creationDate"))); task.setModificationDate(new java.util.Date(rs.getLong("modificationDate"))); task.setRemoved(rs.getLong("removed")); task.setTodayTime(0); @@ -313,15 +318,16 @@ PreparedStatement statement = null; try { statement = connection.prepareStatement("INSERT INTO " + - TABLE_TASK + "(name, parent, taskId, hidden, note, modificationDate, removed)" + - " VALUES (?, ?, ?, ?, ?, ?, ?)"); + TABLE_TASK + "(name, parent, taskId, hidden, note,creationDate, modificationDate, removed)" + + " VALUES (?, ?, ?, ?, ?,?, ?, ?)"); statement.setString(1, task.getName()); statement.setString(2, task.getParent()); statement.setString(3, task.getTaskId()); statement.setBoolean(4, task.isClosed()); statement.setString(5, null /*project.getNote()*/); - statement.setLong(6, task.getModificationDate().getTime()); - statement.setLong(7,task.getRemoved()); + statement.setLong(6, task.getCreationDate().getTime()); + statement.setLong(7, task.getModificationDate().getTime()); + statement.setLong(8,task.getRemoved()); statement.executeUpdate(); } catch (SQLException ex) { @@ -518,9 +524,10 @@ "SELECT TA.taskId AS taskid, TA.name AS task, TA.parent AS parent, sum(TI.duration) AS totalduration" + " FROM " + TABLE_TASK+" TA," + TABLE_TIME +" TI" + " WHERE TA.taskId = TI.taskid" + - " AND TA.modificationDate >" + startDate + - " AND TA.modificationDate <" + endDate + - " GROUP BY TA.taskId"); + " AND TA.creationDate >" + startDate + + " AND TA.creationDate <" + endDate + + " GROUP BY TA.taskId" + + " ORDER BY TA.creationDate DESC"); ResultSet rs = statement.executeQuery(); while(rs.next()){ Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/MustacheHandler.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/MustacheHandler.java 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/MustacheHandler.java 2014-06-19 07:51:49 UTC (rev 3003) @@ -23,7 +23,7 @@ List tasks() { //On tri les taches avant de les envoyer au template - HashMap<String, ArrayList<ReportTask>> map = new HashMap<String,ArrayList<ReportTask>>(); + HashMap<String, ArrayList<ReportTask>> childMap = new HashMap<String,ArrayList<ReportTask>>(); Iterator iter = tasks.iterator(); while(iter.hasNext()) { @@ -31,8 +31,8 @@ ReportTask t = (ReportTask)iter.next(); //un enfant dans map - if(map.containsKey(t.getTaskId())){ - for(ReportTask task :map.get(t.getTaskId())) + if(childMap.containsKey(t.getTaskId())){ + for(ReportTask task :childMap.get(t.getTaskId())) t.addChild(task); } @@ -42,16 +42,25 @@ //On ajoute l'enfant à la map ArrayList tmp = new ArrayList(); - if(map.get(t.parent) != null){ - tmp=map.get(t.parent); + if(childMap.get(t.parent) != null){ + tmp=childMap.get(t.parent); } tmp.add(t); - map.put(t.parent, tmp); + childMap.put(t.parent, tmp); iter.remove(); } } + iter = tasks.iterator(); + while(iter.hasNext()) { + ReportTask t = (ReportTask)iter.next(); + + if(t.getTime().isNotTimed()){ + iter.remove(); + } + } + return tasks; } @@ -62,6 +71,7 @@ */ public MustacheHandler(List<ReportTask> mustacheList){ this.tasks = mustacheList; + log.debug(mustacheList); } } 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-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/ReportTask.java 2014-06-19 07:51:49 UTC (rev 3003) @@ -1,5 +1,7 @@ package org.chorem.jtimer.utils; +import org.chorem.jtimer.utils.Resource.ReportTime; + import java.util.ArrayList; import java.util.List; @@ -16,7 +18,7 @@ protected String name; protected String taskId; protected String parent; - protected long time; + protected ReportTime time; protected List subtasks; /** @@ -30,7 +32,7 @@ this.taskId = taskId; this.name = name; this.parent = parent; - this.time = time; + this.time = new ReportTime(time); this.subtasks = new ArrayList(); } @@ -38,7 +40,7 @@ /** Ajout */ public void addChild(ReportTask t){ this.subtasks.add(t); - this.time += t.getTime(); + this.time.addTime(t.getTime()); } /**Getter */ @@ -55,7 +57,7 @@ return parent; } - public long getTime() { + public ReportTime getTime() { return time; } Added: branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/Resource/ReportTime.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/Resource/ReportTime.java (rev 0) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/utils/Resource/ReportTime.java 2014-06-19 07:51:49 UTC (rev 3003) @@ -0,0 +1,84 @@ +package org.chorem.jtimer.utils.Resource; + +/** + * Created by olivia on 18/06/14. + * <p/> + * Project name : jtimer + * <p/> + * Package name : org.chorem.jtimer.utils.Resource + */ +public class ReportTime { + + protected String ss; + protected String mm; + protected String hh; + + protected int seconds; + protected int minutes; + protected int hours; + + protected long ms; + + /** + * Constructor + * @param milliseconds time in ms + */ + public ReportTime(long milliseconds){ + this.ms =milliseconds; + changeSecMinHours(); + changeSecMinHoursString(); + } + + /** + * Method that adds a reporttime to an other + * @param other a reportTime + */ + public void addTime(ReportTime other){ + ms += other.ms; + changeSecMinHours(); + changeSecMinHoursString(); + } + + /** + * Changes the HH/MM/SS string + */ + private void changeSecMinHoursString() { + //temps + if(seconds<10){ + ss = "0"+seconds; + }else{ + ss = String.valueOf(seconds) ; + } + + //minutes + if(minutes<10){ + mm = "0"+minutes; + }else{ + mm = String.valueOf(minutes); + } + + //hours + if(hours<10){ + hh = "0"+hours; + }else{ + hh = String.valueOf(hours); + } + } + + /** + * Changes the hour/min/sec with de current ms + */ + private void changeSecMinHours() { + this.seconds = (int) (this.ms / 1000) % 60 ; + this.minutes = (int) ((this.ms / (1000*60)) % 60); + this.hours = (int) ((this.ms / (1000*60*60)) % 24); + } + + /** + * Return true if the task has no time + * @return booleen + */ + public boolean isNotTimed() { + return this.ms==(long) 0; + } +} Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ReportResource.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ReportResource.java 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ReportResource.java 2014-06-19 07:51:49 UTC (rev 3003) @@ -41,12 +41,12 @@ log.info("type non present dans l'url" + e); } try { - startDate = Long.valueOf(getQuery().getValues("startDate")); + startDate = Long.valueOf(getQuery().getValues("start_Date")); } catch (Exception e) { log.info("type non present dans l'url" + e); } try { - endDate = Long.valueOf(getQuery().getValues("endDate")); + endDate = Long.valueOf(getQuery().getValues("end_Date")); } catch (Exception e) { log.info("type non present dans l'url" + e); } @@ -57,11 +57,7 @@ res = report.createByProjectMustache(type, startDate, endDate); log.info("Ce qui est produit " + res); - res = report.createByDayMustache(type, startDate, endDate); - log.info("Ce qui est produit " + res); - - - return new StringRepresentation(res, MediaType.TEXT_JAVASCRIPT); + return new StringRepresentation(res, MediaType.TEXT_HTML); } } \ No newline at end of file Modified: branches/ng-jtimer/src/main/resources/ByProject.mustache =================================================================== --- branches/ng-jtimer/src/main/resources/ByProject.mustache 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/resources/ByProject.mustache 2014-06-19 07:51:49 UTC (rev 3003) @@ -1,13 +1,21 @@ -Rapport: -======== +<div> + <h3> + Rapport: + </h3> +</div> <hr/> +<div> + {{#tasks}} + <b>Projet : {{name}}</b> -{{#tasks}} -<b>Projet : {{name}}</b> + {{>subtasks}} -{{>subtasks}} + Temps total : {{time.hh}}:{{time.mm}}:{{time.ss}} -Temps total : {{time}}|time + <hr/> + {{/tasks}} -<hr/> -{{/tasks}} + {{^tasks}} + Pas de tâches sur cette période. + {{/tasks}} +</div> \ No newline at end of file Added: branches/ng-jtimer/src/main/resources/ByWeek_template.mustache =================================================================== --- branches/ng-jtimer/src/main/resources/ByWeek_template.mustache (rev 0) +++ branches/ng-jtimer/src/main/resources/ByWeek_template.mustache 2014-06-19 07:51:49 UTC (rev 3003) @@ -0,0 +1,7 @@ +Rapport +======= + +{{#weeks}} + Semaine : {{day}} + {{>ByProject}} +{{/weeks}} \ No newline at end of file Modified: branches/ng-jtimer/src/main/resources/subtasks.mustache =================================================================== --- branches/ng-jtimer/src/main/resources/subtasks.mustache 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/resources/subtasks.mustache 2014-06-19 07:51:49 UTC (rev 3003) @@ -1,4 +1,6 @@ -{{#subtasks}} - -{{name}} temps : {{time}}|time - {{> subtasks}} -{{/subtasks}} \ No newline at end of file +<div style="margin-left:2em;"> + {{#subtasks}} + -{{name}} temps : {{time.hh}}:{{time.mm}}:{{time.ss}} + {{> subtasks}} + {{/subtasks}} +</div> \ No newline at end of file Modified: branches/ng-jtimer/src/main/webapp/js/controllers.js =================================================================== --- branches/ng-jtimer/src/main/webapp/js/controllers.js 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/webapp/js/controllers.js 2014-06-19 07:51:49 UTC (rev 3003) @@ -964,44 +964,34 @@ }; } -function ReportModalInstanceCtrl($scope, $modalInstance, times, tasks, serverReportAccess){ +function ReportModalInstanceCtrl($scope, $modalInstance,$http, $sce){ $scope.obj={ startDate : new Date(), - endDate : new Date(), - report:[] + endDate : new Date() }; + $scope.obj.endDate.setHours(23,59,59,999); + $scope.radioModel = '5'; $scope.htmlReport=""; - /*$scope.generateReport= function(){ - report = []; + $scope.toHTML = function (data) { + return $sce.trustAsHtml(data); + } - angular.forEach(times, function(timeArray,task){ + $scope.generateReport= function(){ - var res={}; - res.time = -1; - angular.forEach(timeArray, function(time){ + $scope.obj.startDate.setHours(0,0,0,0); + $scope.obj.endDate.setHours(23,59,59,999); - if(time.creationDate >= $scope.obj.startDate.getTime() && time.creationDate <= $scope.obj.endDate.getTime()){ - res.time = res.time + time.time; - res.task = tasks[task].name; - } - }); - if(res.time != -1 ){ - $scope.obj.report.push(res); - } - }); - - - }*/ - - $scope.generateReport= function(){ - serverReportAccess.get({}, function(response){ - console.log(response); - $scope.htmlReport = response; - } + var deb =($scope.obj.startDate).getTime(); + var end =($scope.obj.endDate).getTime(); + $http({method: "GET", url: "/rest/report", + params:{start_Date : deb, end_Date : end}}) + .success(function(data){ + $scope.htmlReport = data;// data should be text string here (only if the server response is text/plain) + } ); } Modified: branches/ng-jtimer/src/main/webapp/js/entities.js =================================================================== --- branches/ng-jtimer/src/main/webapp/js/entities.js 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/webapp/js/entities.js 2014-06-19 07:51:49 UTC (rev 3003) @@ -390,7 +390,7 @@ }else{ this.taskId = taskId; } - + this.creationDate = Date.now(); this.modificationDate = Date.now(); this.removed = 0; Modified: branches/ng-jtimer/src/main/webapp/partials/reportModal.html =================================================================== --- branches/ng-jtimer/src/main/webapp/partials/reportModal.html 2014-06-17 16:02:11 UTC (rev 3002) +++ branches/ng-jtimer/src/main/webapp/partials/reportModal.html 2014-06-19 07:51:49 UTC (rev 3003) @@ -50,13 +50,7 @@ <div> <alert type="info" > - <!--Rapport :<br/> - ========= - <div ng-repeat="elem in obj.report"> - {{elem.task}} : {{elem.time | time}} - </div>--> - {{htmlReport}} - + <div ng-bind-html="toHTML(htmlReport)"></div> </alert> </div>
participants (1)
-
obruce@users.chorem.org