* Finish task #58558, #58559.

This commit is contained in:
liumengyi
2022-06-28 13:22:23 +08:00
parent 1c081420c9
commit 2379f0e4a4
6 changed files with 65 additions and 44 deletions
+2
View File
@@ -39,6 +39,8 @@ $lang->block->lblNum = 'Nummer';
$lang->block->lblHtml = 'HTML';
$lang->block->dynamic = 'Verlauf';
$lang->block->assignToMe = 'Todo';
$lang->block->wait = 'Wait';
$lang->block->doing = 'Doing';
$lang->block->done = 'Done';
$lang->block->lblFlowchart = 'Workflow';
$lang->block->welcome = 'Willkommen';
+2
View File
@@ -39,6 +39,8 @@ $lang->block->lblNum = 'Number';
$lang->block->lblHtml = 'HTML';
$lang->block->dynamic = 'Dynamics';
$lang->block->assignToMe = 'Todo';
$lang->block->wait = 'Wait';
$lang->block->doing = 'Doing';
$lang->block->done = 'Done';
$lang->block->lblFlowchart = 'Flowchart';
$lang->block->welcome = 'Welcome';
+3 -1
View File
@@ -39,7 +39,9 @@ $lang->block->lblNum = 'Numéro';
$lang->block->lblHtml = 'HTML';
$lang->block->dynamic = 'Historique';
$lang->block->assignToMe = 'Todo';
$lang->block->done = 'Done';
$lang->block->wait = 'En Attente';
$lang->block->doing = 'En Cours';
$lang->block->done = 'Terminées';
$lang->block->lblFlowchart = 'Organigramme';
$lang->block->welcome = 'Bienvenue';
$lang->block->lblTesttask = 'Détail Recette';
+2
View File
@@ -39,6 +39,8 @@ $lang->block->lblNum = '条数';
$lang->block->lblHtml = 'HTML内容';
$lang->block->dynamic = '最新动态';
$lang->block->assignToMe = '待处理';
$lang->block->wait = '未开始';
$lang->block->doing = '进行中';
$lang->block->done = '已完成';
$lang->block->lblFlowchart = '流程图';
$lang->block->welcome = '欢迎总览';
+25 -21
View File
@@ -19,13 +19,11 @@
<tr>
<th><?php echo $lang->block->storyCount;?></th>
<th></th>
<th><?php echo $lang->personnel->invest;?></th>
<th><?php echo $lang->block->investment;?></th>
<th></th>
<th><?php echo $lang->workingHour;?></th>
<th></th>
<?php if($vision == 'lite'): ?>
<th><?php echo $lang->block->taskCount;?></th>
<?php else:?>
<th></th>
<?php if($vision == 'rnd'):?>
<th><?php echo $lang->block->bugCount;?></th>
<?php endif;?>
<th></th>
@@ -37,30 +35,36 @@
<td><?php echo $totalData[$projectID]->allStories;?></td>
<th><?php echo $lang->block->totalPeople . ':';?></th>
<td><?php echo $totalData[$projectID]->teamCount ? html::a($this->createLink('project', 'team', 'projectID=' . $projectID), $totalData[$projectID]->teamCount) : 0;?></td>
<th><?php echo $lang->block->estimatedHours . ':';?></th>
<td><?php echo $totalData[$projectID]->estimate . $lang->execution->workHour;?></td>
<th><?php echo ($vision == 'lite' ? $lang->block->totalTask : $lang->block->totalBug) . ':';?></th>
<td><?php echo $vision == 'lite' ? $totalData[$projectID]->allTasks : $totalData[$projectID]->allBugs;?></td>
<th><?php echo ($vision == 'rnd' ? $lang->block->wait : $lang->block->totalTask) . ':';?></th>
<td><?php echo $vision == 'rnd' ? $totalData[$projectID]->waitTasks : $totalData[$projectID]->allTasks;?></td>
<?php if($vision == 'rnd'):?>
<th><?php echo $lang->block->totalBug . ':';?></th>
<td><?php echo $totalData[$projectID]->allBugs;?></td>
<?php endif;?>
</tr>
<tr>
<th><?php echo $lang->block->done . ':';?></th>
<td><?php echo $totalData[$projectID]->doneStories;?></td>
<th></th>
<td></td>
<th><?php echo $lang->block->consumedHours . ':';?></th>
<td><?php echo $totalData[$projectID]->consumed . $lang->execution->workHour;?></td>
<th><?php echo ($vision == 'lite' ? $lang->block->done : $lang->bug->statusList['resolved']) . ':';?></th>
<td><?php echo $vision == 'lite' ? $totalData[$projectID]->doneTasks : $totalData[$projectID]->doneBugs;?></td>
<th><?php echo $lang->block->estimate . ':';?></th>
<td><?php echo $totalData[$projectID]->estimate . $lang->execution->workHourUnit;?></td>
<th><?php echo ($vision == 'rnd' ? $lang->block->doing : $lang->block->done) . ':';?></th>
<td><?php echo $vision == 'rnd' ? $totalData[$projectID]->doingTasks: $totalData[$projectID]->liteDoneTasks;?></td>
<?php if($vision == 'rnd'):?>
<th><?php echo $lang->bug->statusList['resolved'] . ':';?></th>
<td><?php echo $totalData[$projectID]->doneBugs;?></td>
<?php endif;?>
</tr>
<tr>
<th><?php echo $lang->block->left . ':';?></th>
<td><?php echo $totalData[$projectID]->leftStories;?></td>
<th></th>
<td></td>
<th></th>
<td></td>
<th><?php echo ($vision == 'lite' ? $lang->block->undone : $lang->bug->unResolved) . ':';?></th>
<td><?php echo $vision == 'lite' ? $totalData[$projectID]->leftTasks : $totalData[$projectID]->leftBugs;?></td>
<th><?php echo $lang->block->consumedHours . ':';?></th>
<td><?php echo $totalData[$projectID]->consumed . $lang->execution->workHourUnit;?></td>
<th><?php echo $vision == 'rnd' ? $lang->block->done . ':' : $lang->block->undone;?></th>
<td><?php echo $vision == 'rnd' ? $totalData[$projectID]->rndDoneTasks : $totalData[$projectID]->leftTasks;?></td>
<?php if($vision == 'rnd'):?>
<th><?php echo $lang->bug->unResolved . ':';?></th>
<td><?php echo $totalData[$projectID]->leftBugs;?></td>
<?php endif;?>
</tr>
</tbody>
+31 -22
View File
@@ -333,25 +333,31 @@ class projectModel extends model
$allBugs = $this->getTotalBugByProject($projectIdList, 'all');
$doneBugs = $this->getTotalBugByProject($projectIdList, 'resolved');
$leftTasks = $this->getTotalTaskByProject($projectIdList, 'undone');
$allTasks = $this->getTotalTaskByProject($projectIdList, 'all');
$doneTasks = $this->getTotalTaskByProject($projectIdList, 'done');
$leftTasks = $this->getTotalTaskByProject($projectIdList, 'undone');
$allTasks = $this->getTotalTaskByProject($projectIdList, 'all');
$waitTasks = $this->getTotalTaskByProject($projectIdList, 'wait');
$doingTasks = $this->getTotalTaskByProject($projectIdList, 'doing');
$rndDoneTasks = $this->getTotalTaskByProject($projectIdList, 'done');
$liteDoneTasks = $this->getTotalTaskByProject($projectIdList, 'donelite');
foreach($projects as $projectID => $project)
{
$project->consumed = isset($hours[$projectID]) ? (float)$hours[$projectID]->consumed : 0;
$project->estimate = isset($hours[$projectID]) ? (float)$hours[$projectID]->estimate : 0;
$project->teamCount = isset($teams[$projectID]) ? $teams[$projectID] : 0;
$project->leftTasks = isset($leftTasks[$projectID]) ? $leftTasks[$projectID] : 0;
$project->leftBugs = isset($leftBugs[$projectID]) ? $leftBugs[$projectID] : 0;
$project->allBugs = isset($allBugs[$projectID]) ? $allBugs[$projectID] : 0;
$project->doneBugs = isset($doneBugs[$projectID]) ? $doneBugs[$projectID] : 0;
$project->allStories = $allStories[$projectID];
$project->doneStories = $doneStories[$projectID];
$project->leftStories = $leftStories[$projectID];
$project->leftTasks = isset($leftTasks[$projectID]) ? $leftTasks[$projectID] : 0;
$project->allTasks = isset($allTasks[$projectID]) ? $allTasks[$projectID] : 0;
$project->doneTasks = isset($doneTasks[$projectID]) ? $doneTasks[$projectID] : 0;
$project->consumed = isset($hours[$projectID]) ? (float)$hours[$projectID]->consumed : 0;
$project->estimate = isset($hours[$projectID]) ? (float)$hours[$projectID]->estimate : 0;
$project->teamCount = isset($teams[$projectID]) ? $teams[$projectID] : 0;
$project->leftTasks = isset($leftTasks[$projectID]) ? $leftTasks[$projectID] : 0;
$project->leftBugs = isset($leftBugs[$projectID]) ? $leftBugs[$projectID] : 0;
$project->allBugs = isset($allBugs[$projectID]) ? $allBugs[$projectID] : 0;
$project->doneBugs = isset($doneBugs[$projectID]) ? $doneBugs[$projectID] : 0;
$project->allStories = $allStories[$projectID];
$project->doneStories = $doneStories[$projectID];
$project->leftStories = $leftStories[$projectID];
$project->leftTasks = isset($leftTasks[$projectID]) ? $leftTasks[$projectID] : 0;
$project->allTasks = isset($allTasks[$projectID]) ? $allTasks[$projectID] : 0;
$project->waitTasks = isset($waitTasks[$projectID]) ? $waitTasks[$projectID] : 0;
$project->doingTasks = isset($doingTasks[$projectID]) ? $doingTasks[$projectID] : 0;
$project->rndDoneTasks = isset($rndDoneTasks[$projectID]) ? $rndDoneTasks[$projectID] : 0;
$project->liteDoneTasks = isset($liteDoneTasks[$projectID]) ? $liteDoneTasks[$projectID] : 0;
if(is_float($project->consumed)) $project->consumed = round($project->consumed, 1);
if(is_float($project->estimate)) $project->estimate = round($project->estimate, 1);
@@ -795,12 +801,15 @@ class projectModel extends model
*/
public function getTotalTaskByProject($projectIdList, $status)
{
return $this->dao->select('project, count(*) as tasks')->from(TABLE_TASK)
->where('project')->in($projectIdList)
->andWhere('deleted')->eq(0)
->beginIF($status == 'done')->andWhere('status')->in('done,closed')->fi()
->beginIF($status == 'undone')->andWhere('status')->in('wait,pause,cancel')->fi()
->groupBy('project')
return $this->dao->select('t1.project, count(t1.id) as tasks')->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution=t2.id')
->where('t1.project')->in($projectIdList)
->andWhere('t1.deleted')->eq(0)
->andWhere('t2.deleted')->eq(0)
->beginIF($status == 'donelite')->andWhere('t1.status')->in('done,closed')->fi()
->beginIF($status == 'undone')->andWhere('t1.status')->in('wait,pause,cancel')->fi()
->beginIF(strpos(',wait,doing,done,', ",$status,") !== false)->andWhere('t1.status')->eq($status)->fi()
->groupBy('t1.project')
->fetchPairs('project');
}