diff options
author | Adrián Oliva <adrian.oliva@cimat.mx> | 2023-05-29 22:52:44 -0600 |
---|---|---|
committer | Adrián Oliva <adrian.oliva@cimat.mx> | 2023-05-29 22:52:44 -0600 |
commit | 4072c7c3890a6629ab6a96830481716898972028 (patch) | |
tree | 8df0f83e4fc7d5c46ada43d78ef37d9e71d3c27a /src/main/java/com/encora/ToDosRepository.java | |
parent | 82a11efa31f0a0d259e089e702f58dd9c141ed02 (diff) | |
download | ToDo-App-BE-4072c7c3890a6629ab6a96830481716898972028.tar.gz ToDo-App-BE-4072c7c3890a6629ab6a96830481716898972028.zip |
Getting average of time to complete tasks.
Not as good as expected. But I don't have time anymore. :'(
It appears as if the milliseconds are not converted into seconds and
minutes properly. Will have to see this in depth.
Diffstat (limited to 'src/main/java/com/encora/ToDosRepository.java')
-rw-r--r-- | src/main/java/com/encora/ToDosRepository.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/com/encora/ToDosRepository.java b/src/main/java/com/encora/ToDosRepository.java index c4bdcba..9333cd9 100644 --- a/src/main/java/com/encora/ToDosRepository.java +++ b/src/main/java/com/encora/ToDosRepository.java @@ -201,6 +201,39 @@ public class ToDosRepository implements JpaRepository<ToDos, Integer> { return this.filteredToDos; } + public Double getAverageCompletingTime(String priority) { + List<Double> recordedTimes = new ArrayList<>(); + + if (priority.equalsIgnoreCase("all")) { + for (ToDos todo : this.todos) { + if (!todo.isDone()) { + continue; + } + recordedTimes.add( + (double) (todo.getDoneDate().getTime() - todo.getCreationDate().getTime()) + ); + } + } else { + for (ToDos todo : this.todos) { + if (!todo.isDone() || !Objects.equals(String.valueOf(todo.getPriority()), priority)) { + continue; + } + recordedTimes.add( + (double) (todo.getDoneDate().getTime() - todo.getCreationDate().getTime()) + ); + } + } + + if (recordedTimes.size() == 0) { + return (double) 0; + } + Double valuesSum = (double) 0; + for (Double d : recordedTimes) { + valuesSum += d; + } + return valuesSum / (double) recordedTimes.size(); + } + /* * N O T Y E T D E F I N E D . */ |