© 2010 Thiago Passamani Resultado View por Empresa

Query de Chamados Abertos por Grupo no GLPI

Boa tarde galera,

Vou ensinar “basicamente” uma VIEW no MySQL com algumas tabelas
do GLPI para facilitar suas vidas… Rsrss…

OBJETIVO: Selecionar todos os chamados abertos no GLPI e separar por Grupo/Empresa e no final gerar um resultado total de chamados registrados.

Como eu utilizo os grupos do GLPI como “Empresas”, criei uma VIEW para verificar a quantidade de chamados abertos por Grupo/Empresas sem a necessidade de ficar executando minha QUERY sempre.

Para criar basta executar a QUERY abaixo no phpMyAdmin ou em qualquer gerenciador de bando de dados (SGBD) para MySQL.

CREATE VIEW glpi_view_por_empresa AS
SELECT Grupos.name AS Empresa, COUNT(Chamados.ID) AS Chamados_Abertos
FROM (glpi_tracking AS Chamados
INNER JOIN glpi_groups AS Grupos ON((Chamados.FK_group = Grupos.ID)))
WHERE (Chamados.FK_group = Grupos.ID)
GROUP BY Chamados.FK_group
UNION
SELECT 'Total de Chamados' AS Empresa, COUNT(Chamados.ID) AS Chamados_Abertos
FROM glpi_tracking AS Chamados
WHERE (Chamados.FK_group <> '0');

Explicando:

- Criando a View chamada “glpi_view_por_empresa”:

CREATE VIEW glpi_view_por_empresa AS

- Seleciona o nome do Grupo/Empresa e faz uma contagem dos ch. abertos usando as tabelas “glpi_groups” e “glpi_tracking” utilizando INNET JOIN:

SELECT Grupos.name AS Empresa, COUNT(Chamados.ID) AS Chamados_Abertos
FROM (glpi_tracking AS Chamados
INNER JOIN glpi_groups AS Grupos ON((Chamados.FK_group = Grupos.ID)))
WHERE (Chamados.FK_group = Grupos.ID)
GROUP BY Chamados.FK_group

- Unindo dois SELECT’s com UNION

UNION

- Agora faço um select para gerar o Total de Chamados já abertos:

SELECT 'Total de Chamados' AS Empresa, COUNT(Chamados.ID) AS Chamados_Abertos
FROM glpi_tracking AS Chamados
WHERE (Chamados.FK_group <> '0');

Agora para verificar o resultado, basta fazer um SELECT na VIEW, veja como é simples:

SELECT * FROM glpi_view_por_empresa;

O resultado será esse:

Obs: Apaguei o nome das empresa para não ter problemas.

Espero que gostem, nos próximos post estarei colocando mais querys para auxiliar com o GLPI.

Até próxima…

