Schedule GLPI report by business day
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
-- Query diaria base. No workflow N8N, a data alvo e substituida dinamicamente.
|
||||
-- Query base por periodo. No workflow N8N, as datas sao substituidas dinamicamente.
|
||||
-- Regra:
|
||||
-- - abertos: glpi_tickets.date na data alvo
|
||||
-- - fechados: glpi_tickets.closedate na data alvo
|
||||
-- - abertos: glpi_tickets.date entre DATA_INICIO e DATA_FIM
|
||||
-- - fechados: glpi_tickets.closedate entre DATA_INICIO e DATA_FIM
|
||||
-- - fechados podem ter sido abertos em dias/semanas anteriores
|
||||
-- - categorias filtradas pelas arvores 7, 16, 17 e 18
|
||||
|
||||
SELECT
|
||||
'{DATA_ALVO}' AS data_alvo,
|
||||
'{DATA_INICIO}' AS data_inicio,
|
||||
'{DATA_FIM}' AS data_fim,
|
||||
COALESCE(abertos.abertos, 0) AS abertos,
|
||||
COALESCE(fechados.fechados, 0) AS fechados,
|
||||
COALESCE(fechados.fechados, 0) - COALESCE(abertos.abertos, 0) AS saldo,
|
||||
@@ -19,7 +20,8 @@ FROM
|
||||
SELECT COUNT(*) AS abertos
|
||||
FROM glpi_tickets
|
||||
WHERE is_deleted = false
|
||||
AND DATE(date) = '{DATA_ALVO}'
|
||||
AND date >= '{DATA_INICIO}'
|
||||
AND date < DATE_ADD('{DATA_FIM}', INTERVAL 1 DAY)
|
||||
AND itilcategories_id IN (
|
||||
SELECT id FROM glpi_itilcategories
|
||||
WHERE JSON_CONTAINS(ancestors_cache, '{"7":7}') OR id = 7
|
||||
@@ -34,7 +36,8 @@ CROSS JOIN
|
||||
FROM glpi_tickets
|
||||
WHERE closedate IS NOT NULL
|
||||
AND is_deleted = false
|
||||
AND DATE(closedate) = '{DATA_ALVO}'
|
||||
AND closedate >= '{DATA_INICIO}'
|
||||
AND closedate < DATE_ADD('{DATA_FIM}', INTERVAL 1 DAY)
|
||||
AND itilcategories_id IN (
|
||||
SELECT id FROM glpi_itilcategories
|
||||
WHERE JSON_CONTAINS(ancestors_cache, '{"7":7}') OR id = 7
|
||||
@@ -80,7 +83,10 @@ CROSS JOIN
|
||||
FROM glpi_tickets t
|
||||
LEFT JOIN glpi_itilcategories c ON c.id = t.itilcategories_id
|
||||
WHERE t.is_deleted = false
|
||||
AND (DATE(t.date) = '{DATA_ALVO}' OR DATE(t.closedate) = '{DATA_ALVO}')
|
||||
AND (
|
||||
(t.date >= '{DATA_INICIO}' AND t.date < DATE_ADD('{DATA_FIM}', INTERVAL 1 DAY))
|
||||
OR (t.closedate IS NOT NULL AND t.closedate >= '{DATA_INICIO}' AND t.closedate < DATE_ADD('{DATA_FIM}', INTERVAL 1 DAY))
|
||||
)
|
||||
AND t.itilcategories_id IN (
|
||||
SELECT id FROM glpi_itilcategories
|
||||
WHERE JSON_CONTAINS(ancestors_cache, '{"7":7}') OR id = 7
|
||||
@@ -101,7 +107,10 @@ CROSS JOIN
|
||||
FROM glpi_tickets t
|
||||
LEFT JOIN glpi_entities e ON e.id = t.entities_id
|
||||
WHERE t.is_deleted = false
|
||||
AND (DATE(t.date) = '{DATA_ALVO}' OR DATE(t.closedate) = '{DATA_ALVO}')
|
||||
AND (
|
||||
(t.date >= '{DATA_INICIO}' AND t.date < DATE_ADD('{DATA_FIM}', INTERVAL 1 DAY))
|
||||
OR (t.closedate IS NOT NULL AND t.closedate >= '{DATA_INICIO}' AND t.closedate < DATE_ADD('{DATA_FIM}', INTERVAL 1 DAY))
|
||||
)
|
||||
AND t.itilcategories_id IN (
|
||||
SELECT id FROM glpi_itilcategories
|
||||
WHERE JSON_CONTAINS(ancestors_cache, '{"7":7}') OR id = 7
|
||||
|
||||
Reference in New Issue
Block a user