TransWar File Browser

Path: C:\

<?php
session_start();
ini_set('max_execution_time',259200); 
date_default_timezone_set('America/Sao_Paulo');
$datainicio = $_GET['inicio'];
$horainicio = $_GET['horainicio'];
$datafim    = $_GET['fim'];
$horafim    = $_GET['horafim'];
$dtlimite   = date("Ymd"); 
$termo      = $_GET['numero'];
$base1      = date("d-m-Y"); 
$inicio     = $coleta=date('d/m/Y', strtotime($base1. ' - 6 month'));
$grupo      = $_SESSION['grupo'];
$empresa    = $_SESSION['empresa'];
if($grupo<>'nulo')
{ 
  $where1=' and H.id_GrupoCliente='.$grupo.' ';
}
else
{ if($empresa<>'nulo')
  {
    $where1=' and C.id_ClienteFaturamento='.$empresa.' ';
  }
  else
  {
    $where1=' ';
  }
}
$ano3=substr($coleta, 6);
$mes3=substr($coleta, 3,-5);
$dia3=substr($coleta, 0,-8);
$data1=$data2=$data3=$ano3.$mes3.$dia3;
require_once("../conexao_srvtms.php");
$query = "SELECT DISTINCT 
CASE B1.dt_Coleta 
  WHEN B1.dt_Coleta THEN Convert(varchar(10), B1.dt_Coleta,105) 
  ELSE Convert(varchar(10), C.dt_Coleta,105)  
  END                                                     as data
,CASE B1.dt_Coleta 
  WHEN B1.dt_Coleta THEN Convert(varchar(8), B1.dt_Coleta,112) 
  ELSE Convert(varchar(8), C.dt_Coleta,112) 
  END                                                     as datab
          ,A.id_Manifesto                                 as manifesto
          ,rtrim(D.ds_Cliente)                            as transportadora
          ,rtrim(Convert(varchar(35), M.ds_Pessoa))       as motorista
          ,rtrim(K.cd_Placa)                              as placa 
          ,rtrim(L.cd_Placa)                              as carreta 
          ,rtrim(N.ds_TipoVeiculo)                        as veiculo
          ,C.id_RemetenteCentroCusto                      as CentroCusto
          ,'ENTREGA'                                      as tipo
,CASE B1.dt_Coleta 
  WHEN B1.dt_Coleta THEN Convert(varchar(10), B1.dt_Coleta,105) 
  ELSE Convert(varchar(10), C.dt_Coleta,105)  
  END                                                     as Data_Coleta
,CASE B1.tp_Coletada 
  WHEN 'S' THEN 'Coletada'
  WHEN 'N' THEN ' ' 
  ELSE 'Deixado na Base'
  END                                                     as Situacao
          ,rtrim(C.nr_NotaFiscal)                         as nrNF
          ,C.vl_NotaFiscal                                as vlrNF    
          ,C.vl_Frete                                     as vlrFrete    
          ,rtrim(W1.ds_TipoMovimento)                     as tipomovimento
          ,'CTe: '+rtrim(C.nr_Conhecimento)               as documento
          ,C.qt_Volume                                    as volume
          ,C.kg_Mercadoria                                as peso
          ,rtrim(Convert(varchar(30), E.ds_Pessoa))       as cliente
          ,rtrim(Convert(varchar(30), C.ds_Cliente))      as local1
          ,rtrim(Convert(varchar(30), P.ds_Pessoa))       as local2
          ,rtrim(C.ds_Endereco)                           as endereco1
          ,rtrim(P.ds_Endereco)                           as endereco2
          ,rtrim(C.ds_Bairro)                             as bairro1
          ,rtrim(P.ds_Bairro)                             as bairro2
          ,rtrim(G.ds_Cidade)+'-'+rtrim(G.UFE_SG)         as cidade1
          ,rtrim(Q.ds_Cidade)+'-'+rtrim(Q.UFE_SG)         as cidade2
          ,rtrim(C.cd_CEP)                                as cep1
          ,rtrim(P.cd_CEP)                                as cep2
          ,rtrim(G1.ds_Ocorrencia)                        as ocorrencia
          ,rtrim(H1.ds_Ocorrencia)                        as complemento
          ,G1.id_Ocorrencia                               as id_Ocorre
          ,Convert(varchar(10),H1.dt_PrazoFechamento,105) as data2
