БД: P8PGantt - передача зависимостей массивом (всегда)

This commit is contained in:
Mikhail Chechnev 2024-02-29 21:27:21 +03:00
parent 288d16c6b0
commit ba4914d368

View File

@ -1806,7 +1806,6 @@ text="Формат data_grid и gant как в chart"
RTASKS in TGANTT_TASKS -- Коллекция задач диаграммы Ганта RTASKS in TGANTT_TASKS -- Коллекция задач диаграммы Ганта
) )
is is
SDEPS PKG_STD.TLSTRING; -- Буфер для списка зависимых
begin begin
/* Обходим задачи из коллекции */ /* Обходим задачи из коллекции */
if ((RTASKS is not null) and (RTASKS.COUNT > 0)) then if ((RTASKS is not null) and (RTASKS.COUNT > 0)) then
@ -1843,14 +1842,6 @@ text="Формат data_grid и gant как в chart"
if (RTASKS(I).BREAD_ONLY_PROGRESS is not null) then if (RTASKS(I).BREAD_ONLY_PROGRESS is not null) then
PKG_XFAST.ATTR(SNAME => SRESP_ATTR_TASK_RO_PRGRS, BVALUE => RTASKS(I).BREAD_ONLY_PROGRESS); PKG_XFAST.ATTR(SNAME => SRESP_ATTR_TASK_RO_PRGRS, BVALUE => RTASKS(I).BREAD_ONLY_PROGRESS);
end if; end if;
if ((RTASKS(I).RDEPENDENCIES is not null) and (RTASKS(I).RDEPENDENCIES.COUNT > 0)) then
SDEPS := null;
for J in RTASKS(I).RDEPENDENCIES.FIRST .. RTASKS(I).RDEPENDENCIES.LAST
loop
SDEPS := COALESCE(SDEPS, '') || 'taskId' || TO_CHAR(RTASKS(I).RDEPENDENCIES(J)) || ',';
end loop;
PKG_XFAST.ATTR(SNAME => SRESP_ATTR_TASK_DEPS, SVALUE => RTRIM(SDEPS, ','));
end if;
/* Динамические атрибуты */ /* Динамические атрибуты */
if ((RTASKS(I).RATTR_VALS is not null) and (RTASKS(I).RATTR_VALS.COUNT > 0)) then if ((RTASKS(I).RATTR_VALS is not null) and (RTASKS(I).RATTR_VALS.COUNT > 0)) then
for J in RTASKS(I).RATTR_VALS.FIRST .. RTASKS(I).RATTR_VALS.LAST for J in RTASKS(I).RATTR_VALS.FIRST .. RTASKS(I).RATTR_VALS.LAST
@ -1858,6 +1849,15 @@ text="Формат data_grid и gant как в chart"
PKG_XFAST.ATTR(SNAME => RTASKS(I).RATTR_VALS(J).SNAME, SVALUE => RTASKS(I).RATTR_VALS(J).SVALUE); PKG_XFAST.ATTR(SNAME => RTASKS(I).RATTR_VALS(J).SNAME, SVALUE => RTASKS(I).RATTR_VALS(J).SVALUE);
end loop; end loop;
end if; end if;
/* Зависимости */
if ((RTASKS(I).RDEPENDENCIES is not null) and (RTASKS(I).RDEPENDENCIES.COUNT > 0)) then
for J in RTASKS(I).RDEPENDENCIES.FIRST .. RTASKS(I).RDEPENDENCIES.LAST
loop
PKG_XFAST.DOWN_NODE(SNAME => SRESP_ATTR_TASK_DEPS);
PKG_XFAST.VALUE(SVALUE => 'taskId' || TO_CHAR(RTASKS(I).RDEPENDENCIES(J)));
PKG_XFAST.UP();
end loop;
end if;
/* Закрываем задачу */ /* Закрываем задачу */
PKG_XFAST.UP(); PKG_XFAST.UP();
end loop; end loop;