* Code for my-block.

This commit is contained in:
孙广明
2022-07-21 11:28:40 +08:00
parent 167d746156
commit f4c75cd9af
+14 -21
View File
@@ -319,15 +319,9 @@ class projectModel extends model
->groupBy('t2.project')
->fetchPairs();
$this->loadModel('product');
foreach($projectIdList as $projectID)
{
$productIdList = $this->product->getProductIDByProject($projectID, false);
$allStories[$projectID] = $this->getTotalStoriesByProject($projectID, $productIdList, 'story');
$doneStories[$projectID] = $this->getTotalStoriesByProject($projectID, $productIdList, 'story', 'closed');
$leftStories[$projectID] = $this->getTotalStoriesByProject($projectID, $productIdList, 'story', 'active');
}
$allStories = $this->getTotalStoriesByProject($projectIdList, 'story');
$doneStories = $this->getTotalStoriesByProject($projectIdList, 'story', 'closed');
$leftStories = $this->getTotalStoriesByProject($projectIdList, 'story', 'active');
$leftBugs = $this->getTotalBugByProject($projectIdList, 'active');
$allBugs = $this->getTotalBugByProject($projectIdList, 'all');
@@ -349,9 +343,9 @@ class projectModel extends model
$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->allStories = isset($allStories[$projectID]) ? $allStories[$projectID] : 0;
$project->doneStories = isset($doneStories[$projectID]) ? $doneStories[$projectID] : 0;
$project->leftStories = isset($leftStories[$projectID]) ? $leftStories[$projectID] : 0;
$project->leftTasks = isset($leftTasks[$projectID]) ? $leftTasks[$projectID] : 0;
$project->allTasks = isset($allTasks[$projectID]) ? $allTasks[$projectID] : 0;
$project->waitTasks = isset($waitTasks[$projectID]) ? $waitTasks[$projectID] : 0;
@@ -369,25 +363,24 @@ class projectModel extends model
/**
* Get the number of stories associated with the project.
*
* @param int $projectID
* @param array $productIdList
* @param string $type story|requirement
* @param string $status all|closed|active
* @param array $projectIdList
* @param string $type story|requirement
* @param string $status all|closed|active
* @access public
* @return int
*/
public function getTotalStoriesByProject($projectID = 0, $productIdList = array(), $type = 'story', $status = 'all')
public function getTotalStoriesByProject($projectIdList = 0, $type = 'story', $status = 'all')
{
return $this->dao->select('count(t2.id) as stories')->from(TABLE_PROJECTSTORY)->alias('t1')
return $this->dao->select('t1.project, count(t2.id) as stories')->from(TABLE_PROJECTSTORY)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story=t2.id')
->where('t1.project')->eq($projectID)
->where('t1.project')->in($projectIdList)
->andWhere('t2.type')->eq($type)
->andWhere('t2.product')->in($productIdList)
->beginIF($status == 'active')->andWhere('t2.status')->in('active,changed')->fi()
->beginIF($status == 'closed')->andWhere('t2.status')->eq('closed')->fi()
->beginIF($status == 'closed')->andWhere('t2.closedReason')->eq('done')->fi()
->andWhere('deleted')->eq('0')
->fetch('stories');
->groupBy('project')
->fetchPairs();
}
/**