,case 
  when H1.hr_PrazoFechamento<='24:00' and H1.hr_PrazoFechamento>='00:00'
  then H1.hr_PrazoFechamento 
  else H1.hr_Abertura 
  end                                                     as hora 
          ,rtrim(H1.ds_UsuarioAlteracao)                  as origem
          ,Convert(varchar(10), C.dt_PrazoEntrega,105)    as limite 
          ,''                                             as status1 
          ,''                                             as status2 
          ,''                                             as status3
          ,Convert(varchar(8),H1.dt_PrazoFechamento,112)  as data3
          ,Convert(varchar(8),C.dt_Cadastro,112)          as data4
          ,Convert(varchar(10),C.dt_Cadastro,105)         as data4a
          ,rtrim(C.cm_Movimento)                          as coment
          ,Convert(varchar(6),C.id_Movimento)             as sequencia
          ,CASE
            when H.id_GrupoCliente = F.id_GrupoCliente
            then 'S'
            else 'N'
            end                                           as clirem
        FROM tbdMovimento AS C
          left JOIN tbdTipoMovimento AS W1 ON  C.id_TipoMovimento = W1.id_TipoMovimento
          left JOIN tbdPedidoColeta as B1 on C.nr_Coleta = B1.id_PedidoColeta
          right JOIN tbdOcorrenciaNota AS H1 on C.id_Movimento = H1.id_Movimento
          left JOIN tbdOcorrencia AS G1 ON  H1.id_Ocorrencia = G1.id_Ocorrencia
          left JOIN tbdConfiguracaoCliente AS H on C.id_ClienteFaturamento = H.id_Pessoa
          left JOIN tbdConfiguracaoCliente AS F on C.id_Remetente = F.id_Pessoa
          left JOIN tbdPessoa AS E on E.id_pessoa = C.id_Remetente
          left JOIN tbdCidade AS G ON  G.id_Cidade = C.id_CidadeDestinatario
          left JOIN tbdPessoa AS P on P.id_pessoa = C.id_Consignatario
          left JOIN tbdCidade AS Q ON  Q.id_Cidade = P.id_Cidade
          left JOIN tbdManifestoMovimento AS B on (B.id_Manifesto = H1.id_Manifesto or B.id_Manifesto = C.id_Manifesto) and B.ds_Tipo='ENTREGA'
          left JOIN tbdManifesto AS A on A.id_Manifesto = B.id_Manifesto or A.id_Manifesto = C.id_Manifesto
          left JOIN tbdClienteSistema AS D ON  D.id_Cliente = A.id_Cliente      
          left JOIN tbdVeiculo AS K on K.id_Veiculo = A.id_Veiculo
          left JOIN tbdVeiculo AS L on L.id_Veiculo = A.id_Carreta
          left JOIN tbdPessoa AS M on  M.id_Pessoa = A.id_Motorista
          left JOIN tbdTipoVeiculo AS N on N.id_TipoVeiculo = K.id_TipoVeiculo
        WHERE  C.id_Movimento>='613300' ".$where1." and rtrim(C.nr_NotaFiscal) like '%$termo%'
        ORDER BY tipo ASC, nrNF ASC, documento ASC, data3 ASC, hora ASC ";
