<?php
include("../sol/sessao.php");
//Conecta ao banco e abre query
$dados = new dados();
$dados->get_conexao();
//Coloca meu departamento como padrao
if (empty($_SERVER['QUERY_STRING'])) $_GET["filtro"] = "EncaminhadosAoMeuDepartamento";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>SolBT - <?=$sitenome?></title>
<link rel="StyleSheet" type="text/css" href="../sol/includes/estilos.css" id="estilo" />
<script language='JavaScript' src='../sol/includes/FuncoesTela.js' type="text/javascript"></script>
<script language='JavaScript' type="text/javascript">
<!--
function BuscaID()
{
var er = /[0-9]{1,}/;
b = document.getElementById('edtID').value;
if (document.getElementById('edtID').value == '')
{
window.alert('Campo ID do chamado deve ser preenchido!');
document.getElementById('edtID').focus();
}
else
{
if(!er.test(b))
{
window.alert('Campo ID do chamado inválido!');
document.getElementById('edtID').value = '';
document.getElementById('edtID').focus();
}
else
{
window.open('chamados.php?filtro=ID&id=' + document.getElementById('edtID').value, '_self');
}
}
}
-->
</script>
</head>
<body>
<?php
include("../sol/includes/menus.php");
?>
<table width="100%">
<?php
include("../sol/includes/top.php");
?>
<!-- CONTEUDO DA PAGINA -->
<tr>
<td id="Conteudo">
<br />
<!-- FILTROS DO USUARIO -->
<table width="100%" border="0">
<tr>
<td class="Titulo">Acompanhar chamados</td>
<td align="right" valign="middle">
Filtros simples: <input type="button" name="btnEncaminhadosAoMeuDepartamento" value="Meu departamento" onclick="window.open('chamados.php?filtro=EncaminhadosAoMeuDepartamento', '_self');" title="Ver chamados encaminhados ao meu departamento..." />
<input type="button" name="btnAbertosPorMim" value="Abertos por mim" onclick="window.open('chamados.php?filtro=AbertosPorMim', '_self');" title="Ver chamados abertos por mim..." />
<input type="button" name="btnAlteradosPorMim" value="Alterados por mim" onclick="window.open('chamados.php?filtro=AlteradosPorMim', '_self');" title="Ver chamados cuja última alteração foi feita por mim..." />
ID: <input type="text" id="edtID" value="" maxlength="7" size="5" title="Localizar um chamado pelo código." />
<input type="button" name="btnID" value="OK" onclick="BuscaID();" />
<input type="button" name="btnGeral" value="Geral" onclick="window.open('chamados.php?geral', '_self');" title="Ver últimos chamados lançados no geral..." />
</td>
</tr>
</table>
<!-- FIM DE FILTROS DO USUARIO -->
<br />
<em><? if (!empty($_GET["id"])) echo "Localizando chamado "; else { if ($_GET["filtro"] != "pesquisa") echo "Últimos 30 chamados "; } ; switch ($_GET["filtro"]) { case "AbertosPorMim": echo "abertos por mim"; break; case "EncaminhadosAoMeuDepartamento": echo "encaminhados ao meu departamento"; break; case "pesquisa": echo "Resultados da pesquisa"; break; case "AlteradosPorMim": echo "alterados/processados recentemente por mim"; break; case "ID": echo " com o código (ID) ".str_pad($_GET["id"], 7, "0", STR_PAD_LEFT); break; default: echo "(geral)"; } ?></em><br /> <br />
<div id="r_pesq"></div>
<table cellspacing="1" cellpadding="3" style="background-color:#666666;" width="100%">
<tr style="color:#FFFFFF; font-weight:bold;">
<td align="center" width="50">ID</td>
<td>Título</td>
<td align="center">Andamento</td>
<td align="center" width="50">Data</td>
<td align="center" width="50">Prazo</td>
<td align="center">Solicitante/Cliente</td>
<td align="center" width="50">Prioridade</td>
<td align="center">Sistema</td>
<td align="center" width="50">Tipo</td>
<td align="center">Módulo</td>
</tr>
<?php
//Lista prioridades
$sql = "SELECT * FROM prioridades ORDER BY nivel ASC";
$rs = mysql_query($sql);
$i = 0;
$prioridades = array();
$pricolor = array();
$cnt = mysql_num_rows($rs);
while ($reg = mysql_fetch_array($rs))
{
$prioridades[$i] = $reg["prioridade"];
$pricolor[$i] = getCorPrioridade($i, $cnt);
$i++;
}
//Lista chamados
$sql = "SELECT
c.*, a.andamento as s_andamento, u.username, p.prioridade AS s_prioridade, p.nivel,
s.sistema AS s_sistema, t.tipo as s_tipo, i.nome, m.modulo AS s_modulo, v.versao AS s_versao
FROM
chamados AS c
INNER JOIN
andamentos AS a ON (a.id_andamento = c.andamento)
INNER JOIN
usuarios AS u ON (u.id_usuario = c.usuario)
INNER JOIN
prioridades AS p ON (p.id_prioridade = c.prioridade)
INNER JOIN
sistemas AS s ON (s.id_sistema = c.sistema)
INNER JOIN
tipos_de_chamado AS t ON (t.id_tipos = c.tipo)
INNER JOIN
instituicao AS i ON (i.id_inst = c.solicitante)
LEFT JOIN
modulo AS m ON (m.id_modulo = c.modulo)
LEFT JOIN
versoes AS v ON (v.id_versao = c.versao)
WHERE
c.id_chamado > 0";
$pesquisasemfiltro = false;
$meus_filtros = '';
switch ($_GET["filtro"])
{
case "AbertosPorMim": $sql .= " AND c.usuario = ".$_SESSION["usuario"]; break;
case "EncaminhadosAoMeuDepartamento": $sql .= " AND a.id_departamento = ".$_SESSION["departamento"]; break;
//Filtros de pesquisa
case "pesquisa":
$sql_antes_pesquisa = $sql;
if (!empty($_POST["titulo"]))
{
$sql .= " AND c.titulo LIKE '%".TrataStr($_POST["titulo"])."%'";
$meus_filtros .= '<strong>Título: </strong>'.$_POST["titulo"].' ';
}
if (!empty($_POST["data"]))
{
$sql .= " AND c.data >= '".StrPraData($_POST["data"])."'";
$meus_filtros .= '<strong>Data cadastro inicial: </strong>'.$_POST["data"].' ';
}
if (!empty($_POST["dataa"]))
{
$sql .= " AND c.data <= '".StrPraData($_POST["dataa"])."'";
$meus_filtros .= '<strong>Data cadastro final: </strong>'.$_POST["dataa"].' ';
}
if (!empty($_POST["prazo"]))
{
$sql .= " AND (c.prazo >= '".StrPraData($_POST["prazo"])."' OR c.prazo IS null)";
$meus_filtros .= '<strong>Prazo inicial: </strong>'.$_POST["prazo"].' ';
}
if (!empty($_POST["prazoa"]))
{
$sql .= " AND c.prazo <= '".StrPraData($_POST["prazoa"])."'";
$meus_filtros .= '<strong>Prazo final: </strong>'.$_POST["prazoa"].' ';
}
if ($_POST["prioridade"] > -1)
{
$sql .= " AND p.nivel <= ".$_POST["prioridade"];
$sqlft = "SELECT prioridade FROM prioridades WHERE nivel = ".$_POST["prioridade"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Prioridade inicial: </strong>'.utf8_encode($regft['prioridade']).' ';
}
if ($_POST["prioridadea"] > -1)
{
$sql .= " AND p.nivel >= ".$_POST["prioridadea"];
$sqlft = "SELECT prioridade FROM prioridades WHERE nivel = ".$_POST["prioridadea"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Prioridade final: </strong>'.utf8_encode($regft['prioridade']).' ';
}
if ($_POST["tipo"] > 0)
{
$sql .= " AND c.tipo = ".$_POST["tipo"];
$sqlft = "SELECT tipo FROM tipos_de_chamado WHERE id_tipos = ".$_POST["tipo"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Tipo de chamado: </strong>'.utf8_encode($regft['tipo']).' ';
}
if ($_POST["cliente"] != '')
{
$sql .= " AND c.solicitante = ".$_POST["cliente"];
$sqlft = "SELECT nome FROM instituicao WHERE id_inst = ".$_POST["cliente"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Solicitante/cliente: </strong>'.utf8_encode($regft['nome']).' ';
}
if ($_POST["unidade"] > 0)
{
$sql .= " AND (i.vinculado_unidade = ".$_POST["unidade"]." OR c.solicitante = ".$_POST["unidade"].")";
$sqlft = "SELECT nome FROM instituicao WHERE id_inst = ".$_POST["unidade"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Vinculado à unidade: </strong>'.utf8_encode($regft['nome']).' ';
}
if ($_POST["status"] != "T")
{
$sql .= " AND c.status = '".$_POST["status"]."'";
if ($_POST["status"] == 'A') $meustatus = 'Aberto/pendente';
if ($_POST["status"] == 'N') $meustatus = 'Em processamento';
if ($_POST["status"] == 'F') $meustatus = 'Fechado/resolvido';
$meus_filtros .= '<strong>Status: </strong>'.$meustatus.' ';
}
if ($_POST["sistema"] > 0)
{
$sql .= " AND c.sistema = ".$_POST["sistema"];
$sqlft = "SELECT sistema FROM sistemas WHERE id_sistema = ".$_POST["sistema"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Sistema: </strong>'.utf8_encode($regft['sistema']).' ';
}
if ($_POST["modulo"] > 0)
{
$sql .= " AND c.modulo = ".$_POST["modulo"];
$sqlft = "SELECT modulo FROM modulo WHERE id_modulo = ".$_POST["modulo"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Módulo: </strong>'.utf8_encode($regft['modulo']).' ';
}
if ($_POST["versao"] > 0)
{
$sql .= " AND c.versao = ".$_POST["versao"];
$sqlft = "SELECT versao FROM versoes WHERE id_versao = ".$_POST["versao"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Versão: </strong>'.utf8_encode($regft['versao']).' ';
}
if ($_POST["andamento"] > 0)
{
$sql .= " AND c.andamento = ".$_POST["andamento"];
$sqlft = "SELECT andamento FROM andamentos WHERE id_andamento = ".$_POST["andamento"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Andamento: </strong>'.utf8_encode($regft['andamento']).' ';
}
if ($_POST["departamento"] > 0)
{
$sql .= " AND a.id_departamento = ".$_POST["departamento"];
$sqlft = "SELECT departamento FROM departamentos WHERE id = ".$_POST["departamento"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Atribuído ao departamento: </strong>'.utf8_encode($regft['departamento']).' ';
}
if ($_POST["usuario"] > 0)
{
$sql .= " AND c.usuario = ".$_POST["usuario"];
$sqlft = "SELECT username FROM usuarios WHERE id_usuario = ".$_POST["usuario"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Aberto por: </strong>'.utf8_encode($regft['username']).' ';
}
if ($_POST["ult_usuario"] > 0)
{
$sql .= " AND c.ult_usuario = ".$_POST["ult_usuario"];
$sqlft = "SELECT username FROM usuarios WHERE id_usuario = ".$_POST["ult_usuario"];
$rsft = mysql_query($sqlft);
$regft = mysql_fetch_array($rsft);
$meus_filtros .= '<strong>Alterado recentemente por: </strong>'.utf8_encode($regft['username']).' ';
}
if ($sql_antes_pesquisa == $sql) $pesquisasemfiltro = true;
break;
case "AlteradosPorMim": $sql .= " AND c.ult_usuario = ".$_SESSION["usuario"]; break;
case "ID": $sql .= " AND c.id_chamado = ".$_GET["id"]; break;
}
$sql .= " ORDER BY c.data DESC, c.id_chamado DESC";
if (($_GET["filtro"] != "pesquisa") || ($pesquisasemfiltro)) $sql .= " LIMIT 0,30";
$rs = mysql_query($sql);
if (mysql_num_rows($rs) > 0)
{
while ($reg = mysql_fetch_array($rs))
{
?>
<tr style="background-color:#<? if (($reg["prazo"] != NULL) && ($reg["status"] != "F") && ($reg["prazo"] < date("Y-m-d"))) echo "FF9966"; else { if ($reg["status"] == "A") echo "FFFF66"; else { if ($reg["status"] == "N") echo "FFFFFF"; else echo "66FF33"; } } ?>; color:#<?=$pricolor[$reg["nivel"]]?>">
<td align="center" width="50">
<?=str_pad($reg["id_chamado"], 7, "0", STR_PAD_LEFT)?><br />
<input type="button" name="btnVer<?=$reg["id_chamado"]?>" value="Acompanhar" onclick="window.open('ver_chamado.php?id=<?=$reg["id_chamado"]?>', '_self');" title="Acompanhar o chamado <?=str_pad($reg["id_chamado"], 7, "0", STR_PAD_LEFT)?>." />
</td>
<td>
<table width="100%" border="0">
<tr valign="middle">
<td width="0">
<?php
$sqlf = "SELECT * FROM arquivos WHERE id_chamado = ".$reg["id_chamado"];
$rsf = mysql_query($sqlf);
if ((mysql_num_rows($rsf) > 0) || ($reg['base_dados'] != ''))
{
?>
<img src="/sol/includes/anexo.png" border="0" title="Este chamado possui arquivos anexados." />
<?php
}
?>
</td>
<td>
<strong><?=utf8_encode($reg["titulo"])?></strong>
</td>
</tr>
</table>
</td>
<td align="center"><?=utf8_encode($reg["s_andamento"])?></td>
<td align="center" width="50"><strong><? echo substr($reg["data"], 8, 2)."/".substr($reg["data"], 5, 2)."/".substr($reg["data"], 0, 4); ?></strong></td>
<td align="center" width="50"><?php if ($reg["prazo"] == NULL) echo "Indeterminado"; else echo substr($reg["prazo"], 8, 2)."/".substr($reg["prazo"], 5, 2)."/".substr($reg["prazo"], 0, 4); ?></td>
<td align="center"><?=utf8_encode($reg["nome"])?></td>
<td align="center" width="50"><strong><?=utf8_encode($reg["s_prioridade"])?></strong></td>
<td align="center"><?=utf8_encode($reg["s_sistema"])?></td>
<td align="center" width="50"><strong><?=utf8_encode($reg["s_tipo"])?></strong></td>
<td align="center"><? if (empty($reg["s_modulo"])) echo "Indeterminado"; else echo utf8_encode($reg["s_modulo"]); ?></td>
</tr>
<?php
}
}
else
{
echo '<tr style="background-color:#FFFFFF;"><td align="center">-</td><td><em>Não foram encontrados chamados com os parâmetros indicados</em></td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td></tr>';
}
?>
</table>
<?php
if ($pesquisasemfiltro) echo "<br/ ><em><strong>Obs.:</strong> você fez uma pesquisa sem filtros, por isso os resultados foram limitados a 30 para evitar sobrecarga no servidor.</em>";
?>
<p align="right"><a href="pesquisar_chamado.php">Pesquisar...</a></p>
<strong><em>Legenda</em></strong><br /> <br />
<table cellspacing="1" cellpadding="3" style="background-color:#666666;" width="500">
<tr valign="middle">
<td width="20" style="background-color:#FFFF66;"> </td>
<td style="background-color:#FFFFFF;">Chamado aberto (ou reaberto) ainda pendente </td>
</tr>
<tr valign="middle">
<td width="20" style="background-color:#FFFFFF;"> </td>
<td style="background-color:#FFFFFF;">Chamado em processamento (sendo analisado/executado) </td>
</tr>
<tr valign="middle">
<td width="20" style="background-color:#66FF33;"> </td>
<td style="background-color:#FFFFFF;">Chamado fechado (concluído/resolvido) </td>
</tr>
<tr valign="middle">
<td width="20" style="background-color:#FF9966;"> </td>
<td style="background-color:#FFFFFF;">Chamado com prazo excedido </td>
</tr>
</table>
<table cellspacing="1" cellpadding="3" style="background-color:#666666;" width="500">
<?php
for ($i = 0; $i < count($prioridades); $i++)
{
?>
<tr valign="middle">
<td style="background-color:#FFFFFF; color:#<?=$pricolor[$i]?>"> <strong><?=utf8_encode($prioridades[$i])?></strong></td>
</tr>
<?php
}
?>
</table>
<?php
if ($meus_filtros != '')
{
?>
<script language='JavaScript' type="text/javascript">
document.getElementById('r_pesq').innerHTML = '<strong><u>Filtros:</u></strong><br /> <br /><em><?=$meus_filtros?></em><br /> <br />';
</script>
<?php
}
?>
<br /> <br />
</td>
</tr>
<!-- FIM DE CONTEUDO DA PAGINA -->
<?php
include("../sol/includes/rp.php");
?>
</table>
<? if (str_replace(' ', '', str_replace(' ', '', strip_tags($meus_filtros))) == "Status:") { ?>
<script language="JavaScript" type="text/javascript">
//POG Refaz pesquisa
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') != 0) echo "history.go(-4);"; else echo "window.open('pesquisar_chamado.php', '_self');";
?>
</script>
<? } ?>
</body>
</html>
<?php
@mysql_close();
?>