+finish task#414

This commit is contained in:
chencongzhi520@gmail.com
2011-04-17 01:19:38 +00:00
parent fae356945f
commit fb93bccc95
5 changed files with 163 additions and 25 deletions
+1
View File
@@ -114,6 +114,7 @@ $lang->resource->task->view = 'view';
$lang->resource->task->confirmStoryChange = 'confirmStoryChange';
$lang->resource->task->ajaxGetUserTasks = 'ajaxGetUserTasks';
$lang->resource->task->ajaxGetProjectTasks = 'ajaxGetProjectTasks';
$lang->resource->task->report = 'report';
/* Build. */
$lang->resource->build->create = 'create';
+1
View File
@@ -515,6 +515,7 @@ class task extends control
}
$this->view->renderJS = $this->report->renderJsCharts(count($this->view->charts));
}
$this->project->setMenu($this->project->getPairs(), $projectID);
$this->projects = $this->project->getPairs();
$this->view->header->title = $this->projects[$projectID] . $this->lang->colon . $this->lang->task->report->common;
+4 -3
View File
@@ -61,6 +61,7 @@ $lang->task->statusList[''] = '';
$lang->task->statusList['wait'] = 'Waiting';
$lang->task->statusList['doing'] = 'Doing';
$lang->task->statusList['done'] = 'Done';
$lang->task->statusList['undone'] = 'unDone';
$lang->task->statusList['cancel'] = 'Canceled';
$lang->task->statusList['closed'] = 'Closed';
@@ -153,9 +154,9 @@ $lang->task->report->tasksPerEstimate->graph->xAxisName = 'Time';
$lang->task->report->tasksPerLeft->graph->xAxisName = 'Time';
$lang->task->report->tasksPerConsumed->graph->xAxisName = 'Time';
$lang->task->report->tasksPerFinishedBy->graph->xAxisName = 'User';
$lang->task->report->tasksPerCloseReason->graph->xAxisName = 'Close Reason';
$lang->task->report->tasksPerClosedReason->graph->xAxisName = 'Closed Reason';
$lang->task->report->finishedTasksPerDay->graph->swf = 'column2d';
$lang->task->report->finishedTasksPerDay->graph->height = 400;
$lang->task->report->finishedTasksPerDay->swf = 'column2d';
$lang->task->report->finishedTasksPerDay->height = 400;
$lang->task->report->finishedTasksPerDay->graph->xAxisName = 'Date';
$lang->task->report->finishedTasksPerDay->graph->rotateNames = '1';
+4 -3
View File
@@ -61,6 +61,7 @@ $lang->task->statusList[''] = '';
$lang->task->statusList['wait'] = '未开始';
$lang->task->statusList['doing'] = '进行中';
$lang->task->statusList['done'] = '已完成';
$lang->task->statusList['undone'] = '未完成';
$lang->task->statusList['cancel'] = '已取消';
$lang->task->statusList['closed'] = '已关闭';
@@ -153,9 +154,9 @@ $lang->task->report->tasksPerEstimate->graph->xAxisName = '时间';
$lang->task->report->tasksPerLeft->graph->xAxisName = '时间';
$lang->task->report->tasksPerConsumed->graph->xAxisName = '时间';
$lang->task->report->tasksPerFinishedBy->graph->xAxisName = '用户';
$lang->task->report->tasksPerCloseReason->graph->xAxisName = '关闭原因';
$lang->task->report->tasksPerClosedReason->graph->xAxisName = '关闭原因';
$lang->task->report->finishedTasksPerDay->graph->swf = 'column2d';
$lang->task->report->finishedTasksPerDay->graph->height = 400;
$lang->task->report->finishedTasksPerDay->swf = 'column2d';
$lang->task->report->finishedTasksPerDay->height = 400;
$lang->task->report->finishedTasksPerDay->graph->xAxisName = '日期';
$lang->task->report->finishedTasksPerDay->graph->rotateNames = '1';
+153 -19
View File
@@ -531,65 +531,199 @@ class taskModel extends model
if(!isset($chartOption->width)) $chartOption->width = $commonOption->width;
if(!isset($chartOption->height)) $chartOption->height = $commonOption->height;
/* 合并配置。*/
/* merge configuration */
foreach($commonOption->graph as $key => $value) if(!isset($chartOption->graph->$key)) $chartOption->graph->$key = $value;
}
/**
* tasks report
* Get report data of tasks per project
*
* @access public
* @return array
*/
public function getDataOftasksPerProject()
{
$datas = $this->dao->select('project as name, count(project) as value')->from(TABLE_TASK)->alias('t1')->where($this->session->taskReportCondition)->orderBy('value DESC')->fetchAll('name');
$datas = $this->dao->select('project as name, count(*) as value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('project')
->orderBy('value DESC')
->fetchAll('name');
if(!$datas) return array();
$projects = $this->loadModel('project')->getPairs();
foreach($datas as $projectID => $data) $data->name = isset($projects[$projectID]) ? $projects[$projectID] : $this->lang->report->undefined;
return $datas;
}
/**
* Get report data of tasks per assignedTo
*
* @access public
* @return array
*/
public function getDataOftasksPerAssignedTo()
{
$datas = $this->dao->select('assignedTo as name, count(assignedTo) as value')->from(TABLE_TASK)->alias('t1')->where($this->session->taskReportCondition)->orderBy('value DESC')->fetchAll('name');
$datas = $this->dao->select('assignedTo AS name, count(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('assignedTo')
->orderBy('value DESC')
->fetchAll('name');
if(!$datas) return array();
$projects = $this->loadModel('project')->getPairs();
foreach($datas as $projectID => $data) $data->name = isset($projects[$projectID]) ? $projects[$projectID] : $this->lang->report->undefined;
if(!isset($this->users)) $this->users = $this->loadModel('user')->getPairs('noletter');
foreach($datas as $account => $data) if(isset($this->users[$account])) $data->name = $this->users[$account];
return $datas;
}
/**
* Get report data of tasks per type
*
* @access public
* @return array
*/
public function getDataOftasksPerType()
{
$datas = $this->dao->select('type AS name, count(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('type')
->orderBy('value DESC')
->fetchAll('name');
if(!$datas) return array();
foreach($datas as $type => $data) if(isset($this->lang->task->typeList[$type])) $data->name = $this->lang->task->typeList[$type];
return $datas;
}
public function getDataOftasksPerDeadline()
{
}
/**
* Get report data of tasks per priority
*
* @access public
* @return array
*/
public function getDataOftasksPerPri()
{
return $this->dao->select('pri AS name, COUNT(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('pri')
->orderBy('value DESC')
->fetchAll('name');
}
/**
* Get report data of tasks per deadline
*
* @access public
* @return array
*/
public function getDataOftasksPerDeadline()
{
return $this->dao->select('deadline AS name, COUNT(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('deadline')
->having('name != 0000-00-00')
->orderBy('value DESC')
->fetchAll('name');
}
/**
* Get report data of tasks per estimate
*
* @access public
* @return array
*/
public function getDataOftasksPerEstimate()
{
return $this->dao->select('estimate AS name, COUNT(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('estimate')
->orderBy('value DESC')
->fetchAll('name');
}
/**
* Get report data of tasks per left
*
* @access public
* @return array
*/
public function getDataOftasksPerLeft()
{
return $this->dao->select('`left` AS name, COUNT(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('`left`')
->orderBy('value DESC')
->fetchAll('name');
}
/**
* Get report data of tasks per consumed
*
* @access public
* @return array
*/
public function getDataOftasksPerConsumed()
{
return $this->dao->select('consumed AS name, COUNT(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('consumed')
->orderBy('value DESC')
->fetchAll('name');
}
/**
* Get report data of tasks per finishedBy
*
* @access public
* @return array
*/
public function getDataOftasksPerFinishedBy()
{
$datas = $this->dao->select('finishedBy AS name, COUNT(finishedBy) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('finishedBy')
->orderBy('value DESC')
->fetchAll('name');
if(!$datas) return array();
foreach($datas as $key => $data) $data->name = $data->name ? $data->name : $this->lang->task->statusList['undone'];
return $datas;
}
/**
* Get report data of tasks per closed reason
*
* @access public
* @return array
*/
public function getDataOftasksPerClosedReason()
{
return $this->dao->select('closedReason AS name, COUNT(*) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('closedReason')
->orderBy('value DESC')
->fetchAll('name');
}
public function getDataOffinishedtasksPerDay()
{
/**
* Get report data of finished tasks per day
*
* @access public
* @return array
*/
public function getDataOffinishedTasksPerDay()
{
return $this->dao->select('DATE_FORMAT(finishedDate, "%Y-%m-%d") AS name, COUNT(finishedDate) AS value')
->from(TABLE_TASK)->alias('t1')
->where($this->session->taskReportCondition)
->groupBy('finishedDate')
->having('name != 0000-00-00')
->orderBy('value DESC')
->fetchAll('name');
}
}