- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/helper/sort.php
- Класс: BitrixTasksHelperSort
- Вызов: Sort::getSortByStatus
private function getSortByStatus(int $taskId, array $taskIds, string $order): int
{
if (empty($taskIds))
{
return 0;
}
$orderBy = '
STATUS_COMPLETE ASC,
T.DEADLINE ASC
';
if ($order === 'asc')
{
$orderBy = '
STATUS_COMPLETE DESC,
T.DEADLINE DESC
';
}
$sql = "
SELECT
T.ID,
SRT.SORT,
CASE WHEN T.STATUS = '5' THEN '2' ELSE '1' END AS STATUS_COMPLETE
FROM
b_tasks T
LEFT JOIN b_tasks_sorting SRT
ON SRT.TASK_ID = T.ID
WHERE
T.ID IN (".implode(',', $taskIds).")
ORDER BY ". $orderBy ."
LIMIT 2
";
$res = $this->db->Query($sql);
while ($row = $res->fetch())
{
if ((int)$row['ID'] !== $taskId)
{
return (int) $row['ID'];
}
}
return 0;
}