$result= sqlsrv_query($conn, $query);   
$i=1;
while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC))
{
          $resultset[$i][1]               = $row['manifesto'];
          $resultset[$i][4]               = $row['veiculo'];
          $resultset[$i][5]               = $row['placa'];
          $resultset[$i][7]               = $row['tipo'];
          $resultset[$i][9]               = $row['nrNF'];
          $resultset[$i][14]              = str_replace('&', 'e',$row['cliente']);
          $resultset[$i][14]              = str_replace(',', ' ',$resultset[$i][14]);
          $resultset[$i][15]              = str_replace('&', 'e',$row['local2']);
          $resultset[$i][15]              = str_replace(',', ' ',$resultset[$i][15]);
          $resultset[$i][20]              = str_replace('&', 'e',$row['local1']);
          $resultset[$i][20]              = str_replace(',', ' ',$resultset[$i][20]);
          $resultset[$i][25]              = $row['id_Ocorre'];
          $resultset[$i][27]              = $row['data2'];
          $resultset[$i][28]              = $row['hora'];
          $resultset[$i][35]              = $row['data3'];
          $i++;
}

$linha = $resultset;
$lin=count($linha);
if ($lin==0)
  {
    echo'<script language="JavaScript">alert("Essa Nota Fiscal NÃO está em nosso Sistema!");window.close();</script>';
  }
$nf='n';
$matriz = file_get_contents('upload/matriz.json');
$principal=json_decode($matriz, true);
$oc=count($principal);
$x1=0;for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='black')
  { $x1++;$black[$x1]=$principal[$x]['id'];}
}$x1++;$black[$x1]=108;
$x3=0;for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='green')
  { $x3++;$green[$x3]=$principal[$x]['id'];}
}
for ($q=1; $q <= $lin; $q++) 
{ $ind=intval($linha[$q][25]);	//pega o ID da ocorrência
  $stop2=0;for($i=1;$i<$x1;$i++){if($ind==$black[$i]){$stop2=1;}}
  if($stop2==0)
  {
    $finaliz=0;for($i=1;$i<$x3;$i++){if($ind==$green[$i]){$finaliz=1;}}
    if ($finaliz==1)
    { $nf='s';
    }
    else
    {	if ($linha[$q][7]=='ENTREGA')
			{ if ($q>=2){if ($linha[$q][9]<>$linha[$q-1][9]){$nf='n';}}
				if ($q==$lin)
				{	if ($nf=='n')
    			{	
            if ($ind==107){$colL=strtotime('now')-strtotime($linha[$q][35].' '.$linha[$q][28]);}
        	}
				}
				else
				{	if ($linha[$q][9]<>($linha[$q+1][9]))
		      { if ($nf=='n')
		    		{	
              if ($ind==107){$colL=strtotime('now')-strtotime($linha[$q][35].' '.$linha[$q][28]);}
		        }
		        else
		        { 
		          $nf='n';
		        }
		      }
	    	}
	    }
    }
  }
}
$lin=count($linha);
$ant=$linha[1][9];$start[$ant]=1;
$top['busca'][]=1;
$nf='n';
$pattern = '/' . $termo . '/';//Padrão a ser encontrado na string $tags
for ($q=1; $q <= $lin; $q++) 
{ if ($linha[$q][9]<>$ant)
  { $start[$linha[$q][9]]=$q;
    $stop[$ant]=$q-1;
    $ant=$linha[$q][9];
    $ind=intval($linha[$q][25]);
    if ($ind<>108 and $linha[$q][7]=='ENTREGA')
    { 
      if (preg_match($pattern, $linha[$q][9]))
      {  
          $top['busca'][]=$q;
      }
    }
  }
}
if ($linha[$lin][9]<>$ant)
{ $start[$linha[$lin][9]]=$lin;
  $stop[$ant]=$lin-1;
  $stop[$linha[$lin][9]]=$lin;
}
else
{
  $stop[$ant]=$lin;
}

