diff --git a/module/report/model.php b/module/report/model.php
index 8b01517ab1..b18647b2a2 100644
--- a/module/report/model.php
+++ b/module/report/model.php
@@ -287,8 +287,9 @@ class reportModel extends model
if($assign == 'noassign')
{
- $members = $this->dao->select('t1.account,t2.name,t1.root')->from(TABLE_TEAM)->alias('t1')
+ $members = $this->dao->select('t1.account,t2.name,t1.root,t3.id as project,t3.name as projectname')->from(TABLE_TEAM)->alias('t1')
->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t2.id = t1.root')
+ ->leftJoin(TABLE_PROJECT)->alias('t3')->on('t3.id = t2.project')
->where('t2.status')->notin('cancel, closed, done, suspended')
->beginIF($dept)->andWhere('t1.account')->in(array_keys($deptUsers))->fi()
->andWhere('t1.type')->eq('execution')
@@ -304,11 +305,14 @@ class reportModel extends model
{
foreach($executions as $name => $execution)
{
- $workload[$member]['task'][$name]['count'] = 0;
- $workload[$member]['task'][$name]['manhour'] = 0;
- $workload[$member]['task'][$name]['executionID'] = $execution->root;
- $workload[$member]['total']['count'] = 0;
- $workload[$member]['total']['manhour'] = 0;
+ $workload[$member]['task']['project'][$execution->projectname]['project'] = $execution->projectname;
+ $workload[$member]['task']['project'][$execution->projectname]['projectID'] = $execution->project;
+ $workload[$member]['task']['project'][$execution->projectname]['execution'][$name]['name'] = $name;
+ $workload[$member]['task']['project'][$execution->projectname]['execution'][$name]['executionID'] = $execution->root;
+ $workload[$member]['task']['project'][$execution->projectname]['execution'][$name]['count'] = 0;
+ $workload[$member]['task']['project'][$execution->projectname]['execution'][$name]['manhour'] = 0;
+ $workload[$member]['total']['count'] = 0;
+ $workload[$member]['total']['manhour'] = 0;
}
}
}
@@ -316,8 +320,9 @@ class reportModel extends model
return $workload;
}
- $stmt = $this->dao->select('t1.*, t2.name as executionName')->from(TABLE_TASK)->alias('t1')
+ $stmt = $this->dao->select('t1.*, t2.name as executionName,t3.name as projectname')->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution = t2.id')
+ ->leftJoin(TABLE_PROJECT)->alias('t3')->on('t3.id = t2.project')
->where('t1.deleted')->eq(0)
->andWhere('t1.status')->in('wait,pause,doing')
->andWhere('t2.deleted')->eq(0)
@@ -374,9 +379,12 @@ class reportModel extends model
foreach($userTasks as $task)
{
if(isset($parents[$task->id])) continue;
- $workload[$user]['task'][$task->executionName]['count'] = isset($workload[$user]['task'][$task->executionName]['count']) ? $workload[$user]['task'][$task->executionName]['count'] + 1 : 1;
- $workload[$user]['task'][$task->executionName]['manhour'] = isset($workload[$user]['task'][$task->executionName]['manhour']) ? $workload[$user]['task'][$task->executionName]['manhour'] + $task->left : $task->left;
- $workload[$user]['task'][$task->executionName]['executionID'] = $task->execution;
+ $workload[$user]['task']['project'][$task->projectname]['projectID'] = isset($workload[$user]['task']['project'][$task->projectname]['projectID']) ? $workload[$user]['task']['project'][$task->projectname]['projectID'] : $task->project;
+ $workload[$user]['task']['project'][$task->projectname]['project'] = isset($workload[$user]['task'][$task->projectname]['project']) ? $workload[$user]['task'][$task->projectname]['project'] : $task->projectname;
+ $workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['count'] = isset($workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['count']) ? $workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['count'] + 1 : 1;
+ $workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['manhour'] = isset($workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['manhour']) ? $workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['manhour'] + $task->left : $task->left;
+ $workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['executionID'] = $task->execution;
+ $workload[$user]['task']['project'][$task->projectname]['execution'][$task->executionName]['name'] = $task->executionName;
$workload[$user]['total']['count'] = isset($workload[$user]['total']['count']) ? $workload[$user]['total']['count'] + 1 : 1;
$workload[$user]['total']['manhour'] = isset($workload[$user]['total']['manhour']) ? $workload[$user]['total']['manhour'] + $task->left : $task->left;
}
diff --git a/module/report/view/workload.html.php b/module/report/view/workload.html.php
index df2cffe6ce..9b0d12a191 100644
--- a/module/report/view/workload.html.php
+++ b/module/report/view/workload.html.php
@@ -70,6 +70,7 @@
report->user;?>
+ report->project ;?>
report->execution;?>
report->task;?>
report->remain;?>
@@ -79,28 +80,42 @@