| <?php |
|
|
| namespace Kanboard\Analytic; |
|
|
| use Kanboard\Core\Base; |
| use Kanboard\Model\TaskModel; |
|
|
| |
| |
| |
| |
| |
| |
| class EstimatedTimeComparisonAnalytic extends Base |
| { |
| |
| |
| |
| |
| |
| |
| |
| public function build($project_id) |
| { |
| $rows = $this->db->table(TaskModel::TABLE) |
| ->columns('SUM(time_estimated) AS time_estimated', 'SUM(time_spent) AS time_spent', 'is_active') |
| ->eq('project_id', $project_id) |
| ->groupBy('is_active') |
| ->findAll(); |
|
|
| $metrics = array( |
| 'open' => array( |
| 'time_spent' => 0, |
| 'time_estimated' => 0, |
| ), |
| 'closed' => array( |
| 'time_spent' => 0, |
| 'time_estimated' => 0, |
| ), |
| ); |
|
|
| foreach ($rows as $row) { |
| $key = $row['is_active'] == TaskModel::STATUS_OPEN ? 'open' : 'closed'; |
| $metrics[$key]['time_spent'] = (float) $row['time_spent']; |
| $metrics[$key]['time_estimated'] = (float) $row['time_estimated']; |
| } |
|
|
| return $metrics; |
| } |
| } |
|
|