+finish task#414
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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
@@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user