$json2 = json_encode($linha); // Isto ira converter a array em json
$_SESSION['json2'] = $json2;
$lin=count($top['busca']);$bg1=0;
echo '
    <script src="js/sorttable.js"></script>
  <script type="text/javascript">
    function Detalhe(){ window.close();
      window.open("about:blank","Historico","toolbar=no, status=no, menubar=no, scrollbars=no, resizable=no, width=1000, height=450, top=50, left=20");
      document.formDetalhe.submit();
    }
  </script>
  <style>
    @keyframes neon{
      from {
        filter:drop-shadow(0 0 0 var(--cor-neon));
        }
      to {
        filter:drop-shadow(0 0 30px var(--cor-neon));
        }
      }
    td {
        animation: neon 1s alternate infinite ease-in-out;
      }
    .alerta{color:red;
        --cor-neon: #FFFF00;
      }
    .ok{
        --cor-neon: #00FF00;
      }
    table.blue {
      table-layout:fixed; 
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-size: 10px; 
      }
    table.blue td {
      overflow: hidden;word-wrap: break-word;
      }
    th {
      text-align:left;
      padding:0px 0;
      }
    thead {
      color:white;
      background:#6D7EA0;
      }
      tr#linha:hover {
      background: #F3F781;
    }
  </style>
  <table width="100%" align="center" cellpadding="1" cellspacing="1" bgcolor="#F3F3F3">
    <tr>
      <td align="center" style="color:red; size=3;font-weight: bold;">GRÁFICO DE TEMPERATURA</span></td>
    </tr>
  </table>
  <table class="sortable blue" width="100%" align="center" cellpadding="1" cellspacing="1" bgcolor="#F3F3F3">
    <col width="30%" />
    <col width="35%" />
    <col width="12%" />
    <col width="8%" />
    <col width="15%" />
      <tr height="31">
      <td><b title="Click para ordenar por essa coluna.">&nbsp;&nbsp;REMETENTE</b></td>
      <td><b title="Click para ordenar por essa coluna.">&nbsp;&nbsp;DESTINATÁRIO</b></td>
      <td align="center"><b title="Click para ordenar por essa coluna.">DATA</b></td>
      <td align="center"><b title="Click para ordenar por essa coluna.">HORA</b></td>
      <td align="center"><b>N. F.</b></td>
      </tr>
';
    for ($q=0; $q < $lin; $q++) 
    { if ($bg1 == 1) { $bg="#BDBDBD";$bg1=0;} else {$bg="#ffffff";$bg1=1;}
      $class='';$style='';
      if ($linha[$top['busca'][$q]][25]==107){$colL=strtotime('now')-strtotime($linha[$top['busca'][$q]][35].' '.$linha[$top['busca'][$q]][28]);if($colL>=3600){$class='alerta';$style='background-color: yellow;';}}
      if ($linha[$top['busca'][$q]][15]<>''){$destinatario=$linha[$top['busca'][$q]][15];}else{$destinatario=$linha[$top['busca'][$q]][20];}
echo '
    <tr id="linha" bgcolor="'. $bg.'">
        <td>'.$linha[$top['busca'][$q]][14].'</td>
        <td>'.$destinatario.'</td>
        <td align="center">'.$linha[$top['busca'][$q]][27].'</td>
        <td class="'.$class.'" align="center" style="'.$style.'">'.$linha[$top['busca'][$q]][28].'</td>
        <td>
          <form  method="get"  name="formDetalhe" action="API25.php" target="Historico">    
            <input id="get" name="get" type="hidden" value="json2"/> 
            <input id="datainicio" name="datainicio" type="hidden" value="'.$datainicio.'"/> 
            <input id="horainicio" name="horainicio" type="hidden" value="'.$horainicio.'"/> 
            <input id="datafim" name="datafim" type="hidden" value="'.$datafim.'"/> 
            <input id="horafim" name="horafim" type="hidden" value="'.$horafim.'"/> 
            <input id="start" name="start" type="hidden" value="'.$start[$linha[$top['busca'][$q]][9]].'"/> 
            <input id="stop" name="stop" type="hidden" value="'.$stop[$linha[$top['busca'][$q]][9]].'"/> 
            <input type="submit"onclick="javascript:Detalhe();" title="Click para ver Gráfico." value="'.$linha[$top['busca'][$q]][9].'">
          </form>
        </td>
    </tr>
    ';
    }
echo '
  </table>
';
?>