Suporte não-oficial ao OcoMon
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Suporte não-oficial ao OcoMon

Criado e mantido por usuários para usuários
 
InícioInício  PortalPortal  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  
Últimos assuntos
» Nova versão OcoMon
Implementar um histórico de manutençãode equipamento EmptyTer Ago 11, 2020 12:35 am por FabioRK

» Encerrar chamado em nome de Operador
Implementar um histórico de manutençãode equipamento EmptyTer Jan 08, 2019 11:49 am por vafonseca

» Usuário Cancelar Chamado
Implementar um histórico de manutençãode equipamento EmptySeg Nov 19, 2018 11:34 am por vafonseca

» [Resolvido]Qualificação Chamados
Implementar um histórico de manutençãode equipamento EmptyQua Out 24, 2018 12:37 pm por vafonseca

» [Resolvido] Bloquear Campo Descrição para Operador e Todos Usuarios
Implementar um histórico de manutençãode equipamento EmptySeg Set 24, 2018 9:58 am por vafonseca

» Solicitar inserção de email de destino no encerramento
Implementar um histórico de manutençãode equipamento EmptyQua Jan 31, 2018 11:55 am por alex.xavier

» Área e Problemas do Consultar igual ao de Abrir chamado
Implementar um histórico de manutençãode equipamento EmptyTer Set 12, 2017 8:53 am por renatomdm

» FeedBack do usuario
Implementar um histórico de manutençãode equipamento EmptySex Jul 07, 2017 8:25 am por vafonseca

» Paramentrização Ocomon
Implementar um histórico de manutençãode equipamento EmptySex maio 05, 2017 12:51 pm por cristiano.barbosa


 

 Implementar um histórico de manutençãode equipamento

Ir para baixo 
AutorMensagem
ti.admin




Mensagens : 23
Data de inscrição : 04/05/2012

Implementar um histórico de manutençãode equipamento Empty
MensagemAssunto: Implementar um histórico de manutençãode equipamento   Implementar um histórico de manutençãode equipamento EmptyTer Nov 12, 2013 4:42 pm

Gente,

Estava pensando em tentar implementar um histórico de manutenção para os computadores, pra tirar uma base dos computadores que mais necessitaram de manutenção, os menos problemáticos etc...
Tava pensando em implantar ele na area de invmon e até cheguei começar:

Implementar um histórico de manutençãode equipamento 8rr9

Então resolvi pegar um modelo, pois eu até conheço um pouco de php e manipulação de banco de dados, mas não pra tanto também, rsrsrs
Resolvi pegar como modelo o arquivo php da parte de ocorrências também no invmon, que mostra neste mesmo local o histórico de ocorrências de cada equipamento:

Implementar um histórico de manutençãode equipamento 14ue

Peguei só pra usar como um modelo pra que o historico de manutenção gere automatico como esse da ocorrência todas as manutenções realizadas.
Mas de onde tirar as informações de manutenção?
Eu pensei em pegar do campo Solução, lá no encerramento de chamados, onde devemos preencher todas as ações tomadas para corrigir os problemas, ali eu coloco tudo que foi feito pra corrigir, seja configuração, troca de alguma peça etc....
Mas ate então, essa informação não fica registrada em lugar algum, a não ser na base de dados...
Queria que gerasse automatico como o histórico de ocorrências
Com o numero da ocorrência, o problema (que no caso seria a descrição do problema pelo usuário e esse campo tem na tabela ocorrências com o nome de descrição, e também tem na tabela solucoes com o nome de problema), A solução (que seria o meu histórico de manutenção, pois aqui seria exibido todas as soluções realizadas para os problemas que ocorreram com determinado equipamento), Data de abertura de chamado, encerramento, e status (óbvio que se gerassemos um historico e houvesse um chamado em aberto, aquele registro de solução deve aparecer vazio pois o chamado não foi encerrado, portanto não tem nenhuma ação ainda registrada para correção do problema).

E é ai que eu empaco porque não acho jeito de manipular o banco pra me trazer este resultado, segue o codigo da pagina de ocorrências que peguei como modelo:

<?php

