CommunicationStatistics::getLoadAverages

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CommunicationStatistics
  4. getLoadAverages
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/communicationstatistics.php
  • Класс: Bitrix\Crm\Activity\CommunicationStatistics
  • Вызов: CommunicationStatistics::getLoadAverages
static function getLoadAverages($ownerTypeId, $ownerId = null)
{
	$activities = static::countRelatedDealActivities($ownerTypeId, $ownerId);
	$allActivities = array_sum($activities);

	$deals = static::countRelatedDeals($ownerTypeId, $ownerId);
	$allDeals = array_sum($deals);

	$result = array('*' => $allDeals > 0 ? $allActivities / $allDeals : 0);

	$dealCategories = array_merge(array_keys($activities), array_keys($deals));
	$dealCategories = array_unique($dealCategories);

	foreach ($dealCategories as $categoryId)
	{
		$numerator = isset($activities[$categoryId]) ? $activities[$categoryId] : 0;
		$denominator = isset($deals[$categoryId]) ? $deals[$categoryId] : 0;

		$result[$categoryId] = $denominator > 0 ? $numerator / $denominator : 0;
	}

	return $result;
}

Добавить комментарий