From e07cd0a838438115503f495bd44e241a5203b6ae Mon Sep 17 00:00:00 2001 From: zhouxin Date: Thu, 26 Dec 2024 14:13:32 +0800 Subject: [PATCH] * [bug#58662,done,0.2h] fix contribution count in annual report. --- module/report/model.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/module/report/model.php b/module/report/model.php index 2ad4eeeb73..1ef05984bb 100644 --- a/module/report/model.php +++ b/module/report/model.php @@ -269,11 +269,19 @@ class reportModel extends model */ public function getUserYearContributionCount(array $accounts, string $year): int { - return $this->dao->select('count(1) as count')->from(TABLE_ACTION) + $stmt = $this->dao->select('id,objectType,action')->from(TABLE_ACTION) ->where('LEFT(date, 4)')->eq($year) ->andWhere('objectType')->in(array_keys($this->config->report->annualData['contributionCount'])) ->beginIF($accounts)->andWhere('actor')->in($accounts)->fi() - ->fetch('count'); + ->query(); + + $count = 0; + while($action = $stmt->fetch()) + { + if(isset($this->config->report->annualData['contributionCount'][$action->objectType][strtolower($action->action)])) $count ++; + } + + return $count; } /**