• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/utility/burndownchart.php
  • Класс: BitrixTasksScrumUtilityBurnDownChart
  • Вызов: BurnDownChart::prepareRemainBurnDownChartData
public function prepareRemainBurnDownChartData(
	float $sumStoryPoints,
	SprintRanges $sprintRanges,
	array $completedStoryPointsMap
): array
{
	$remainData = [
		[
			'day' => Loc::getMessage('TASKS_SCRUM_SPRINT_BURN_DOWN_CHART_NULL_DAY_LABEL'),
			'remainValue' => $sumStoryPoints
		]
	];

	$currentWeekDay = $sprintRanges->getCurrentWeekDay();

	foreach ($completedStoryPointsMap as $dayNumber => $remainStoryPoints)
	{
		if (array_key_exists($dayNumber, $sprintRanges->getWeekdays()))
		{
			$realDayNumber = $sprintRanges->getRealDayNumber($dayNumber);
			$remainData[$realDayNumber] = [
				'day' => Loc::getMessage('TASKS_SCRUM_SPRINT_BURN_DOWN_CHART_DAY_LABEL').' '.$realDayNumber,
				'remainValue' => $remainStoryPoints
			];
		}
		else
		{
			$previousWeekday = $sprintRanges->getPreviousWeekdayByDayNumber($dayNumber);
			$realDayNumber = $previousWeekday ? $sprintRanges->getRealDayNumber($previousWeekday) : 0;
			if ($realDayNumber)
			{
				$remainData[$realDayNumber]['remainValue'] = $remainStoryPoints;
			}
		}

		if ($currentWeekDay && $realDayNumber === $currentWeekDay)
		{
			break;
		}
	}

	return array_values($remainData);
}