/*                        Copyright 2005 Flávio Ribeiro

        This file is part of OCOMON.

        OCOMON is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation; either version 2 of the License, or
        (at your option) any later version.

        OCOMON is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.

        You should have received a copy of the GNU General Public License
        along with Foobar; if not, write to the Free Software
        Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */session_start();

include ("../../includes/include_geral.inc.php");
include ("../../includes/include_geral_II.inc.php");


$cab = new headers;
$cab->set_title(TRANS('TTL_INVMON'));

$auth = new auth;

$auth->testa_user($_SESSION['s_usuario'],$_SESSION['s_nivel'],$_SESSION['s_nivel_desc'],2);

$hojeLog = date ("d-m-Y H:i:s");

//print "<input type='hidden' name='comp_inv' value='$comp_inv'>";
//print "<input type='hidden' name='comp_inst' value='$comp_inst'>";


$qry= "select comp_local from equipamentos where comp_inv = ".$_GET['comp_inv']." and comp_inst=".$_GET['comp_inst']."";
$exec = mysql_query($qry);
$rowLocal = mysql_fetch_array($exec);

$sql = "SELECT o.numero as numero, o.data_abertura as abertura, o.data_fechamento as fechamento, o.telefone as ramal, ".
  "p.problema as problema, s.status as status, l.local as local, l.loc_id as loc_id ".
"FROM ocorrencias AS o left join problemas AS p on o.problema = p.prob_id, status AS s, localizacao as l ".
"WHERE o.status = s.stat_id AND o.local=l.loc_id and o.equipamento = ".$_GET['comp_inv']." ".
"AND o.instituicao = ".$_GET['comp_inst']." order by o.numero";
$commit = mysql_query($sql);
$linhas = mysql_num_rows($commit);

if ($linhas == 0)
{
print "<b><p align=center>".TRANS('TXT_NONE_CALL_CAD_OCOMON_FOR_EQUIP')."</b></p>";
print "<table width='100%'>";
print "<tr><td align='left' width='80%'><a onClick= \"javascript:popup_alerta_wide('../../ocomon/geral/incluir.php?invTag=".$_GET['comp_inv']."&invInst=".$_GET['comp_inst']."&invLoc=".$rowLocal['comp_local']."')\">".TRANS('TXT_OPEN_NEW_OCCO_EQUIP')."</a></td><td align='right'><input type='button' class='minibutton' value='".TRANS('LINK_CLOSE')."' onClick=\"javascript:self.close()\"</td></tr>";
print "</table>";
exit;
}
else
{
print "<br>";
print "<table class='corpo'>";
print "<tr>";
print "<TD width='500' align='left'><B>".TRANS('MNL_CAD_EQUIP')." ".$_GET['comp_inv'].": <font color='red'>".$linhas."</font> ".TRANS('TXT_CALL_IN_OCOMON').":</B></TD>";
print "<TD width='100' align='left'></td>";
print "<TD width='100' align='left'></TD>";
print "<TD width='200' align='left'></TD>";
print "</tr>";
print "</table><br>";
}

print "<table class='corpo2'>";
print "<TR class='header'><td class='line'>".TRANS('OCO_FIELD_NUMBER')."</TD><td class='line'>".TRANS('OCO_FIELD_PROB')."</TD><td class='line'>".TRANS('OCO_SEL_OPEN')."</TD><td class='line'>".TRANS('OCO_SEL_CLOSE')."</TD><td class='line'>".TRANS('COL_SITUAC')."</TD>";

