Files
SLACK_COORD_RELATORIO/sql/indicadores_semana_glpi.sql
T

35 lines
1.5 KiB
SQL

SELECT
CONCAT(SUBSTR(DATE_FORMAT(NOW(), '%x%v'), 1, 4), '/', SUBSTR(DATE_FORMAT(NOW(), '%x%v'), 5, 2)) AS anomes,
COALESCE(fechados_por_semana.fechados, 0) - COALESCE(abertos_por_semana.abertos, 0) AS saldo,
COALESCE(abertos_por_semana.abertos, 0) AS abertos,
COALESCE(fechados_por_semana.fechados, 0) AS fechados
FROM (
SELECT COUNT(*) AS abertos
FROM glpi_tickets
WHERE is_deleted = false
AND DATE_FORMAT(date, '%x%v') = DATE_FORMAT(NOW(), '%x%v')
AND itilcategories_id IN (
SELECT id
FROM glpi_itilcategories
WHERE JSON_CONTAINS(ancestors_cache, '{"7":7}', '$') OR id = 7
OR JSON_CONTAINS(ancestors_cache, '{"16":16}', '$') OR id = 16
OR JSON_CONTAINS(ancestors_cache, '{"17":17}', '$') OR id = 17
OR JSON_CONTAINS(ancestors_cache, '{"18":18}', '$') OR id = 18
)
) AS abertos_por_semana
CROSS JOIN (
SELECT COUNT(*) AS fechados
FROM glpi_tickets
WHERE closedate IS NOT NULL
AND is_deleted = false
AND DATE_FORMAT(closedate, '%x%v') = DATE_FORMAT(NOW(), '%x%v')
AND itilcategories_id IN (
SELECT id
FROM glpi_itilcategories
WHERE JSON_CONTAINS(ancestors_cache, '{"7":7}', '$') OR id = 7
OR JSON_CONTAINS(ancestors_cache, '{"16":16}', '$') OR id = 16
OR JSON_CONTAINS(ancestors_cache, '{"17":17}', '$') OR id = 17
OR JSON_CONTAINS(ancestors_cache, '{"18":18}', '$') OR id = 18
)
) AS fechados_por_semana;