• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/integration/report/handler/callactivity/callactivitygraph.php
  • Класс: BitrixVoximplantIntegrationReportHandlerCallActivityCallActivityGraph
  • Вызов: CallActivityGraph::getWorkingHoursForGraph
private function getWorkingHoursForGraph(): array
{
	$workTimes = $this->getWorkTimesOfNumbers();

	$workingTimeOfNumbers = [];
	foreach ($workTimes as $numberIndex => $workTime)
	{
		$workingTimeOfNumbers[$numberIndex] = TimeHelper::formatNumberWorkTime($workTime);
	}

	if (!$workingTimeOfNumbers)
	{
		return [
			'active' => $this->getDisplayedHours(),
		];
	}

	$numbersWithReversedWorkTime = count(array_filter($workingTimeOfNumbers, static function($time) {
		return $time['TO'] < $time['FROM'];
	}));

	if ($numbersWithReversedWorkTime !== 0 && count($workTimes) > 1)
	{
		return [
			'active' => $this->getDisplayedHours(),
		];
	}

	$workTimeFrom = min(array_column($workingTimeOfNumbers, 'FROM'));
	$workTimeTo = max(array_column($workingTimeOfNumbers, 'TO'));

	return [
		'active' => $this->getActiveHoursByWorktime($workTimeFrom, $workTimeTo),
		'tooltip' => [
			$workTimeFrom,
			$workTimeTo
		]
	];
}