19 Comments

  1. Raphael Hora
    Posted 25 de julho de 2010 at 14:41 | #

    Thiago.
    Parabens pelo site.
    Gostaria de uma ajuda.
    Criei o View como você colocou, mais tem como fazer para filtrar com os chamados de uma data certa. Como do mes de junho?
    Grato.

    ResponderResponder
  2. Posted 26 de julho de 2010 at 8:58 | #

    Valeu Raphael, bom existe sim é só acresentar aos dois WHERE as linhas

    AND MONTH(Chamados.date) = '07'
    AND YEAR(Chamados.date) = '2010'
    

    Fiz essa query que pega o mês e ano corrente, porém ela não funciona com VIEW
    mas basta comentar SET e descomentar as linhas que estão com os valores fixos que funciona, mas vai ser uma VIEW especifica para aquele mês e ano.

    Veja a query:

    /* Seta as variaveis mes e ano - Ambos Corrente */
    SET @mes = MONTH(NOW());
    SET @ano = YEAR(NOW());
    
    /* Seta as variaveis mes e ano - Passando os valores */
    -- SET @mes = '07';
    -- SET @ano = '2010';
    
    SELECT Grupos.name AS Empresa, COUNT(Chamados.ID) AS Chamados_Abertos
    	FROM glpi_tracking AS Chamados
    	INNER JOIN glpi_groups AS Grupos ON(Chamados.FK_group = Grupos.ID)
    	WHERE (Chamados.FK_group = Grupos.ID)
    	AND MONTH(Chamados.date) = @mes
    	AND YEAR(Chamados.date) = @ano
    --	AND MONTH(Chamados.date) = '07'
    --	AND YEAR(Chamados.date) = '2010'
    	GROUP BY Chamados.FK_group
    UNION
    	SELECT 'Total de Chamados' AS Empresa, COUNT(Chamados.ID) AS Chamados_Abertos
    		FROM glpi_tracking AS Chamados
    		WHERE (Chamados.FK_group <> '0')
    		AND MONTH(Chamados.date) = @mes
    		AND YEAR(Chamados.date) = @ano
    	--	AND MONTH(Chamados.date) = '07'
    	--	AND YEAR(Chamados.date) = '2010'
    

    Qualquer dúvida me fala ok.

    ResponderResponder
  3. Posted 26 de julho de 2010 at 11:49 | #

    Corrigindo o erro, junho é mês ’06′:

    -- Junho
    AND MONTH(Chamados.date) = '06'
    AND YEAR(Chamados.date) = '2010'
    
    ResponderResponder
  4. Jair
    Posted 27 de julho de 2010 at 12:06 | #

    Bom dia Thiago, estou usando o GLPI a pouco tempo na minha empresa, com o intuito de registrar as ocorrências de TI. Me deparei com um problema. Depois de cadastrar diversos usuários normalmente, o GLPI agora cadastra o usuário, só que não aparece no sistema. Baixei o Dump XML do banco, esses usuários aparecem todos no banco cadastrados mas nada no GLPI. Isso começou depois que eu exclui um usuário do sistema. Sabe alguma forma de me ajudar com isso???

    ResponderResponder
  5. Posted 27 de julho de 2010 at 12:25 | #

    @Jair Boa tarde, sim posso te ajudar, mas preciso saber qual é o método de autenticação utilizado?

    ResponderResponder
  6. Jair
    Posted 27 de julho de 2010 at 12:32 | #

    Uso método normal, não uso Ldap nem nada, só cadastro no sistema e acesso. Não sei se respondi a sua pergunta.

    ResponderResponder
  7. Posted 27 de julho de 2010 at 13:25 | #

    @Jair você esta colocando um perfil de acesso para esse usuário? Outra coisa faz um dump mysql e manda pra mim a base de dados.

    ResponderResponder
  8. Jair
    Posted 27 de julho de 2010 at 13:37 | #

    me fala seu msn pra eu ti passar o arquivo

    ResponderResponder
  9. Posted 27 de julho de 2010 at 13:49 | #

    Manda um email para contato@thiagopassamani.com.br

    ResponderResponder
  10. felipe
    Posted 2 de setembro de 2010 at 10:04 | #

    Thiago estou com um problema na minha empresa, usamos o GLPI para controlar nossos chamados. Cara eu trabalho em uma das matrizes e o GLPI aki funciona bem. Agora é que ta minha gerente quer que o pessoal da filial começe a usar e nos não sabemos como fazer para dividir, assim os chamado de são paulo tem que ficar em são paulo e da matriz que é no rio de janeiro tem que ficar no rio. lembrando que o ´GLPI esta sincronizando com o AD que replica aki e no rio de janeiro.

    ResponderResponder
  11. Posted 6 de setembro de 2010 at 8:57 | #

    @Felipe: Temos que estudar o seu caso, faz o seguinte me manda um email como está implantado ai na sua empresa e como você precisa que funcione, ok?

    ResponderResponder
  12. Posted 19 de setembro de 2011 at 15:55 | #

    Thiago, boa tarde!
    Já havia escrito anteriormente sobre a geração de relatórios com gráficos. Porém com as informações que possuo ainda não consegui implementar meu GLPI para atender nossa necessidade. “localhost/glpi/front/stat.tracking.php?type=user&date1=2010-09-19&submit=Atualizar&date2=2011-09-19&showgraph=1″
    Caminho: tickets -> estatística -> por chamado -> “opção gráfico” sim -> atualizar.
    Deixo bem claro que este gerando os relatórios originalmente (versão GLPI 0.78.1).
    Neste relatório, gostaria que imprimi se na tela, vários conjuntos de gráficos, cada conjunto referente a um técnico que atendeu o chamado.
    Minhas limitações: não consigo compreender os arquivos para montar mina query em SQL.

    ResponderResponder
  13. Posted 19 de setembro de 2011 at 16:46 | #

    @Leandro você quer que o GLPI gere esses relatórios pra você, é isso? Sugiro que gere uma “query sql” para os fins de relatório ou implemente os relatórios já existentes. No GLPI essa parte de relatório ainda está bem fraca nessa versão.

    Caso queira visualizar apenas gráfico você precisa colocar em “Mostrar Gráfico” como “Sim” e colocar por Técnico do Chamado.

    ResponderResponder
  14. Posted 20 de setembro de 2011 at 9:47 | #

    @Thiago Passamani:
    Sim eh isso mesmo.
    Gostaria de implementar os mesmos arquivos que já estão funcionando e gerando o gráfico. Porém para este relatório, a função do query SQL entra em um loop contado pela existência do “técnico”, e implementaria a query SQL que já existe para selecionar por técnico. Fazendo isso, iria imprimir vários conjuntos de gráficos, cada dois gráficos representaria cada técnico.
    Assim teria o mesmo relatório segmentado por técnico. – PS. ñ consegui entender o funcionamento e dos scripts :p – []‘s

    ResponderResponder
  15. Posted 21 de setembro de 2011 at 9:24 | #

    @Leandro Augusto: Nesse caso sugiro fazer a Query e gerar os gráficos no Excel, pois para conseguir você precisará modificar alguns scripts e precisa de um pouco de conhecimento a respeito.

    ResponderResponder
  16. Thiago Carlos
    Posted 7 de novembro de 2011 at 13:33 | #

    Ola, estou tendo problemas com o GLPI, preciso configura-lo e não sei como posso fazer isso, alguem poderia me ajudar pois preciso colocar o Help Desk no ar o mais rapido possive.
    Segue meu e-mail para contato.

    thiag_o_15@hotmail.com

    ResponderResponder
  17. Thiago Carlos
    Posted 7 de novembro de 2011 at 14:17 | #

    quero saber se posso fazer uma customização na parte de menus, como cadastrar as opções no GLPI, para o usuario ter a opção na hora de abrir o chamado. Mesmo para o administrador ter os opções simples de visualização de chamados, resposta, um layout para o GLPI.

    thiag_o_15@hotmail.com
    Aguardo contato !

    ResponderResponder
  18. Posted 7 de novembro de 2011 at 15:31 | #

    Thiago é muito simples, mas preciso saber o que precisa configurar.

    ResponderResponder
  19. Bruno Gomes
    Posted 5 de dezembro de 2011 at 12:14 | #

    Quando executei o script no phpMyAdmin deu erro,

    #1146 – Table ‘glpi.glpi_tracking’ doesn’t exist

    Uso a versão 0.80.5 do GLPI, muda alguma coisa com relação ao nome de algumas tabelas/campos?

    ResponderResponder

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*

Notifique-me de novos comentários via e-mail. Você também pode se inscrever sem comentar.

Stop SOPA