• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/integrations/report/eventhandler.php
  • Класс: BitrixImOpenLinesIntegrationsReportEventHandler
  • Вызов: EventHandler::buildStaffCutStatistics
static function buildStaffCutStatistics()
{
	$widget = new Widget();
	$widget->setGId(Util::generateUserUniqueId());
	$widget->setWidgetClass(BaseWidget::getClassName());
	$widget->setViewKey(GroupedDataGrid::VIEW_KEY);
	$widget->setCategoryKey('open_lines');
	$widget->setBoardId('open_lines_report_base_board');

	$widget->getWidgetHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_STAFF_CUT_WIDGET_TITLE_NEW'));
	$widget->addConfigurations($widget->getWidgetHandler(true)->getConfigurations());


	$contentment = new Report();
	$contentment->setGId(Util::generateUserUniqueId());
	$contentment->setReportClassName(Treatment::getClassName());
	$contentment->setWidget($widget);
	$contentment->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_CONTENTMENT_TITLE'));
	$contentment->getReportHandler(true)->updateFormElementValue('groupingBy', Treatment::GROUP_BY_RESPONSIBLE);
	$contentment->getReportHandler(true)->updateFormElementValue('calculate', Treatment::WHAT_WILL_CALCULATE_CONTENTMENT);
	$contentment->addConfigurations($contentment->getReportHandler(true)->getConfigurations());

	$widget->addReports($contentment);

	$allTreatmentCount = new Report();
	$allTreatmentCount->setGId(Util::generateUserUniqueId());
	$allTreatmentCount->setReportClassName(Treatment::getClassName());
	$allTreatmentCount->setWidget($widget);
	$allTreatmentCount->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_ALL_TREATMENT_COUNT_TITLE'));
	$allTreatmentCount->getReportHandler(true)->updateFormElementValue('groupingBy', Treatment::GROUP_BY_RESPONSIBLE);
	$allTreatmentCount->getReportHandler(true)->updateFormElementValue('calculate', Treatment::WHAT_WILL_CALCULATE_ALL);
	$allTreatmentCount->addConfigurations($allTreatmentCount->getReportHandler(true)->getConfigurations());
	$widget->addReports($allTreatmentCount);


	$firstTreatmentCount = new Report();
	$firstTreatmentCount->setGId(Util::generateUserUniqueId());
	$firstTreatmentCount->setReportClassName(Treatment::getClassName());
	$firstTreatmentCount->setWidget($widget);
	$firstTreatmentCount->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_FIRST_TREATMENT_COUNT_NUMBER_BLOCK_TITLE_NEW'));
	$firstTreatmentCount->getReportHandler(true)->updateFormElementValue('groupingBy', Treatment::GROUP_BY_RESPONSIBLE);

	$firstTreatmentCount->getReportHandler(true)->updateFormElementValue('calculate', Treatment::WHAT_WILL_CALCULATE_FIRST);
	$firstTreatmentCount->addConfigurations($firstTreatmentCount->getReportHandler(true)->getConfigurations());
	$widget->addReports($firstTreatmentCount);


	$secondTreatmentCount = new Report();
	$secondTreatmentCount->setGId(Util::generateUserUniqueId());
	$secondTreatmentCount->setReportClassName(Treatment::getClassName());
	$secondTreatmentCount->setWidget($widget);
	$secondTreatmentCount->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_DUPLICATE_TREATMENT_COUNT_NUMBER_BLOCK_TITLE_NEW'));
	$secondTreatmentCount->getReportHandler(true)->updateFormElementValue('groupingBy', Treatment::GROUP_BY_RESPONSIBLE);

	$secondTreatmentCount->getReportHandler(true)->updateFormElementValue('calculate', Treatment::WHAT_WILL_CALCULATE_DUPLICATE);
	$secondTreatmentCount->addConfigurations($secondTreatmentCount->getReportHandler(true)->getConfigurations());
	$widget->addReports($secondTreatmentCount);

	$appointedTreatmentCount = new Report();
	$appointedTreatmentCount->setGId(Util::generateUserUniqueId());
	$appointedTreatmentCount->setReportClassName(Treatment::getClassName());
	$appointedTreatmentCount->setWidget($widget);
	$appointedTreatmentCount->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_APPOINTED_TREATMENT_COUNT_NUMBER_BLOCK_TITLE'));
	$appointedTreatmentCount->getReportHandler(true)->updateFormElementValue('groupingBy', Treatment::GROUP_BY_RESPONSIBLE);
	$appointedTreatmentCount->getReportHandler(true)->updateFormElementValue('calculate', Treatment::WHAT_WILL_CALCULATE_ALL_APPOINTED);
	$appointedTreatmentCount->addConfigurations($appointedTreatmentCount->getReportHandler(true)->getConfigurations());
	$widget->addReports($appointedTreatmentCount);


	$answeredTreatmentCount = new Report();
	$answeredTreatmentCount->setGId(Util::generateUserUniqueId());
	$answeredTreatmentCount->setReportClassName(Treatment::getClassName());
	$answeredTreatmentCount->setWidget($widget);
	$answeredTreatmentCount->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_ANSWERED_TREATMENT_COUNT_NUMBER_BLOCK_TITLE'));
	$answeredTreatmentCount->getReportHandler(true)->updateFormElementValue('groupingBy', Treatment::GROUP_BY_RESPONSIBLE);

	$answeredTreatmentCount->getReportHandler(true)->updateFormElementValue('calculate', Treatment::WHAT_WILL_CALCULATE_ANSWERED);
	$answeredTreatmentCount->addConfigurations($answeredTreatmentCount->getReportHandler(true)->getConfigurations());
	$widget->addReports($answeredTreatmentCount);

	$skippedTreatmentCount = new Report();
	$skippedTreatmentCount->setGId(Util::generateUserUniqueId());
	$skippedTreatmentCount->setReportClassName(Treatment::getClassName());
	$skippedTreatmentCount->setWidget($widget);
	$skippedTreatmentCount->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_SKIPPED_TREATMENT_COUNT_NUMBER_BLOCK_TITLE'));
	$skippedTreatmentCount->getReportHandler(true)->updateFormElementValue('groupingBy', Treatment::GROUP_BY_RESPONSIBLE);
	$skippedTreatmentCount->getReportHandler(true)->updateFormElementValue('calculate', Treatment::WHAT_WILL_CALCULATE_SKIPPED);
	$skippedTreatmentCount->addConfigurations($skippedTreatmentCount->getReportHandler(true)->getConfigurations());
	$widget->addReports($skippedTreatmentCount);


	$averageAnswerTime = new Report();
	$averageAnswerTime->setGId(Util::generateUserUniqueId());
	$averageAnswerTime->setReportClassName(Dialog::getClassName());
	$averageAnswerTime->setWidget($widget);
	$averageAnswerTime->getReportHandler(true)->updateFormElementValue('label', Loc::getMessage('REPORT_AVERAGE_TIME_TO_ANSWER_TITLE'));
	$averageAnswerTime->getReportHandler(true)->updateFormElementValue('groupingBy', Dialog::GROUP_BY_RESPONSIBLE);
	$averageAnswerTime->getReportHandler(true)->updateFormElementValue('calculate', Dialog::WHAT_WILL_CALCULATE_AVERAGE_TIME_TO_ANSWER);
	$averageAnswerTime->addConfigurations($averageAnswerTime->getReportHandler(true)->getConfigurations());
	$widget->addReports($averageAnswerTime);





	return $widget;
}