From 943cb2a8fa20e2ec1dc5d68c8716fc1dd4bd3d77 Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Tue, 25 Aug 2020 16:37:52 +0800 Subject: [PATCH] * Add scrum overview block. --- module/block/control.php | 7 ++- module/block/view/scrumoverallblock.html.php | 60 ++++++++++++++++++++ module/program/model.php | 21 ++++++- 3 files changed, 84 insertions(+), 4 deletions(-) diff --git a/module/block/control.php b/module/block/control.php index 16cd14f38d..342e16c469 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -1585,7 +1585,11 @@ class block extends control */ public function printScrumoverallBlock() { - $this->view->program = $this->loadModel('project')->getByID($this->session->program); + $programID = $this->session->program; + $totalData = $this->loadModel('program')->getUserPrograms('all','id_desc',15,$programID); + + $this->view->totalData = $totalData; + $this->view->programID = $programID; } /** @@ -1688,7 +1692,6 @@ ksort($products); */ public function printScrumdynamicBlock() { - /* Load pager. */ $this->app->loadClass('pager', $static = true); $pager = new pager(0, 30, 1); diff --git a/module/block/view/scrumoverallblock.html.php b/module/block/view/scrumoverallblock.html.php index e69de29bb2..8520ddf326 100644 --- a/module/block/view/scrumoverallblock.html.php +++ b/module/block/view/scrumoverallblock.html.php @@ -0,0 +1,60 @@ + + * @package block + * @version $Id$ + * @link http://www.zentao.net + */ +?> + +
" . $lang->project->create, '', "class='btn btn-primary'")?>
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
block->totalStory;?>block->totalBug;?>
allStories;?>allBugs;?>
teamCount;?>consumed;?> +
+
+
+
+
+
+
+
+
+
estimate;?>'.$totalData[$programID]->doneStories.'     '.$totalData[$programID]->leftStories;?>'.$totalData[$programID]->doneBugs.'     '.$totalData[$programID]->leftBugs;?>
+
+ diff --git a/module/program/model.php b/module/program/model.php index 77b32ce669..3c9f3624a4 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -69,10 +69,11 @@ class programModel extends model * @param varchar $status * @param varchar $orderBy * @param int $limit + * @param int $programID * @access public * @return void */ - public function getUserPrograms($status = 'all', $orderBy = 'id_desc', $limit = 15) + public function getUserPrograms($status = 'all', $orderBy = 'id_desc', $limit = 15, $programID = 0) { $programs = $this->dao->select('*')->from(TABLE_PROJECT) ->where('iscat')->eq(0) @@ -81,6 +82,7 @@ class programModel extends model ->andWhere('deleted')->eq(0) ->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->programs)->fi() ->beginIF($status != 'all')->andWhere('status')->eq($status)->fi() + ->beginIF($programID)->andWhere('id')->eq($programID)->fi() ->orderBy($orderBy) ->limit($limit) ->fetchAll('id'); @@ -136,8 +138,21 @@ class programModel extends model ->groupBy('program') ->fetchAll('program'); + $allBugs = $this->dao->select('program, count(*) as allBugs')->from(TABLE_BUG) + ->where('program')->in($programIdList) + ->andWhere('deleted')->eq(0) + ->groupBy('program') + ->fetchAll('program'); + + $doneBugs = $this->dao->select('program, count(*) as doneBugs')->from(TABLE_BUG) + ->where('program')->in($programIdList) + ->andWhere('deleted')->eq(0) + ->andWhere('status')->eq('resolved') + ->groupBy('program') + ->fetchAll('program'); + foreach($programs as $programID => $program) - { + { $program->teamCount = isset($teams[$programID]) ? $teams[$programID]->count : 0; $program->consumed = isset($hours[$programID]) ? $hours[$programID]->consumed : 0; $program->estimate = isset($hours[$programID]) ? $hours[$programID]->estimate : 0; @@ -146,6 +161,8 @@ class programModel extends model $program->doneStories = isset($doneStories[$programID]) ? $doneStories[$programID]->doneStories : 0; $program->leftStories = isset($leftStories[$programID]) ? $leftStories[$programID]->leftStories : 0; $program->leftBugs = isset($leftBugs[$programID]) ? $leftBugs[$programID]->leftBugs : 0; + $program->allBugs = isset($allBugs[$programID]) ? $allBugs[$programID]->allBugs : 0; + $program->doneBugs = isset($doneBugs[$programID]) ? $doneBugs[$programID]->doneBugs : 0; } return $programs;