diff options
author | Matthew Cillo <matthewacillo@gmail.com> | 2015-12-07 22:40:55 -0500 |
---|---|---|
committer | Matthew Cillo <matthewacillo@gmail.com> | 2015-12-07 22:45:12 -0500 |
commit | 583e6bf064bbbdd0b031ea429fb1de949ddf64a7 (patch) | |
tree | f88aed231d898172fb2c37b87e9c5310d2de1985 /app/Model | |
parent | 78fd4d3ee9940bde6d0bef8c611c6a19595e81fd (diff) |
added working template of compare hours
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/ProjectAnalytic.php | 40 | ||||
-rw-r--r-- | app/Model/TaskFinder.php | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/app/Model/ProjectAnalytic.php b/app/Model/ProjectAnalytic.php index e77a0368..8a982bd7 100644 --- a/app/Model/ProjectAnalytic.php +++ b/app/Model/ProjectAnalytic.php @@ -179,4 +179,44 @@ class ProjectAnalytic extends Base return $stats; } + + + public function getHoursByStatus($project_id) + { + $stats = array(); + $columns = $this->board->getColumnsList($project_id); + + // Get the time spent of the last move for each tasks + $tasks = $this->db + ->table(Task::TABLE) + ->columns('id', 'time_estimated', 'time_spent', 'is_active') + ->eq('project_id', $project_id) + ->desc('id') + ->limit(1000) + ->findAll(); + + // Init values + $stats['closed'] = array( + 'time_spent' => 0, + 'time_estimated' => 0, + ); + $stats['open'] = array( + 'time_spent' => 0, + 'time_estimated' => 0, + ); + + + // Get time spent foreach task/column and take into account the last move + foreach ($tasks as &$task) { + if ($task['is_active']) { + $stats['open']['time_estimated'] += $task['time_estimated']; + $stats['open']['time_spent'] += $task['time_spent']; + } else { + $stats['closed']['time_estimated'] += $task['time_estimated']; + $stats['closed']['time_spent'] += $task['time_spent']; + } + } + + return $stats; + } } diff --git a/app/Model/TaskFinder.php b/app/Model/TaskFinder.php index 9514fe4a..836fbe46 100644 --- a/app/Model/TaskFinder.php +++ b/app/Model/TaskFinder.php @@ -122,6 +122,7 @@ class TaskFinder extends Base 'tasks.recurrence_parent', 'tasks.recurrence_child', 'tasks.time_estimated', + 'tasks.time_spent', User::TABLE.'.username AS assignee_username', User::TABLE.'.name AS assignee_name', Category::TABLE.'.name AS category_name', |