This commit is contained in:
Yagami
2020-08-25 16:38:35 +08:00
3 changed files with 84 additions and 4 deletions

View File

@@ -1585,7 +1585,11 @@ class block extends control
*/
public function printScrumoverallBlock()
{
$this->view->program = $this->loadModel('project')->getByID($this->session->program);
$programID = $this->session->program;
$totalData = $this->loadModel('program')->getUserPrograms('all','id_desc',15,$programID);
$this->view->totalData = $totalData;
$this->view->programID = $programID;
}
/**
@@ -1688,7 +1692,6 @@ ksort($products);
*/
public function printScrumdynamicBlock()
{
/* Load pager. */
$this->app->loadClass('pager', $static = true);
$pager = new pager(0, 30, 1);

View File

@@ -0,0 +1,60 @@
<?php
/**
* The project block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.zentao.net
*/
?>
<?php if(empty($totalData)): ?>
<div class='empty-tip'><?php common::printLink('project', 'create', '', "<i class='icon-plus'></i> " . $lang->project->create, '', "class='btn btn-primary'")?></div>
<?php else:?>
<div class="panel-body has-table scrollbar-hover">
<table class='table table-borderless table-hover'>
<thead>
<tr class=''>
<th colspan="3" class='c-name text-left'><?php echo '总投入';?></th>
<th class="c-name"><?php echo $lang->block->totalStory;?></th>
<th class="c-name"><?php echo $lang->block->totalBug;?></th>
</tr>
</thead>
<tbody class="text-center">
<tr>
<td class="c-name"><i class="icon icon-user"></i><?php echo '总人数';?></td>
<td class="c-name"><i class="icon icon-time"></i><?php echo '已消耗工时';?></td>
<td class="c-name"><i class="icon icon-yen"></i><?php echo '已花费';?></td>
<td class="c-name"><?php echo $totalData[$programID]->allStories;?></td>
<td class="c-name"><?php echo $totalData[$programID]->allBugs;?></td>
</tr>
<tr>
<td class="c-data"><?php echo $totalData[$programID]->teamCount;?></td>
<td class="c-data"><?php echo $totalData[$programID]->consumed;?></td>
<td class="c-data"><?php echo '无数据'?></td>
<td class="c-data">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<?php echo $totalData[$programID]->doneStories;?>" aria-valuemin="0" aria-valuemax="<?php echo $totalData[$programID]->allStories;?>" style="width: <?php echo (($totalData[$programID]->doneStories/$totalData[$programID]->allStories)*100).'%'; ?>">
</div>
</div>
</td>
<td class="c-data">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<?php echo $totalData[$programID]->doneBugs;?>" aria-valuemin="0" aria-valuemax="<?php echo $totalData[$programID]->allBugs;?>" style="width: <?php echo (($totalData[$programID]->doneBugs/$totalData[$progaramID]->allBugs)*100).'%'; ?>">
</div>
</div>
</td>
</tr>
<tr>
<td></td>
<td class="c-data"><?php echo '总预计'.' '.$totalData[$programID]->estimate;?></td>
<td class="c-data"><?php echo '无数据';?></td>
<td class="c-data"><?php echo "已完成".'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'."剩余".'<br/>'.$totalData[$programID]->doneStories.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$totalData[$programID]->leftStories;?></td>
<td class="c-data"><?php echo "已完成".'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'."剩余".'<br/>'.$totalData[$programID]->doneBugs.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$totalData[$programID]->leftBugs;?></td>
</tr>
</tbody>
</table>
</div>
<?php endif;?>

View File

@@ -69,10 +69,11 @@ class programModel extends model
* @param varchar $status
* @param varchar $orderBy
* @param int $limit
* @param int $programID
* @access public
* @return void
*/
public function getUserPrograms($status = 'all', $orderBy = 'id_desc', $limit = 15)
public function getUserPrograms($status = 'all', $orderBy = 'id_desc', $limit = 15, $programID = 0)
{
$programs = $this->dao->select('*')->from(TABLE_PROJECT)
->where('iscat')->eq(0)
@@ -81,6 +82,7 @@ class programModel extends model
->andWhere('deleted')->eq(0)
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->programs)->fi()
->beginIF($status != 'all')->andWhere('status')->eq($status)->fi()
->beginIF($programID)->andWhere('id')->eq($programID)->fi()
->orderBy($orderBy)
->limit($limit)
->fetchAll('id');
@@ -136,8 +138,21 @@ class programModel extends model
->groupBy('program')
->fetchAll('program');
$allBugs = $this->dao->select('program, count(*) as allBugs')->from(TABLE_BUG)
->where('program')->in($programIdList)
->andWhere('deleted')->eq(0)
->groupBy('program')
->fetchAll('program');
$doneBugs = $this->dao->select('program, count(*) as doneBugs')->from(TABLE_BUG)
->where('program')->in($programIdList)
->andWhere('deleted')->eq(0)
->andWhere('status')->eq('resolved')
->groupBy('program')
->fetchAll('program');
foreach($programs as $programID => $program)
{
{
$program->teamCount = isset($teams[$programID]) ? $teams[$programID]->count : 0;
$program->consumed = isset($hours[$programID]) ? $hours[$programID]->consumed : 0;
$program->estimate = isset($hours[$programID]) ? $hours[$programID]->estimate : 0;
@@ -146,6 +161,8 @@ class programModel extends model
$program->doneStories = isset($doneStories[$programID]) ? $doneStories[$programID]->doneStories : 0;
$program->leftStories = isset($leftStories[$programID]) ? $leftStories[$programID]->leftStories : 0;
$program->leftBugs = isset($leftBugs[$programID]) ? $leftBugs[$programID]->leftBugs : 0;
$program->allBugs = isset($allBugs[$programID]) ? $allBugs[$programID]->allBugs : 0;
$program->doneBugs = isset($doneBugs[$programID]) ? $doneBugs[$programID]->doneBugs : 0;
}
return $programs;