From 4377e68fceac4abd024169252f95eb80e7ef2e39 Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Thu, 15 May 2025 11:02:09 +0800 Subject: [PATCH] + [task#142897,doing,0.5h] add metric for task count. --- .../scale/count_of_task_in_status_type.php | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 module/metric/calc/task/scale/count_of_task_in_status_type.php diff --git a/module/metric/calc/task/scale/count_of_task_in_status_type.php b/module/metric/calc/task/scale/count_of_task_in_status_type.php new file mode 100644 index 0000000000..b6a1e77764 --- /dev/null +++ b/module/metric/calc/task/scale/count_of_task_in_status_type.php @@ -0,0 +1,41 @@ + + * @package + * @uses func + * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html) + * @Link https://www.zentao.net + */ +class count_of_task_in_status_type extends baseCalc +{ + public $dataset = ''; + + public $fieldList = array(); + + public $result = array(); + + public function calculate($row) + { + if(!isset($this->result[$row->status])) $this->result[$row->status] = array(); + if(!isset($this->result[$row->status][$row->type])) $this->result[$row->status][$row->type] = 0; + + $this->result[$row->status][$row->type]++; + } + + public function getResult($options = array()) + { + return $this->filterByOptions($this->result, $options); + } +}