diff --git a/module/metric/calc/global/scale/count_of_delayed_finished_execution_which_annual_finished.php b/module/metric/calc/global/scale/count_of_delayed_finished_execution_which_annual_finished.php index b23cf4275c..de83e2fde0 100644 --- a/module/metric/calc/global/scale/count_of_delayed_finished_execution_which_annual_finished.php +++ b/module/metric/calc/global/scale/count_of_delayed_finished_execution_which_annual_finished.php @@ -28,7 +28,7 @@ class count_of_delayed_finished_execution_which_annual_finished extends baseCalc public function calculate($row) { - if(empty($row->closedDate) or empty($row->firstEnd)) return false; + if(empty($row->closedDate) || empty($row->firstEnd)) return false; $year = substr($row->closedDate, 0, 4); if($year == '0000') return false; @@ -42,8 +42,7 @@ class count_of_delayed_finished_execution_which_annual_finished extends baseCalc public function getResult($options = array()) { - $records = array(); - foreach($this->result as $year => $value) $records[] = array('year' => $year, 'value' => $value); + $records = $this->getRecords(array('year', 'value')); return $this->filterByOptions($records, $options); } } diff --git a/module/metric/test/calc/global/scale/count_of_delayed_finished_execution_which_annual_finished.php b/module/metric/test/calc/global/scale/count_of_delayed_finished_execution_which_annual_finished.php new file mode 100755 index 0000000000..6fb976be18 --- /dev/null +++ b/module/metric/test/calc/global/scale/count_of_delayed_finished_execution_which_annual_finished.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +config('project_close', $useCommon = true, $levels = 4)->gen(10); +zdTable('project')->config('execution', $useCommon = true, $levels = 4)->gen(100, false); + +$metric = new metricTest(); +$calc = $metric->calcMetric(__FILE__); + +/** + +title=count_of_delayed_finished_execution_which_annual_finished +timeout=0 +cid=1 + +*/ + +r(count($calc->getResult())) && p('') && e('2'); // 测试分组数 + +r($calc->getResult(array('year' => '2011'))) && p('0:value') && e('8'); // 测试2011年完成执行中延期完成执行数 +r($calc->getResult(array('year' => '2012'))) && p('0:value') && e('8'); // 测试2012年完成执行中延期完成执行数 diff --git a/module/metric/test/yaml/execution.yaml b/module/metric/test/yaml/execution.yaml index 8b85d953b0..22944eccd6 100644 --- a/module/metric/test/yaml/execution.yaml +++ b/module/metric/test/yaml/execution.yaml @@ -21,4 +21,8 @@ fields: range: "20110101 000000-20210101 000000:10D" type: timestamp format: YYYY-MM-DD +- field: firstEnd + range: "20010101 000000-20110101 000000:10D" + type: timestamp + format: YYYY-MM-DD ...