From 6c6d57c23ce4290187be74d4921d8b194d16e8ef Mon Sep 17 00:00:00 2001 From: wangchunsheng Date: Sun, 21 Mar 2010 05:42:41 +0000 Subject: [PATCH] * change the translate of burndown. + mv the computeburn feature to project module. --- module/common/lang/zh-cn.php | 2 +- module/project/control.php | 6 ++++++ module/project/lang/zh-cn.php | 6 +++--- module/project/model.php | 14 ++++++++++++++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 56fe0c48e6..20fd011399 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -99,7 +99,7 @@ $lang->project->menu->task = array('link' => '任务列表|project|task|projec $lang->project->menu->story = array('link' => '需求列表|project|story|projectID=%s', 'alias' => 'linkstory'); $lang->project->menu->bug = 'Bug列表|project|bug|projectID=%s'; $lang->project->menu->build = array('link' => 'Build列表|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->menu->burn = '燃烧图|project|burn|projectID=%s'; +$lang->project->menu->burn = '燃尽图|project|burn|projectID=%s'; $lang->project->menu->team = array('link' => '团队成员|project|team|projectID=%s', 'alias' => 'managemembers'); $lang->project->menu->product= '关联产品|project|manageproducts|projectID=%s'; $lang->project->menu->view = '基本信息|project|view|projectID=%s'; diff --git a/module/project/control.php b/module/project/control.php index 51d1c276d3..7c44f3b425 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -285,6 +285,12 @@ class project extends control die($this->report->createSingleXML($sets, $this->lang->project->charts->burn->graph)); } + /* 计算燃烧图数据。*/ + public function computeBurn() + { + $this->project->computeBurn(); + } + /* 团队成员。*/ public function team($projectID = 0) { diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index 806470255f..776338cf8e 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -77,8 +77,8 @@ $lang->project->groupTask = '分组浏览任务'; $lang->project->story = '需求列表'; $lang->project->bug = 'Bug列表'; $lang->project->build = 'Build列表'; -$lang->project->burn = '燃烧图'; -$lang->project->burnData = '燃烧图数据'; +$lang->project->burn = '燃尽图'; +$lang->project->burnData = '燃尽图数据'; $lang->project->listTask = '列表方式'; $lang->project->groupTaskByStory = '按需求分组'; $lang->project->groupTaskByStatus = '按状态分组'; @@ -104,7 +104,7 @@ $lang->team->role = '角色'; $lang->team->joinDate = '加盟日'; $lang->team->workingHour = '工时/天'; -$lang->project->charts->burn->graph->caption = "燃烧图"; +$lang->project->charts->burn->graph->caption = "燃尽图"; $lang->project->charts->burn->graph->xAxisName = "日期"; $lang->project->charts->burn->graph->yAxisName = "HOUR"; $lang->project->charts->burn->graph->baseFontSize = 12; diff --git a/module/project/model.php b/module/project/model.php index 4dc98d437b..964aa625f1 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -261,6 +261,20 @@ class projectModel extends model $this->dao->delete()->from(TABLE_TEAM)->where('project')->eq((int)$projectID)->andWhere('account')->eq($account)->exec(); } + /* 计算所有项目的燃尽图数据。*/ + public function computeBurn() + { + $today = date('Y-m-d'); + $projects = $this->dao->select('id')->from(TABLE_PROJECT)->where("end >= '$today'")->orWhere('end')->eq('0000-00-00')->fetchPairs(); + $burns = $this->dao->select("project, '$today' AS date, sum(`left`) AS `left`, SUM(consumed) AS `consumed`") + ->from(TABLE_TASK) + ->where('project')->in($projects) + ->andWhere('status')->ne('cancel') + ->groupBy('project') + ->fetchAll(); + foreach($burns as $burn) $this->dao->replace(TABLE_BURN)->data($burn)->exec(); + } + /* 燃烧图所需要的数据。*/ public function getBurnData($projectID = 0) {