diff --git a/module/report/control.php b/module/report/control.php
index f95c6c57a3..96b5e7d413 100644
--- a/module/report/control.php
+++ b/module/report/control.php
@@ -28,12 +28,18 @@ class report extends control
* @access public
* @return void
*/
- public function projectDeviation()
+ public function projectDeviation($begin = 0, $end = 0)
{
+ $begin = $begin ? date('Y-m-d', strtotime($begin)) : date('Y-m-d', strtotime('last month', strtotime(date('Y-m',time()) . '-01 00:00:01')));
+ $end = $end ? date('Y-m-d', strtotime($end)) : date('Y-m-d', strtotime('now'));
+
$this->view->title = $this->lang->report->projectDeviation;
$this->view->position[] = $this->lang->report->projectDeviation;
- $this->view->projects = $this->report->getProjects();
- $this->view->submenu = 'project';
+
+ $this->view->projects = $this->report->getProjects($begin, $end);
+ $this->view->begin = $begin;
+ $this->view->end = $end;
+ $this->view->submenu = 'project';
$this->display();
}
diff --git a/module/report/css/common.css b/module/report/css/common.css
index b92e8ce365..3559b5a9d1 100644
--- a/module/report/css/common.css
+++ b/module/report/css/common.css
@@ -30,5 +30,4 @@ td .deviation{padding-left:20px; text-align:left;}
.d0{color:#76B043;}
.d20{color:#33A52E;}
-#titlebar {display: none}
#conditions{ padding: 10px; margin: 0 0 10px; border: 1px solid #ddd;}
diff --git a/module/report/js/projectdeviation.js b/module/report/js/projectdeviation.js
new file mode 100644
index 0000000000..3147afac24
--- /dev/null
+++ b/module/report/js/projectdeviation.js
@@ -0,0 +1,23 @@
+function changeDate(begin, end)
+{
+ if(begin.indexOf('-') != -1)
+ {
+ var beginarray = begin.split("-");
+ var begin = '';
+ for(i=0 ; i < beginarray.length ; i++)
+ {
+ begin = begin + beginarray[i];
+ }
+ }
+ if(end.indexOf('-') != -1)
+ {
+ var endarray = end.split("-");
+ var end = '';
+ for(i=0 ; i < endarray.length ; i++)
+ {
+ end = end + endarray[i];
+ }
+ }
+ link = createLink('report', 'projectdeviation', 'begin=' + begin + '&end=' + end);
+ location.href=link;
+}
diff --git a/module/report/model.php b/module/report/model.php
index 53eca109f1..a615e8372f 100644
--- a/module/report/model.php
+++ b/module/report/model.php
@@ -67,12 +67,11 @@ class reportModel extends model
* @access public
* @return void
*/
- public function getProjects()
+ public function getProjects($begin = 0, $end = 0)
{
$projects = array();
- $tasks = $this->dao->select('t1.*')
- ->from(TABLE_TASK)->alias('t1')
+ $tasks = $this->dao->select('t1.*')->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')
->on('t1.project = t2.id')
->where('t1.status')->ne('cancel')
@@ -85,44 +84,13 @@ class reportModel extends model
$projects[$task->project]->estimate = isset($projects[$task->project]->estimate) ? $projects[$task->project]->estimate + $task->estimate : $task->estimate;
$projects[$task->project]->consumed = isset($projects[$task->project]->consumed) ? $projects[$task->project]->consumed + $task->consumed : $task->consumed;
- $projects[$task->project]->tasks = isset($projects[$task->project]->tasks) ? $projects[$task->project]->tasks + 1 : 1;
- if($task->type == 'devel') $projects[$task->project]->devConsumed = isset($projects[$task->project]->devConsumed) ? $projects[$task->project]->devConsumed + $task->consumed : $task->consumed;
- if($task->type == 'test') $projects[$task->project]->testConsumed = isset($projects[$task->project]->testConsumed) ? $projects[$task->project]->testConsumed + $task->consumed : $task->consumed;
}
- $bugs = $this->dao->select('t1.project')
- ->from(TABLE_BUG)->alias('t1')
- ->leftJoin(TABLE_PROJECT)->alias('t2')
- ->on('t1.project = t2.id')
- ->where('t1.deleted')->eq(0)
- ->andWhere('t2.deleted')->eq(0)
+ $projectList = $this->dao->select('id, name, status')->from(TABLE_PROJECT)
+ ->where('1=1')
+ ->beginIF($begin)->andWhere('begin')->ge($begin)->fi()
+ ->beginIF($end)->andWhere('end')->le($end)->fi()
->fetchAll();
- foreach($bugs as $bug)
- {
- if($bug->project)
- {
- if(!isset($projects[$bug->project]))$projects[$bug->project] = new stdclass();
- $projects[$bug->project]->bugs = isset($projects[$bug->project]->bugs) ? $projects[$bug->project]->bugs + 1 : 1;
- }
- }
-
- $stories = $this->dao->select('t1.project')
- ->from(TABLE_PROJECTSTORY)->alias('t1')
- ->leftJoin(TABLE_PROJECT)->alias('t2')
- ->on('t1.project = t2.id')
- ->leftJoin(TABLE_STORY)->alias('t3')
- ->on('t1.story = t3.id')
- ->where('t2.deleted')->eq(0)
- ->andWhere('t3.deleted')->eq(0)
- ->fetchAll();
- foreach($stories as $story)
- {
- if(!isset($projects[$story->project])) $projects[$story->project] = new stdclass();
-
- $projects[$story->project]->stories = isset($projects[$story->project]->stories) ? $projects[$story->project]->stories + 1 : 1;
- }
-
- $projectList = $this->dao->select('id, name, status')->from(TABLE_PROJECT)->fetchAll();
$projectPairs = array();
foreach($projectList as $project)
{
@@ -136,10 +104,6 @@ class reportModel extends model
unset($projects[$id]);
continue;
}
- if(!isset($project->stories)) $projects[$id]->stories = 0;
- if(!isset($project->bugs)) $projects[$id]->bugs = 0;
- if(!isset($project->devConsumed)) $projects[$id]->devConsumed = 0;
- if(!isset($project->testConsumed)) $projects[$id]->testConsumed = 0;
if(!isset($project->consumed)) $projects[$id]->consumed = 0;
if(!isset($project->estimate)) $projects[$id]->estimate = 0;
$projects[$id]->name = $projectPairs[$id];
diff --git a/module/report/view/projectdeviation.html.php b/module/report/view/projectdeviation.html.php
index 816aad5ca7..6a03159c25 100644
--- a/module/report/view/projectdeviation.html.php
+++ b/module/report/view/projectdeviation.html.php
@@ -1,4 +1,5 @@
+
icons['report-file']);?>
@@ -14,21 +15,20 @@
+
| report->id;?> |
- report->project;?> |
- report->task;?> |
- report->stories;?> |
- report->bugs;?> |
- report->devConsumed;?> |
- report->testConsumed;?> |
- report->devTestRate;?> |
- report->estimate;?> |
- report->consumed;?> |
- report->deviation;?> |
- report->deviationRate;?> |
+ report->project;?> |
+ report->estimate;?> |
+ report->consumed;?> |
+ report->deviation;?> |
+ report->deviationRate;?> |
@@ -36,18 +36,6 @@
|
createLink('project', 'view', "projectID=$id"), $project->name);?> |
- tasks) ? $project->tasks : 0;?> |
- stories) ? $project->stories : 0;?> |
- bugs) ? $project->bugs : 0;?> |
- devConsumed = isset($project->devConsumed) ? $project->devConsumed : 0;
- $project->testConsumed = isset($project->testConsumed) ? $project->testConsumed : 0;
- $project->estimate = isset($project->estimate) ? $project->estimate : 0;
- $project->consumed = isset($project->consumed) ? $project->consumed : 0;
- ?>
- devConsumed;?> |
- testConsumed;?> |
- devConsumed / (($project->testConsumed < 1) ? 1 : $project->testConsumed), 1);?> |
estimate;?> |
consumed;?> |
consumed - $project->estimate;?>