From 0cb7cb65b63289ebfc28dbbf2b61670420c997cf Mon Sep 17 00:00:00 2001 From: songchenxuan Date: Thu, 4 Jan 2024 10:17:06 +0800 Subject: [PATCH] * Modify metric build filter. --- module/screen/model.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/module/screen/model.php b/module/screen/model.php index d24e327015..b9e382ef60 100644 --- a/module/screen/model.php +++ b/module/screen/model.php @@ -304,13 +304,15 @@ class screenModel extends model $resultHeader = $this->metric->getViewTableHeader($metric); $resultData = $this->metric->getViewTableData($metric, $result); + $isObjectMetric = $this->metric->isObjectMetric($resultHeader); + $isDateMetric = $this->metric->isDateMetric($resultHeader); $component->chartConfig->title = $metric->name; $component->chartConfig->sourceID = $metric->id; $component->chartConfig->chartOption = $this->getMetricChartOption($metric, $resultHeader, $resultData); $component->chartConfig->tableOption = $this->getMetricTableOption($metric, $resultHeader, $resultData, $filterParams); $component->chartConfig->card = $this->getMetricCardOption($metric, $resultData); - $component->chartConfig->filters = $this->buildMetricFilters($metric); + $component->chartConfig->filters = $this->buildMetricFilters($metric, $isObjectMetric, $isDateMetric); $component->option->chartOption = $component->chartConfig->chartOption; $component->option->tableOption = $component->chartConfig->tableOption; @@ -326,13 +328,13 @@ class screenModel extends model * @access public * @return array */ - public function buildMetricFilters($metric) + public function buildMetricFilters($metric, $isObjectMetric, $isDateMetric) { $this->loadModel('metric'); $scope = $metric->scope; $filters = array(); - if($scope != 'system') + if($isObjectMetric) { $scopeFilter = new stdclass(); $scopeFilter->from = 'query'; @@ -356,8 +358,7 @@ class screenModel extends model $filters[] = $scopeFilter; } - $resultHeader = $this->metric->getViewTableHeader($metric); - if($this->metric->isDateMetric($resultHeader)) + if($isDateMetric) { $beginFilter = new stdclass(); $beginFilter->from = 'query'; @@ -1877,7 +1878,7 @@ class screenModel extends model $endFilter = $filters['end']; $filteredHeaders = array(); - if($dateType == 'year') + if($dateType == 'year') { $filteredHeaders[0] = array_filter($headers[0], function($item) use ($beginFilter, $endFilter) {