* Finish task #72350.

This commit is contained in:
tianshujie
2022-10-26 10:28:16 +08:00
committed by caoyanyi
parent 907d79e1a9
commit 1f30e8c55d
2 changed files with 42 additions and 27 deletions
+34
View File
@@ -371,6 +371,36 @@ class report extends control
if(empty($dept) and empty($userID)) $data['statusStat'] = $this->report->getAllTimeStatusStat();
$contributionGroups = array();
$maxCount = 0;
$contributions = 0;
foreach($years as $yearValue)
{
$contributionList = $this->report->getUserYearContributions($accounts, $yearValue);
$contributionCount = 0;
$max = 0;
$radarData = array('product' => 0, 'execution' => 0, 'devel' => 0, 'qa' => 0, 'other' => 0);
foreach($contributionList as $objectType => $objectContributions)
{
$sum = array_sum($objectContributions);
if($sum > $max) $max = $sum;
$contributionCount += $sum;
foreach($objectContributions as $actionName => $count)
{
$radarTypes = isset($this->config->report->annualData['radar'][$objectType][$actionName]) ? $this->config->report->annualData['radar'][$objectType][$actionName] : array('other');
foreach($radarTypes as $radarType) $radarData[$radarType] += $count;
}
$contributionGroups[$yearValue] = $radarData;
}
if($yearValue == $year)
{
$maxCount = $max;
$contributions = $contributionCount;
}
}
$this->view->title = sprintf($this->lang->report->annualData->title, ($userID ? zget($users, $userID, '') : (($dept !== '') ? substr($depts[$dept], strrpos($depts[$dept], '/') + 1) : $depts[''])), $year);
$this->view->data = $data;
$this->view->year = $year;
@@ -380,6 +410,10 @@ class report extends control
$this->view->dept = $dept;
$this->view->userID = $userID;
$this->view->months = $this->report->getYearMonths($year);
$this->view->contributionGroups = $contributionGroups;
$this->view->radarData = $contributionGroups[$year];
$this->view->maxCount = $maxCount;
$this->view->contributions = $contributions;
$this->display();
}
-19
View File
@@ -50,23 +50,6 @@
<li><span class='todoStatus'><?php echo $annualDataLang->todoStatus['done'];?></span><span><?php echo (int)$data['todos']->done;?></span></li>
</ul>
</li>
<?php
$contributions = 0;
$maxCount = 0;
$radarData = array('product' => 0, 'execution' => 0, 'devel' => 0, 'qa' => 0, 'other' => 0);
foreach($data['contributions'] as $objectType => $objectContributions)
{
$sum = array_sum($objectContributions);
if($sum > $maxCount) $maxCount = $sum;
$contributions += $sum;
foreach($objectContributions as $actionName => $count)
{
$radarTypes = isset($annualDataConfig['radar'][$objectType][$actionName]) ? $annualDataConfig['radar'][$objectType][$actionName] : array('other');
foreach($radarTypes as $radarType) $radarData[$radarType] += $count;
}
}
?>
<?php if($dept !== '' or !empty($userID)):?>
<li>
<?php echo $annualDataLang->contributions;?>
@@ -140,12 +123,10 @@
<header><h2 class='text-holder'><?php echo $annualDataLang->radar . $soFar;?></h2></header>
<div id='radarCanvas' style="display: none;"></div>
<canvas id="canvas" width="330" height="280" style="margin-top:-30px"></canvas>
<?php if(is_array($options) and !empty($options)):?>
<div class="scroll-shell">
<i class="icon icon-play" id="stopPlaying"></i>
<ul id="timeline" ref="timeline" onclick="timeline($event)" class="scroll"></ul>
</div>
<?php endif;?>
</section>
<section id='executionData'>