我必须为我正在从事的项目创建这个甘特图。这是当前活动项目下的任务及其进度的时间表。但是,我遇到了一些奇怪的行为,我不知道如何解决。
首先,我像这样构建查询
--Projects info
SELECT
PRO.PROYECTO_ID task_id,
NULL parent_task_id,
PRO.NOMBRE nombre_proyecto,
PRO.NOMBRE task_name,
NULL start_date,
NULL end_date,
NULL task_progress
FROM
PROYECTOS PRO
WHERE
PRO.ACTIVO = 'Y'
AND EXISTS (SELECT 1
FROM TAREAS T
WHERE T.PROYECTO_ID = PRO.PROYECTO_ID
AND T.AVANCE != 100
AND ((T.FECHA_DESDE BETWEEN :P78_MIN_DATE AND T.FECHA_HASTA)
OR (T.FECHA_HASTA BETWEEN :P78_MIN_DATE AND :P78_MAX_DATE)
OR (T.FECHA_DESDE < :P78_MIN_DATE AND T.FECHA_HASTA > :P78_MAX_DATE))
)
UNION ALL
-- tasks info
SELECT
TAR.TAREA_ID task_id,
PRO.PROYECTO_ID parent_task_id,
PRO.NOMBRE nombre_proyecto,
TAR.NOMBRE task_name,
TAR.FECHA_DESDE start_date,
TAR.FECHA_HASTA end_date,
TAR.AVANCE task_progress
FROM
PROYECTOS PRO
JOIN TAREAS TAR ON TAR.PROYECTO_ID = PRO.PROYECTO_ID
WHERE
PRO.ACTIVO = 'Y'
但是,这里发生了一些不希望的事情,正如您在“Extenciones salta”中看到的,某些项目正在显示不在正在处理的日期范围内的任务,那么简单的解决方案只需将项目查询中的相同范围添加到任务查询中即可,对吧?所以我的查询最终是这样的
--Projects info
SELECT
PRO.PROYECTO_ID task_id,
NULL parent_task_id,
PRO.NOMBRE nombre_proyecto,
PRO.NOMBRE task_name,
NULL start_date,
NULL end_date,
NULL task_progress
FROM
PROYECTOS PRO
WHERE
PRO.ACTIVO = 'Y'
AND EXISTS (SELECT 1
FROM TAREAS T
WHERE T.PROYECTO_ID = PRO.PROYECTO_ID
AND T.AVANCE != 100
AND ((T.FECHA_DESDE BETWEEN :P78_MIN_DATE AND T.FECHA_HASTA)
OR (T.FECHA_HASTA BETWEEN :P78_MIN_DATE AND :P78_MAX_DATE)
OR (T.FECHA_DESDE < :P78_MIN_DATE AND T.FECHA_HASTA > :P78_MAX_DATE))
)
UNION ALL
-- tasks info
SELECT
TAR.TAREA_ID task_id,
PRO.PROYECTO_ID parent_task_id,
PRO.NOMBRE nombre_proyecto,
TAR.NOMBRE task_name,
TAR.FECHA_DESDE start_date,
TAR.FECHA_HASTA end_date,
TAR.AVANCE task_progress
FROM
PROYECTOS PRO
JOIN TAREAS TAR ON TAR.PROYECTO_ID = PRO.PROYECTO_ID
WHERE
PRO.ACTIVO = 'Y'
AND EXISTS (SELECT 1
FROM TAREAS T
WHERE T.TAREA_ID = TAR.TAREA_ID
AND T.AVANCE != 100
AND ((T.FECHA_DESDE BETWEEN :P78_MIN_DATE AND T.FECHA_HASTA)
OR (T.FECHA_HASTA BETWEEN :P78_MIN_DATE AND :P78_MAX_DATE)
OR (T.FECHA_DESDE < :P78_MIN_DATE AND T.FECHA_HASTA > :P78_MAX_DATE))
)
正如您所看到的,由于某种原因整个图表呈灰色,数据仍然存在并且查询工作正常(不在该月的任务不会显示),如果我将鼠标悬停在线条上,它仍然存在给我他们的工具提示。
如果我删除或注释查询的日期过滤器部分,图表将恢复正常。
我还发现,当我在查询的第二部分添加任何条件作为 AND 时,会发生这种情况,它不限于日期验证。
我也尝试过从这些查询中创建视图并从中执行 select * ,但这产生了相同的结果。
我真的迷失了方向,甚至不知道从哪里开始排除故障。非常感谢任何帮助
Apex版本是22.2
预先感谢您花时间阅读本文。
致以最诚挚的问候。马图特里夫
oracle 论坛上有人帮我解决了这个问题。如果有人遇到同样的问题,解决方案是关闭该区域的两个动画属性。