Commit 4766972ec3cdb1f022c3e3ceb733b62eeafa1544

Authored by elias.mussi@planejamento.gov.br
1 parent 2856a4b5
Exists in master and in 1 other branch 3.1

arrumando a consulta do patrimonio

git-svn-id: http://svn.softwarepublico.gov.br/svn/cacic/cacic/trunk/gerente@94 fecfc0c7-e812-0410-ae72-849f08638ee7
Showing 1 changed file with 90 additions and 49 deletions   Show diff stats
relatorios/patrimonio/rel_patrimonio.php
1 1 <?
2 2 /*
3   - Copyright 2000, 2001, 2002, 2003, 2004, 2005 Dataprev - Empresa de Tecnologia e Informações da Previdência Social, Brasil
  3 + Copyright 2000, 2001, 2002, 2003, 2004, 2005 Dataprev - Empresa de Tecnologia e Informa�es da Previd�cia Social, Brasil
4 4  
5   - Este arquivo é parte do programa CACIC - Configurador Automático e Coletor de Informações Computacionais
  5 + Este arquivo �parte do programa CACIC - Configurador Autom�ico e Coletor de Informa�es Computacionais
6 6  
7   - O CACIC é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como
8   - publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença, ou (na sua opnião) qualquer versão.
  7 + O CACIC �um software livre; voc�pode redistribui-lo e/ou modifica-lo dentro dos termos da Licen� Pblica Geral GNU como
  8 + publicada pela Funda�o do Software Livre (FSF); na vers� 2 da Licen�, ou (na sua opni�) qualquer vers�.
9 9  
10   - Este programa é distribuido na esperança que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer
11   - MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
  10 + Este programa �distribuido na esperan� que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUA�O a qualquer
  11 + MERCADO ou APLICA�O EM PARTICULAR. Veja a Licen� Pblica Geral GNU para maiores detalhes.
12 12  
13   - Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do Software
  13 + Voc�deve ter recebido uma c�ia da Licen� Pblica Geral GNU, sob o t�ulo "LICENCA.txt", junto com este programa, se n�, escreva para a Funda�o do Software
14 14 Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
15 15 */
16 16 session_start();
17 17 /*
18   - * verifica se houve login e também as permissões de usuário
  18 + * verifica se houve login e tamb� as permiss�s de usu�io
19 19 */
20 20 if(!isset($_SESSION['id_usuario']))
21 21 die('Acesso negado!');
22   -else { // Inserir regras para verificar permissões do usuário!
  22 +else { // Inserir regras para verificar permiss�s do usu�io!
23 23 }
24 24  
25 25 if($_POST['submit'])
... ... @@ -27,11 +27,11 @@ if($_POST[&#39;submit&#39;])
27 27 $_SESSION["list2"] = $_POST['list2'];
28 28 $_SESSION["list4"] = $_POST['list4'];
29 29 $_SESSION["list6"] = $_POST['list6'];
30   - $_SESSION["list8"] = $_POST['list8'];
31   - $_SESSION["list12"] = $_POST['list12'];
  30 + $_SESSION["list8"] = $_POST['list8'];
  31 + $_SESSION["list12"] = $_POST['list12'];
32 32 $_SESSION["cs_situacao"] = $_POST["cs_situacao"];
33 33 $_SESSION['where_uon1'] = '';
34   - $_SESSION['where_uon2'] = '';
  34 + $_SESSION['where_uon2'] = '';
35 35 }
36 36  
37 37 ?>
... ... @@ -50,14 +50,14 @@ function MM_openBrWindow(theURL,winName,features) { //v2.0
50 50  
51 51 <body bgcolor="#FFFFFF" topmargin="5">
52 52 <table border="0" align="default" cellpadding="0" cellspacing="0" bordercolor="#999999">
53   - <tr bgcolor="#E1E1E1">
  53 + <tr bgcolor="#E1E1E1">
54 54 <td rowspan="5" bgcolor="#FFFFFF">&nbsp;</td>
55 55 <td rowspan="5" bgcolor="#FFFFFF"><img src="../../imgs/cacic_logo.png" width="50" height="50"></td>
56 56 <td bgcolor="#FFFFFF">&nbsp;</td>
57 57 </tr>
58   - <tr bgcolor="#E1E1E1">
59   - <td nowrap bgcolor="#FFFFFF"><font color="#333333" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>CACIC
60   - - Relat&oacute;rio de informa&ccedil;&otilde;es de Patrim&ocirc;nio e Localiza&ccedil;&atilde;o
  58 + <tr bgcolor="#E1E1E1">
  59 + <td nowrap bgcolor="#FFFFFF"><font color="#333333" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>CACIC
  60 + - Relat&oacute;rio de informa&ccedil;&otilde;es de Patrim&ocirc;nio e Localiza&ccedil;&atilde;o
61 61 F&iacute;sica </strong></font></td>
62 62 </tr>
63 63 <tr>
... ... @@ -65,7 +65,7 @@ function MM_openBrWindow(theURL,winName,features) { //v2.0
65 65 </tr>
66 66 <tr>
67 67 <td><p><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Gerado
68   - em <? echo date("d/m/Y à\s H:i"); ?></font></p></td>
  68 + em <? echo date("d/m/Y �s H:i"); ?></font></p></td>
69 69 </tr>
70 70 </table>
71 71 <br>
... ... @@ -79,7 +79,7 @@ if ($_SESSION[&#39;cs_nivel_administracao&#39;]&lt;&gt;1 &amp;&amp; $_SESSION[&#39;cs_nivel_administracao&#39;
79 79  
80 80 if($_SESSION["cs_situacao"] == 'S')
81 81 {
82   - // Aqui pego todas as redes selecionadas e faço uma query p/ condição de redes
  82 + // Aqui pego todas as redes selecionadas e fa� uma query p/ condi�o de redes
83 83 $redes_selecionadas = "'" . $_SESSION["list2"][0] . "'";
84 84 for( $i = 1; $i < count($_SESSION["list2"] ); $i++ )
85 85 {
... ... @@ -87,20 +87,21 @@ if ($_SESSION[&#39;cs_nivel_administracao&#39;]&lt;&gt;1 &amp;&amp; $_SESSION[&#39;cs_nivel_administracao&#39;
87 87 }
88 88 $query_redes = "AND comp.id_ip_rede IN (". $redes_selecionadas .")";
89 89 }
  90 +
90 91 }
91 92 else
92 93 {
93   - // Aqui pego todos os locais selecionados e faço uma query p/ condição de redes/locais
  94 + // Aqui pego todos os locais selecionados e fa� uma query p/ condi�o de redes/locais
94 95 $locais_selecionados = "'" . $_SESSION["list12"][0] . "'";
95 96 for( $i = 1; $i < count($_SESSION["list12"] ); $i++ )
96 97 {
97 98 $locais_selecionados .= ",'" . $_SESSION["list12"][$i] . "'";
98 99 }
99 100 $query_redes = 'AND comp.id_ip_rede = redes.id_ip_rede AND
100   - redes.id_local IN ('. $locais_selecionados .') AND
101   - redes.id_local = locais.id_local ';
  101 + redes.id_local IN ('. $locais_selecionados .') AND
  102 + redes.id_local = locais.id_local ';
102 103 $select = ' ,sg_local as Local ';
103   - $from = ' ,redes,locais ';
  104 + $from = ' ,redes,locais ';
104 105 }
105 106  
106 107 // Aqui pego todos os SO selecionados
... ... @@ -110,23 +111,23 @@ for( $i = 1; $i &lt; count($_SESSION[&quot;list4&quot;] ); $i++ )
110 111 $so_selecionados = $so_selecionados . ",'" . $_SESSION["list4"][$i] . "'";
111 112 }
112 113  
113   -// Inicializo variável para registro de destaques de duplicidades
  114 +// Inicializo vari�el para registro de destaques de duplicidades
114 115 $in_destacar_duplicidade_total = '';
115 116  
116   -// Aqui pego todas as configurações de hardware que deseja exibir
  117 +// Aqui pego todas as configura�es de hardware que deseja exibir
117 118 for( $i = 0; $i < count($_SESSION["list6"] ); $i++ )
118 119 {
119 120 if (strpos(strtolower($_SESSION["list6"][$i]), "patrimonio.id_unid_organizacional_nivel1"))
120 121 {
121 122 $_SESSION["list6"][$i] = str_replace("patrimonio.id_unid_organizacional_nivel1", "unid_organizacional_nivel1.nm_unid_organizacional_nivel1", $_SESSION["list6"][$i]);
122 123 $where_uon1 = " patrimonio.id_unid_organizacional_nivel1 = unid_organizacional_nivel1.id_unid_organizacional_nivel1 AND ";
123   - $v_from = " unid_organizacional_nivel1,";
  124 + $v_from = ", unid_organizacional_nivel1";
124 125 }
125 126 else if (strpos(strtolower($_SESSION["list6"][$i]), "patrimonio.id_unid_organizacional_nivel2"))
126 127 {
127 128 $_SESSION["list6"][$i] = str_replace("patrimonio.id_unid_organizacional_nivel2", "unid_organizacional_nivel2.nm_unid_organizacional_nivel2", $_SESSION["list6"][$i]);
128 129 $where_uon2 = " patrimonio.id_unid_organizacional_nivel2 = unid_organizacional_nivel2.id_unid_organizacional_nivel2 AND ";
129   - $v_from = " unid_organizacional_nivel2,";
  130 + $v_from = ", unid_organizacional_nivel2";
130 131 }
131 132  
132 133 if (strpos($_SESSION["list6"][$i],'#in_destacar_duplicidade.S')>-1)
... ... @@ -140,20 +141,34 @@ for( $i = 0; $i &lt; count($_SESSION[&quot;list6&quot;] ); $i++ )
140 141 $campos_patrimonio = $campos_patrimonio . $_SESSION["list6"][$i];
141 142 }
142 143  
  144 +
143 145  
144   -// Aqui substitui todas as strings \ por vazio que a variável $campos_hardware retorna
  146 +// Aqui substitui todas as strings \ por vazio que a vari�el $campos_hardware retorna
145 147 $campos_patrimonio = str_replace('\\', '', $campos_patrimonio);
146 148 $campos_patrimonio = str_replace('"', "'", $campos_patrimonio);
147 149  
148 150  
  151 +
149 152 if ($_GET['orderby']) { $orderby = $_GET['orderby']; }
150 153 else { $orderby = '3'; } //por Nome de Computador
151 154  
152   -$query = 'SELECT concat(comp.te_node_address, DATE_FORMAT( max(pat.dt_hr_alteracao),"%d%m%Y%H%i")) as tripa_node_data '.
153   - $select.'
  155 +/*$query = 'SELECT concat(comp.te_node_address, DATE_FORMAT( max(patrimonio.dt_hr_alteracao),"%d%m%Y%H%i")) as tripa_node_data '.
  156 + $campos_patrimonio.' '.$select.'
  157 + FROM patrimonio,
  158 + computadores comp,
  159 + unid_organizacional_nivel1,
  160 + unid_organizacional_nivel2
  161 + '.$from.'
  162 + WHERE patrimonio.te_node_address = comp.te_node_address
  163 + AND patrimonio.id_unid_organizacional_nivel1 = unid_organizacional_nivel1.id_unid_organizacional_nivel1
  164 + AND patrimonio.id_unid_organizacional_nivel2 = unid_organizacional_nivel2.id_unid_organizacional_nivel2 '.
  165 + $query_redes . '
  166 + GROUP BY comp.te_node_address';*/
  167 +
  168 +$query = 'SELECT concat(comp.te_node_address, DATE_FORMAT( max(pat.dt_hr_alteracao),"%d%m%Y%H%i")) as tripa_node_data '.$select.'
154 169 FROM patrimonio pat,
155   - computadores comp '.
156   - $from . '
  170 + computadores comp
  171 + '.$from.'
157 172 WHERE pat.te_node_address = comp.te_node_address '.
158 173 $query_redes . '
159 174 GROUP BY comp.te_node_address';
... ... @@ -165,8 +180,11 @@ while ($row = mysql_fetch_array($result))
165 180 {
166 181 $where .= ",'" . $row['tripa_node_data'] . "'";
167 182 }
  183 +
168 184 //$where = "and concat(comp.te_node_address, DATE_FORMAT(patrimonio.dt_hr_alteracao,'%d%m%Y%H%i')) in (" . substr($where,1)."))" ;
169   -$where = "and concat(comp.te_node_address))" ;
  185 +
  186 +//$where = "and concat(comp.te_node_address))" ;
  187 +$where = ")" ;
170 188  
171 189 //if ($_SERVER['REMOTE_ADDR']=='10.71.0.58')
172 190 // {
... ... @@ -209,7 +227,7 @@ if ($where_uon2)
209 227 $where_uon2 = " LEFT JOIN unid_organizacional_nivel2 ON ( patrimonio.id_unid_organizacional_nivel2 = unid_organizacional_nivel2.id_unid_organizacional_nivel2) " ;
210 228 }
211 229  
212   -$query = " SELECT comp.te_node_address,
  230 +/*$query = " SELECT comp.te_node_address,
213 231 so.id_so,
214 232 comp.te_nome_computador as 'Nome Comp.',
215 233 sg_so as 'S.O.',
... ... @@ -224,8 +242,31 @@ $query = &quot; SELECT comp.te_node_address,
224 242 $from . "
225 243 WHERE TRIM(comp.te_nome_computador) <> '' and
226 244 comp.id_so = so.id_so AND " .
227   - " comp.id_so IN (". $so_selecionados .") ". $criterios . $query_redes ."
228   - ORDER BY " . $orderby;
  245 + " comp.id_so IN (". $so_selecionados .") ". $criterios . $query_redes ."
  246 + GROUP BY comp.te_node_address
  247 + ORDER BY " . $orderby;
  248 +*/
  249 +
  250 +$query = " SELECT *
  251 + from (SELECT comp.te_node_address,
  252 + so.id_so,
  253 + comp.te_nome_computador as 'Nome Comp.',
  254 + sg_so as 'S.O.',
  255 + comp.te_ip as 'IP'" .
  256 + $campos_patrimonio .
  257 + $select .
  258 + " FROM so,
  259 + computadores comp left join patrimonio on (comp.te_node_address = patrimonio.te_node_address and comp.id_so = patrimonio.id_so " .
  260 + $where .
  261 + $where_uon1 .
  262 + $where_uon2 .
  263 + $from . "
  264 + WHERE TRIM(comp.te_nome_computador) <> '' and
  265 + comp.id_so = so.id_so AND " .
  266 + " comp.id_so IN (". $so_selecionados .") ". $criterios . $query_redes ."
  267 + ORDER BY dt_hr_alteracao desc) teste
  268 + GROUP BY te_node_address
  269 + ORDER BY " . $orderby;
229 270  
230 271 $result = mysql_query($query) or die('Erro no select (2)');
231 272  
... ... @@ -259,7 +300,7 @@ if ($in_destacar_duplicidade_tmp)
259 300 {
260 301 if (trim($row[$i])<>'' && in_array($i,$arr_in_destacar_duplicidade))
261 302 {
262   - array_push($v_arr_campos_valores,$i . ',' . trim($row[$i]));
  303 + array_push($v_arr_campos_valores,$i . ',' . trim($row[$i]));
263 304 }
264 305 }
265 306 $num_registro ++;
... ... @@ -270,18 +311,18 @@ if ($in_destacar_duplicidade_tmp)
270 311 $num_registro = 1;
271 312 $v_registro_atual = '';
272 313 @mysql_data_seek($result,0);
273   - while ($row = mysql_fetch_row($result))
  314 + while ($row = mysql_fetch_row($result))
274 315 {
275   - for ($i=3; $i < $fields; $i++)
  316 + for ($i=3; $i < $fields; $i++)
276 317 {
277   - if (trim($row[$i])<>'' && in_array($i,$arr_in_destacar_duplicidade))
  318 + if (trim($row[$i])<>'' && in_array($i,$arr_in_destacar_duplicidade))
278 319 {
279 320 $v_chave = $i . ',' . trim($row[$i]);
280 321 if ($v_arr_total_campos_valores[$v_chave]>1)
281 322 {
282 323 if ($v_registro_atual <> $num_registro) $v_campos_valores_duplicados .= 'r='.$num_registro.'#';
283 324 $v_registro_atual = $num_registro;
284   - $v_campos_valores_duplicados .= '#c='.$i.'#';
  325 + $v_campos_valores_duplicados .= '#c='.$i.'#';
285 326 }
286 327 }
287 328 }
... ... @@ -292,12 +333,12 @@ if ($in_destacar_duplicidade_tmp)
292 333 $cor = 0;
293 334 $num_registro = 1;
294 335 @mysql_data_seek($result,0);
295   -while ($row = mysql_fetch_row($result))
  336 +while ($row = mysql_fetch_row($result))
296 337 { //Table body
297 338 $v_key_campos_valores_duplicados = strpos($v_campos_valores_duplicados,'r='.$num_registro.'#',0);
298 339 echo '<tr ';
299 340  
300   - if ($v_key_campos_valores_duplicados>-1)
  341 + if ($v_key_campos_valores_duplicados>-1)
301 342 echo 'bgcolor="#FFFF99"';
302 343 elseif ($cor)
303 344 echo 'bgcolor="#E1E1E1"';
... ... @@ -305,7 +346,7 @@ while ($row = mysql_fetch_row($result))
305 346 echo '>';
306 347  
307 348 echo '<td nowrap align="right"><font size="1" face="Verdana, Arial">' . $num_registro . '</font></td>';
308   - echo "<td nowrap align='left'><font size='1' face='Verdana, Arial'><a href='../computador/computador.php?te_node_address=". $row[0] ."&id_so=". $row[1] ."' target='_blank'>" . $row[2] ."</a>&nbsp;</td>";
  349 + echo "<td nowrap align='left'><font size='1' face='Verdana, Arial'><a href='../computador/computador.php?te_node_address=". $row[0] ."&id_so=". $row[1] ."' target='_blank'>" . $row[2] ."</a>&nbsp;</td>";
309 350  
310 351 for ($i=3; $i < $fields; $i++)
311 352 {
... ... @@ -313,24 +354,24 @@ while ($row = mysql_fetch_row($result))
313 354  
314 355 echo '<td nowrap align="left"><font size="1" face="Verdana, Arial"';
315 356  
316   - $j=$v_key_campos_valores_duplicados;
  357 + $j=$v_key_campos_valores_duplicados;
317 358 if ($j>-1)
318 359 {
319 360 $v_pesquisa_campo = 'c='.trim($i).'#';
320 361 while ($j < strlen($v_campos_valores_duplicados))
321 362 {
322 363 if (substr($v_campos_valores_duplicados,$j,strlen($v_pesquisa_campo))==$v_pesquisa_campo)
323   - {
  364 + {
324 365 echo 'color="#FF0000"';
325 366 $v_bold = 'OK';
326   - $j = strlen($v_campos_valores_duplicados);
  367 + $j = strlen($v_campos_valores_duplicados);
327 368 }
328 369 $j++;
329 370  
330 371 if (substr($v_campos_valores_duplicados,$j,2)=='r=')
331 372 {
332 373 $j = strlen($v_campos_valores_duplicados);
333   - }
  374 + }
334 375 }
335 376  
336 377 }
... ... @@ -339,7 +380,7 @@ while ($row = mysql_fetch_row($result))
339 380 if ($v_bold) echo '<strong>';
340 381 echo $row[$i];
341 382 if ($v_bold) echo '</strong>';
342   - echo '&nbsp;</td>';
  383 + echo '&nbsp;</td>';
343 384 }
344 385 $cor=!$cor;
345 386 $num_registro++;
... ... @@ -350,7 +391,7 @@ echo &#39;&lt;br&gt;&lt;br&gt;&#39;;
350 391 /*
351 392 if (count($_SESSION["list8"])>0)
352 393 {
353   - $v_opcao = 'patrimonio'; // Nome do pie que será chamado por tabela_estatisticas
  394 + $v_opcao = 'patrimonio'; // Nome do pie que ser�chamado por tabela_estatisticas
354 395 require_once($_SERVER['DOCUMENT_ROOT'] . '/cacic2/include/tabela_estatisticas.php');
355 396 }
356 397 */
... ...