• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/integration/report/view/employeesworkload/employeesworkloadgraph.php
  • Класс: BitrixVoximplantIntegrationReportViewEmployeesWorkloadEmployeesWorkloadGraph
  • Вызов: EmployeesWorkloadGraph::handlerFinallyBeforePassToView
public function handlerFinallyBeforePassToView($reportData)
{
	$result = $this->getConfig();

	$result['yAxes'][0]['logarithmic'] = true;
	$result['yAxes'][0]['treatZeroAs'] = 0.1;

	$pointCount = count($reportData);
	if ($pointCount === 0)
	{
		return $result;
	}

	foreach ($reportData as $point)
	{
		$column['groupingField'] = $point['value']['USER_NAME'];

		if ($point['value']['INCOMING'] > 0)
		{
			$column['value_1'] = $point['value']['INCOMING'];
			$column['targetUrl_1'] = $point['url']['INCOMING'];
			$column['balloon']['count']['value_1'] = $point['value']['INCOMING'];
			$column['balloon']['compare']['value_1'] = $point['value']['INCOMING_COMPARE'];
		}
		else
		{
			//hack to enable 0 value on logarithmic chart
			$column['value_1'] = 0.1;
			$column['balloon']['count']['value_1'] = 0;
			$column['balloon']['compare']['value_1'] = $point['value']['INCOMING_COMPARE'];
		}

		if ($point['value']['OUTGOING'] > 0)
		{
			$column['value_2'] = $point['value']['OUTGOING'];
			$column['targetUrl_2'] = $point['url']['OUTGOING'];
			$column['balloon']['count']['value_2'] = $point['value']['OUTGOING'];
			$column['balloon']['compare']['value_2'] = $point['value']['OUTGOING_COMPARE'];
		}
		else
		{
			$column['value_2'] = 0.1;
			$column['balloon']['count']['value_2'] = 0;
			$column['balloon']['compare']['value_2'] = $point['value']['OUTGOING_COMPARE'];
		}

		if ($point['value']['MISSED'] > 0)
		{
			$column['value_3'] = $point['value']['MISSED'];
			$column['targetUrl_3'] = $point['url']['MISSED'];
			$column['balloon']['count']['value_3'] = $point['value']['MISSED'];
			$column['balloon']['compare']['value_3'] = $point['value']['MISSED_COMPARE'];
		}
		else
		{
			$column['value_3'] = 0.1;
			$column['balloon']['count']['value_3'] = 0;
			$column['balloon']['compare']['value_3'] = $point['value']['MISSED_COMPARE'];
		}

		$result['data'][] = $column;
	}

	$result['series'] = [
		$this->getSeries('1', Loc::getMessage('TELEPHONY_REPORT_GRAPH_EMPLOYEES_WORKLOAD_INCOMING'), '#30d1cb'),
		$this->getSeries('2', Loc::getMessage('TELEPHONY_REPORT_GRAPH_EMPLOYEES_WORKLOAD_OUTGOING'), '#2fc6f5'),
		$this->getSeries('3', Loc::getMessage('TELEPHONY_REPORT_GRAPH_EMPLOYEES_WORKLOAD_MISSED'), '#f54819')
	];

	return $result;
}