From 49316f308b6cdf9577c5015307011453cb7497b2 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Sat, 29 Aug 2020 13:20:27 +0800 Subject: [PATCH] * Rename program method name. --- module/block/control.php | 40 +++++++++++++++++++++--------------- module/program/model.php | 44 ++++++++++++++++++++++------------------ 2 files changed, 48 insertions(+), 36 deletions(-) diff --git a/module/block/control.php b/module/block/control.php index c1a81aa1d3..12e549dca1 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -724,9 +724,9 @@ class block extends control public function printProgramBlock() { - $this->loadModel('project'); + $this->app->loadLang('project'); - $this->view->programs = $this->loadModel('program')->getUserPrograms('all', $this->params->orderBy, $this->params->num); + $this->view->programs = $this->loadModel('program')->getProgramOverview('byStatus', 'all', $this->params->orderBy, $this->params->num); $this->view->users = $this->loadModel('user')->getPairs('noletter'); } @@ -781,25 +781,30 @@ class block extends control { if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die(); + /* Load models and langs. */ $this->loadModel('project'); $this->loadModel('weekly'); $this->app->loadLang('task'); $this->app->loadLang('story'); + /* Set program status and count. */ $status = isset($this->params->type) ? $this->params->type : 'all'; - $num = isset($this->params->num) ? (int)$this->params->num : 15; + $count = isset($this->params->num) ? (int)$this->params->num : 15; - /* Get projects. */ - $programs = $this->loadModel('program')->getUserPrograms($status, 'id_desc', $num); + /* Get programs. */ + $programs = $this->loadModel('program')->getProgramOverview('byStatus', $status, 'id_desc', $count); if(empty($programs)) { $this->view->programs = $programs; return false; } - $today = date('Y-m-d', strtotime(helper::today())); - $date = date('Ymd', strtotime($this->loadModel('weekly')->getThisMonday($today))); - $tasks = $this->dao->select("program, sum(consumed) as totalConsumed, sum(if(status != 'cancel' and status != 'closed', `left`, 0)) as totalLeft")->from(TABLE_TASK) + $today = helper::today(); + $monday = $this->loadModel('weekly')->getThisMonday($today); + $tasks = $this->dao->select("program, + sum(consumed) as totalConsumed, + sum(if(status != 'cancel' and status != 'closed', `left`, 0)) as totalLeft") + ->from(TABLE_TASK) ->where('program')->in(array_keys($programs)) ->andWhere('deleted')->eq(0) ->andWhere('parent')->lt(1) @@ -813,11 +818,11 @@ class block extends control $program->progress = $program->allStories == 0 ? 0 : round($program->doneStories / $program->allStories, 3) * 100; $program->projects = $this->project->getProjectStats('all', 0, 0, 1, 'id_desc', null, $programID); } - else + elseif($program->template == 'cmmi') { $begin = $program->begin; $weeks = $this->weekly->getWeekPairs($begin); - $current = zget($weeks, $date, ''); + $current = zget($weeks, $monday, ''); $current = substr($current, 0, -11) . substr($current, -6); $program->pv = $this->weekly->getPV($programID, $today); @@ -1106,12 +1111,15 @@ class block extends control { $this->loadModel('program'); $program = $this->loadModel('project')->getByID($this->session->program); - $today = date('Y-m-d', strtotime(helper::today())); + $today = helper::today(); $date = date('Ymd', strtotime($this->loadModel('weekly')->getThisMonday($today))); $begin = $program->begin; $weeks = $this->weekly->getWeekPairs($begin); $current = zget($weeks, $date, ''); - $task = $this->dao->select("sum(consumed) as totalConsumed, sum(if(status != 'cancel' and status != 'closed', `left`, 0)) as totalLeft")->from(TABLE_TASK)->where('program')->eq($this->session->program) + $task = $this->dao->select(" + sum(consumed) as totalConsumed, + sum(if(status != 'cancel' and status != 'closed', `left`, 0)) as totalLeft") + ->from(TABLE_TASK)->where('program')->eq($this->session->program) ->andWhere('deleted')->eq(0) ->andWhere('parent')->lt(1) ->fetch(); @@ -1144,7 +1152,7 @@ class block extends control } /** - * Print cmmi gantt block. + * Print cmmi issue block. * * @access public * @return void @@ -1152,7 +1160,7 @@ class block extends control public function printCmmiIssueBlock() { $uri = $this->app->getURI(true); - $this->session->set('riskList', $uri); + $this->session->set('issueList', $uri); if(preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die(); $this->view->users = $this->loadModel('user')->getPairs('noletter'); $this->view->issues = $this->loadModel('issue')->getBlockIssues($this->params->type, $this->viewType == 'json' ? 0 : (int)$this->params->num, $this->params->orderBy); @@ -1241,7 +1249,7 @@ class block extends control public function printScrumoverallBlock() { $programID = $this->session->program; - $totalData = $this->loadModel('program')->getUserPrograms('all', 'id_desc', 15, $programID); + $totalData = $this->loadModel('program')->getProgramOverview('byId', $programID, 'id_desc', 15); $this->view->totalData = $totalData; $this->view->programID = $programID; @@ -1703,7 +1711,7 @@ class block extends control $num = isset($this->params->num) ? (int)$this->params->num : 15; /* Get projects. */ - $this->view->programs = $this->loadModel('program')->getUserPrograms('doing', 'id_desc', $num); + $this->view->programs = $this->loadModel('program')->getProgramOverview('byStatus', 'doing', 'id_desc', $num); } /** diff --git a/module/program/model.php b/module/program/model.php index 0968794311..373df3afc4 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -65,16 +65,17 @@ class programModel extends model } /** - * Get user programs for block. + * Get program overview for block. * - * @param varchar $status - * @param varchar $orderBy - * @param int $limit - * @param int $programID + * @param varchar $queryType byId|byStatus + * @param varchar|int $param + * @param varchar $orderBy + * @param int $limit + * @param int $programID * @access public * @return void */ - public function getUserPrograms($status = 'all', $orderBy = 'id_desc', $limit = 15, $programID = 0) + public function getProgramOverview($queryType = 'byStatus', $param = 'all', $orderBy = 'id_desc', $limit = 15) { $programs = $this->dao->select('*')->from(TABLE_PROJECT) ->where('iscat')->eq(0) @@ -82,16 +83,19 @@ class programModel extends model ->andWhere('program')->eq(0) ->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() + ->beginIF($queryType == 'byStatus' and $param != 'all')->andWhere('status')->eq($param)->fi() + ->beginIF($queryType == 'byId')->andWhere('id')->eq($param)->fi() ->orderBy($orderBy) ->limit($limit) - ->fetchAll('id'); + ->printsql('id'); if(empty($programs)) return array(); $programIdList = array_keys($programs); - $hours = $this->dao->select('program, cast(sum(consumed) as decimal(10,2)) as consumed, cast(sum(estimate) as decimal(10,2)) as estimate')->from(TABLE_TASK) + $hours = $this->dao->select('program, + cast(sum(consumed) as decimal(10,2)) as consumed, + cast(sum(estimate) as decimal(10,2)) as estimate') + ->from(TABLE_TASK) ->where('program')->in($programIdList) ->andWhere('deleted')->eq(0) ->andWhere('parent')->lt(1) @@ -154,16 +158,16 @@ class programModel extends model 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; - $program->leftTasks = isset($leftTasks[$programID]) ? $leftTasks[$programID]->leftTasks : 0; - $program->allStories = isset($allStories[$programID]) ? $allStories[$programID]->allStories : 0; - $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; + $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; + $program->leftTasks = isset($leftTasks[$programID]) ? $leftTasks[$programID]->leftTasks : 0; + $program->allStories = isset($allStories[$programID]) ? $allStories[$programID]->allStories : 0; + $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;