$j=2;
$cont=0;
while ($row = mysql_fetch_array($commit))
{
$cont++;
if ($j % 2)
{
$trClass = "lin_par";
}
else
{
$trClass = "lin_impar";
}
$j++;
print "<tr class=".$trClass." id='linhax".$j."' onMouseOver=\"destaca('linhax".$j."','".$_SESSION['s_colorDestaca']."');\" onMouseOut=\"libera('linhax".$j."','".$_SESSION['s_colorLinPar']."','".$_SESSION['s_colorLinImpar']."');\"  onMouseDown=\"marca('linhax".$j."','".$_SESSION['s_colorMarca']."');\">";

$sqlSubCall = "select * from ocodeps where dep_pai = ".$row['numero']." or dep_filho=".$row['numero']."";
$execSubCall = mysql_query($sqlSubCall) or die (TRANS('MSG_ERR_RESCUE_INFO_SUBCALL').'<br>'.$sqlSubCall);
$regSub = mysql_num_rows($execSubCall);
if ($regSub > 0) {
#É CHAMADO PAI?
$sqlSubCall = "select * from ocodeps where dep_pai = ".$row['numero']."";
$execSubCall = mysql_query($sqlSubCall) or die (TRANS('MSG_ERR_RESCUE_INFO_SUBCALL').'<br>'.$sqlSubCall);
$regSub = mysql_num_rows($execSubCall);
$comDeps = false;
while ($rowSubPai = mysql_fetch_array($execSubCall)){
$sqlStatus = "select o.*, s.* from ocorrencias o, `status` s  where o.numero=".$rowSubPai['dep_filho']." and o.`status`=s.stat_id and s.stat_painel not in (3) ";
$execStatus = mysql_query($sqlStatus) or die (TRANS('MSG_ERR_RESCUE_INFO_STATUS_CALL_SON').'<br>'.$sqlStatus);
$regStatus = mysql_num_rows($execStatus);
if ($regStatus > 0) {
$comDeps = true;
}
}
if ($comDeps) {
$imgSub = "<img src='".ICONS_PATH."view_tree_red.png' width='16' height='16' title='".TRANS('FIELD_CALL_BOND_HANG')."'>";
} else
$imgSub =  "<img src='".ICONS_PATH."view_tree_green.png' width='16' height='16' title='".TRANS('FIELD_CALL_BOND_NOT_HANG')."'>";
} else
$imgSub = "";

$qryImg = "select * from imagens where img_oco = ".$row['numero']."";
$execImg = mysql_query($qryImg) or die (TRANS('MSG_ERR_RESCUE_INFO_IMAGE'));
$rowTela = mysql_fetch_array($execImg);
$regImg = mysql_num_rows($execImg);
if ($regImg!=0) {
$linkImg = "<a onClick=\"javascript:popupWH('../../includes/functions/showImg.php?file=".$row['numero']."&cod=".$rowTela['img_cod']."',".$rowTela['img_largura'].",".$rowTela['img_altura'].")\"><img src='".ICONS_PATH."attach2.png'></a>";
} else $linkImg = "";


print "<td class='line'><a onClick= \"javascript:popup_alerta('../../ocomon/geral/mostra_consulta.php?popup=true&numero=".$row['numero']."')\"><font color='blue'>".$row['numero']."</font></a>".$imgSub."</TD>";
print "<td class='line'>".$linkImg."&nbsp; ".$row['problema']."</TD>";
print "<td class='line'>".$row['abertura']."</TD>";
print "<td class='line'>".$row['fechamento']."</TD>";
print "<td class='line'>".$row['status']."</TD>";
print "</TR>";
$invRamal = $row['ramal'];
}
print "</TABLE>";

print "<table width='100%'>";
print "<tr><td align='left' width='80%'><a onClick= \"javascript:popup_alerta_wide('../../ocomon/geral/incluir.php?invTag=".$_GET['comp_inv']."&invInst=".$_GET['comp_inst']."&invLoc=".$rowLocal['comp_local']."&telefone=".$invRamal."')\">".TRANS('TXT_OPEN_NEW_OCCO_EQUIP')."</a></td><td align='right'><input type='button' class='minibutton' value='".TRANS('LINK_CLOSE')."' onClick=\"javascript:self.close()\"</td></tr>";
print "</table>";

$cab->set_foot();
print "</body>";
print "</html>";
?>

Simplesmente estou em cima disso a uns 3 dias de trabalho e não sai do chão, ja tentei de várias maneiras, e o meu x da questão é bem ali mesmo no seletc inicial que puxa as tabelas pra exibir as informações.
Se alguem ai que tem mais conhecimento puder me dar uma idéia, do que podería ser feito, se o tal arquivo talvez não possa servir de exemplo...
Sei la qualquer idéia é bem vinda...

Desde ja obrigado!!!
Ir para o topo Ir para baixo
 
Implementar um histórico de manutençãode equipamento
Ir para o topo 
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
Suporte não-oficial ao OcoMon :: Sua primeira categoria :: GERAL :: Customização-
Ir para: