Query: Chamados atribuídos e fechados por Técnico

Boa tarde galera!

Hoje irei postar uma Query com os chamados atribuídos e fechados por cada técnico no GLPI (0.78.3), no geral irá exibir toda a base de dados.

OBJETIVO: Usando uma Query (MySQL) para selecionar todos os chamados atribuídos e fechados pelos técnicos do GLPI e também selecionar por periodo.

Query [1]

/* Toda a base do GLPI */
SELECT
Tecnicos.realname,
COUNT(Chamados.ID) AS 'CH Atribuidos',
(SELECT COUNT(Chamados1.ID)
FROM glpi_tickets As Chamados1
WHERE Chamados1.status IN('closed','solved')
AND Chamados1.users_id_assign = Tecnicos.ID) AS 'CH Fechados'
FROM glpi_tickets As Chamados
INNER JOIN glpi_users As Tecnicos ON(Chamados.users_id_assign = Tecnicos.ID)
WHERE Chamados.status <> 'new'
GROUP BY Tecnicos.ID
ORDER BY COUNT(Chamados.ID) DESC;

Query [2]

/* Seleciona o ANO e Chamados atribuidos e Fechados no ANO descrito */
SET @ano = '2011';
SELECT
Tecnicos.realname,
COUNT(Chamados.ID) AS 'CH Atribuidos',
(SELECT COUNT(Chamados1.ID)
FROM glpi_tickets As Chamados1
WHERE Chamados1.status IN('closed','solved')
AND YEAR(Chamados1.date) = @ano
AND YEAR(Chamados1.closedate) = @ano
AND Chamados1.users_id_assign = Tecnicos.ID) AS 'CH Fechados'
FROM glpi_tickets As Chamados
INNER JOIN glpi_users As Tecnicos ON(Chamados.users_id_assign = Tecnicos.ID)
WHERE Chamados.status <> 'new'
AND YEAR(Chamados.date) = @ano
GROUP BY Tecnicos.ID
ORDER BY COUNT(Chamados.ID) DESC;

Espero que gostem das Query’s e em breve termos muito mais.

Até a próxima!

7 respostas para “Query: Chamados atribuídos e fechados por Técnico”

  1. @Thiago Passamani: SELECT
    Tecnicos.name,
    COUNT(Chamados.ID) AS ‘CH Atribuidos’,
    (SELECT COUNT(Chamados1.ID)
    FROM glpi_tickets As Chamados1
    WHERE Chamados1.status IN(‘closed’,’solved’)
    AND Chamados1.id = TicketsTecnicos.tickets_id) AS ‘CH Fechados’
    FROM glpi_tickets As Chamados
    INNER JOIN glpi_tickets_users As TicketsTecnicos ON(Chamados.id = TicketsTecnicos.tickets_id)
    INNER JOIN glpi_users As Tecnicos ON(TicketsTecnicos.users_id = Tecnicos.ID)
    WHERE Chamados.status ‘new’ and TicketsTecnicos.type = 2 and TicketsTecnicos.users_id in (3)
    GROUP BY Tecnicos.ID
    ORDER BY COUNT(Chamados.ID)

  2. Teste esta consulta abaixo par a versão 0.80 e me retornou o que precisava, segue consulta:

    SELECT
    Tecnicos.name,
    COUNT(Chamados.ID) AS ‘CH Atribuidos’,
    (SELECT COUNT(Chamados1.ID)
    FROM glpi_tickets As Chamados1
    WHERE Chamados1.status IN(‘closed’,’solved’)
    AND Chamados1.id = TicketsTecnicos.tickets_id) AS ‘CH Fechados’
    FROM glpi_tickets As Chamados
    INNER JOIN glpi_tickets_users As TicketsTecnicos ON(Chamados.id = TicketsTecnicos.tickets_id)
    INNER JOIN glpi_users As Tecnicos ON(TicketsTecnicos.users_id = Tecnicos.ID)
    WHERE Chamados.status ‘new’ and TicketsTecnicos.type = 2 and TicketsTecnicos.users_id in (3)
    GROUP BY Tecnicos.ID
    ORDER BY COUNT(Chamados.ID) DESC

    OBS: Especifiquei o Users_ID num in passando o id 3, caso queiram pegar todos ja sabem o que fazer.
    Até.

  3. Ok … é que eu joguei esta query no phpmyadmin, porem não retornou nenhum resultado..

    Mas aguardo seus relatórios.

    Se precisar estou a disposição para ajudar a testa-los.

    Abracos.

  4. @Jean esse query é para listar todos os chamados atribuidos e fechados para os Tecnicos no GLPI. Estou elaborando algumas funções novas para relatorio no GLPI, mas ainda está em fase de teste.

Os comentários estão desativados.