Problema com data

6 respostas
leandrosu

Boa tarde galera,

Tenho um sistema semelhante a um helpdesk onde o usuario pode abrir um chamado.

Bom o que que acontece, digamos que o FULANO abriu um chamdo pro TI.

Esse chamado automaticamente vem com o status ?Pendente?.

Quando o pessoal do TI for interagir no chamado ( clicar pra visualizar o status automaticamente passa a ser EM ANDAMENTO ).
Mas o que que acontece, por ex: o pessoal deu uma olhada no chamado as 14:42:09 ( status EM ANDAMENTO, tentaram resolver mas nao deu certo ou digamos que acabou o turno ou por qualquer outro motivo eles precisem deixar novamente o status como PENDENTE ) entao eles atualizam o chamado novavemnte para PENDENTE as 14:45:06. No proximo turno o pessoal chega e atualiza novamente para EM ANDAMENTO as 14:50:14 e finalmente eles conseguem resolver as 14:54:24.

Bom eu criei uma tabela no MYSQL que grava tudo isso por ex:

Agora vem o problema, eu preciso gerar um realtorio quando o chamado for RESOLVIDO.

O que eu preciso gerar nesse relatorio é o tempo gasto no trabalho da resolucao do chamado.

Nesse caso seria o ( id2 ? id1 ) + (id4 ? id3 )

Alguem pode me dar uma luz de como fazer ?
Se fosse pra pegar o tempo total era so pegar o ulitmoId ? primeiroId

Mas e assim ?

  • uso mysql e Jsp.

6 Respostas

nel

Cara, eu entendo que o tempo gasto é do Status PENDENTE até apresentar o status RESOLVIDO.
Sendo assim, é pegar onde terá o status PENDENTE com a data/hora do status RESOLVIDO e fazer a diferença entre ambos.

Não é esse o caso?

leandrosu

nel:
Cara, eu entendo que o tempo gasto é do Status PENDENTE até apresentar o status RESOLVIDO.
Sendo assim, é pegar onde terá o status PENDENTE com a data/hora do status RESOLVIDO e fazer a diferença entre ambos.

Não é esse o caso?

Boa tarde Nel,

Pois é, no inicio foi feito assim, mas algum tempo depois o pessoal pediu para implementar isso.

Segue um trecho da conversa: abriu chamado 08:00 no dia 18/01, foi trabalhado nele das 08:10 as 08:30, sem solução, trabalhado das 10:09 as 11:20, ainda sem solução, começado denovo as 15:20 até as 15:30 chamado concluído.

Eu preciso mostrar no relatorio apenas o tempo que o pessoal “trabalhou no chamado” e nao o tempo total do chamado aberto =/

Tem alguma ideia de como posso fazer ?

Abraço

nel

Você tem condições de criar outra coluna na tabela?
Agora eu compreendi sua necessidade.

leandrosu

Tenho sim.

Alguma ideia ?

Abraço

nel

leandrosu:
Tenho sim.

Alguma ideia ?

Abraço

Eu pensei no seguinte, foi algo rápido. Podes criar uma coluna que receba o valor trabalhado somado. A cada horário adicionado ‘EM ANDAMENTO’ você soma as horas.
A primeira vez você vai adicionar como ‘PENDENTE’, quando for adicionar o ‘EM ANDAMENTO’ recupera a hora do ‘PENDENTE’, diminui a atual pela do ‘EM ANDAMENTO’ e grava. O empecilho nisso é você ter que realizar um select antes de persistir e buscar também o valor dessa coluna, para poder somar as novas horas. Assim, quando chegar no status ‘RESOLVIDO’, a coluna ja tem armezada o tempo total.

Não sei se é melhor assim ou buscar ao fim de tudo os devidos intervalos. Mas ai tem que analisar se é melhor tratar no JAVA ou em um SQL.
Vou ver se consigo pensar com calma nisso porque achei interessante :slight_smile:

Mas como estou no trabalho, fica mais dificíl.

leandrosu

nel:
leandrosu:
Tenho sim.

Alguma ideia ?

Abraço

Eu pensei no seguinte, foi algo rápido. Podes criar uma coluna que receba o valor trabalhado somado. A cada horário adicionado ‘EM ANDAMENTO’ você soma as horas.
A primeira vez você vai adicionar como ‘PENDENTE’, quando for adicionar o ‘EM ANDAMENTO’ recupera a hora do ‘PENDENTE’, diminui a atual pela do ‘EM ANDAMENTO’ e grava. O empecilho nisso é você ter que realizar um select antes de persistir e buscar também o valor dessa coluna, para poder somar as novas horas. Assim, quando chegar no status ‘RESOLVIDO’, a coluna ja tem armezada o tempo total.

Não sei se é melhor assim ou buscar ao fim de tudo os devidos intervalos. Mas ai tem que analisar se é melhor tratar no JAVA ou em um SQL.
Vou ver se consigo pensar com calma nisso porque achei interessante :slight_smile:

Mas como estou no trabalho, fica mais dificíl.

Nel,

Valeu amigo, obrigado pela atencao.

Cara no momento essa vai ser a saida,vou criar um novo campo na tabela e armazenar o valor do tempo gasto.
depois faco a soma.

Cara qualquer coisa me adiciona no msn vou tentar achar uma outra solucao e qualquer coisa trocamos uma ideia com mais calma.
Msn: [email removido]

Abraço

Criado 18 de janeiro de 2012
Ultima resposta 18 de jan. de 2012
Respostas 6
Participantes 2