From e66b29319b5429a6cd14bdf82679c2ff76e9ad50 Mon Sep 17 00:00:00 2001 From: sunguangming Date: Wed, 15 May 2024 10:43:56 +0800 Subject: [PATCH] * Code for task #118291, step 2. --- .../count_of_finished_story_in_project.php | 2 +- .../count_of_unclosed_story_in_project.php | 2 +- .../scale/scale_of_story_in_project.php | 8 +++---- module/metric/dataset.php | 23 +++++++++++++++++++ 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/module/metric/calc/project/scale/count_of_finished_story_in_project.php b/module/metric/calc/project/scale/count_of_finished_story_in_project.php index f1548b35f3..7afb9f298d 100755 --- a/module/metric/calc/project/scale/count_of_finished_story_in_project.php +++ b/module/metric/calc/project/scale/count_of_finished_story_in_project.php @@ -20,7 +20,7 @@ */ class count_of_finished_story_in_project extends baseCalc { - public $dataset = 'getDevStoriesWithProject'; + public $dataset = 'getAllStoriesWithProject'; public $fieldList = array('t3.project', 't1.closedReason'); diff --git a/module/metric/calc/project/scale/count_of_unclosed_story_in_project.php b/module/metric/calc/project/scale/count_of_unclosed_story_in_project.php index d9ee879761..229f17df3a 100755 --- a/module/metric/calc/project/scale/count_of_unclosed_story_in_project.php +++ b/module/metric/calc/project/scale/count_of_unclosed_story_in_project.php @@ -20,7 +20,7 @@ */ class count_of_unclosed_story_in_project extends baseCalc { - public $dataset = 'getDevStoriesWithProject'; + public $dataset = 'getAllStoriesWithProject'; public $fieldList = array('t3.project', 't1.status'); diff --git a/module/metric/calc/project/scale/scale_of_story_in_project.php b/module/metric/calc/project/scale/scale_of_story_in_project.php index 3135f04177..6d52c5bd07 100755 --- a/module/metric/calc/project/scale/scale_of_story_in_project.php +++ b/module/metric/calc/project/scale/scale_of_story_in_project.php @@ -20,9 +20,9 @@ */ class scale_of_story_in_project extends baseCalc { - public $dataset = 'getDevStoriesWithProject'; + public $dataset = 'getAllStoriesWithProject'; - public $fieldList = array('t3.project', 't1.estimate', 't1.parent'); + public $fieldList = array('t3.project', 't1.estimate', 't1.isParent'); public $result = array(); @@ -30,9 +30,9 @@ class scale_of_story_in_project extends baseCalc { $project = $row->project; $estimate = $row->estimate; - $parent = $row->parent; + $isParent = $row->isParent; - if($parent == '-1') return false; + if($isParent == '1') return false; if(!isset($this->result[$project])) $this->result[$project] = 0; $this->result[$project] += $estimate; diff --git a/module/metric/dataset.php b/module/metric/dataset.php index 32a0a7aa8e..7c269fb15a 100644 --- a/module/metric/dataset.php +++ b/module/metric/dataset.php @@ -383,6 +383,29 @@ class dataset return $this->defaultWhere($stmt, 't1'); } + /** + * 获取项目的所有需求数据。 + * Get story list, with project story. + * + * @param string $fieldList + * @access public + * @return PDOStatement + */ + public function getAllStoriesWithProject($fieldList) + { + $stmt = $this->dao->select($fieldList) + ->from(TABLE_STORY)->alias('t1') + ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') + ->leftJoin(TABLE_PROJECTSTORY)->alias('t3')->on('t1.id=t3.story') + ->leftJoin(TABLE_PROJECT)->alias('t4')->on('t3.project=t4.id') + ->where('t1.deleted')->eq(0) + ->andWhere('t2.deleted')->eq(0) + ->andWhere('t4.deleted')->eq(0) + ->andWhere('t4.type')->eq('project'); + + return $this->defaultWhere($stmt, 't1'); + } + /** * 获取研发需求数据,过滤影子产品。 * Get story list, filter shadow product.