- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/Kanban/ItemPreparer/Counters/ItemCounterActivityResponsible.php
- Класс: BitrixCrmMobileKanbanItemPreparerCountersItemCounterActivityResponsible
- Вызов: ItemCounterActivityResponsible::counters
public function counters(array $item, array $params, ?int $entityAssignedById): CountersResult
{
$counters = [];
$activityCounterTotal = ($item['activityCounterTotal'] ?? 0);
$userId = (int)$params['userId'];
$userData = $item['activitiesByUser'][$userId] ?? [];
$activityError = (int)($userData['activityError'] ?? 0);
$activityIncomingTotal = (int)($userData['incoming'] ?? 0);
$indicator = $this->getIndicator($item, $activityCounterTotal, $userId);
if (empty($userData))
{
$counters[] = $this->itemCounter->getEmptyCounter($activityCounterTotal);
return new CountersResult($counters, $activityCounterTotal, $indicator);
}
$isReckonActivityLessItems = $params['isReckonActivityLessItems'];
if ($activityError)
{
$counters[] = $this->itemCounter->getErrorCounter($activityError);
}
if ($activityIncomingTotal)
{
$counters[] = $this->itemCounter->getIncomingCounter($activityIncomingTotal);
}
if (empty($counters))
{
$counters[] = $isReckonActivityLessItems
? $this->itemCounter->getErrorCounter(ItemCounters::DEFAULT_COUNT_WITH_RECKON_ACTIVITY)
: $this->itemCounter->getEmptyCounter(0);
}
if ($activityError > 0 || $activityIncomingTotal > 0)
{
$activityCounterTotal = $activityError + $activityIncomingTotal;
}
return new CountersResult($counters, $activityCounterTotal, $indicator);
}