Path: C:\
<?php
session_start();
ini_set('max_execution_time',259200);
date_default_timezone_set('America/Sao_Paulo');
$termo=$_POST['numero'];
if ($termo==''){echo'<script language="JavaScript">alert("Digite um número de Nota Fiscal!!!");window.close();</script>';}
$final = date("d/m/Y");
$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($final, 6);
$mes3=substr($final, 3,-5);
$dia3=substr($final, 0,-8);
$data2=$ano3.$mes3.$dia3;
require_once("../conexao_srvtms.php");
$query = "SELECT DISTINCT
Convert(varchar(10), A.dt_Saida,105) as data
,Convert(varchar(8), A.dt_Saida,112) as datab
,A.id_Manifesto as manifesto
,rtrim(D.ds_Cliente) as transportadora
,rtrim(Convert(varchar(40), 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
,rtrim(Convert(varchar(35), E.ds_Pessoa)) as cliente
,rtrim(Convert(varchar(35), C.ds_Cliente)) as local1
,rtrim(Convert(varchar(35), 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][0] = $row['data'];
$resultset[$i][1] = $row['manifesto'];
$resultset[$i][2] = $row['transportadora'];
$resultset[$i][3] = $row['motorista'];
$resultset[$i][4] = $row['veiculo'];
$resultset[$i][5] = $row['placa'];
$resultset[$i][6] = $row['carreta'];
$resultset[$i][7] = $row['tipo'];
$resultset[$i][8] = $row['volume'];
$resultset[$i][9] = $row['nrNF'];
$resultset[$i][10] = $row['vlrNF'];
$resultset[$i][11] = $row['vlrFrete'];
$resultset[$i][12] = substr($row['documento'], 5, 8);
$resultset[$i][13] = $row['tipomovimento'];
$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][16] = str_replace(',', ' ',$row['endereco2']);
$resultset[$i][17] = str_replace(',', ' ',$row['bairro2']);
$resultset[$i][18] = $row['cidade2'];
$resultset[$i][19] = $row['cep2'];
$resultset[$i][20] = str_replace('&', 'e',$row['local1']);
$resultset[$i][20] = str_replace(',', ' ',$resultset[$i][20]);
$resultset[$i][21] = str_replace(',', ' ',$row['endereco1']);
$resultset[$i][22] = str_replace(',', ' ',$row['bairro1']);
$resultset[$i][23] = $row['cidade1'];
$resultset[$i][24] = $row['cep1'];
$resultset[$i][25] = $row['id_Ocorre'];
$resultset[$i][26] = $row['ocorrencia'];
$resultset[$i][27] = $row['data2'];
$resultset[$i][28] = $row['hora'];
if ($row['origem']=='MOBILE')
{
$resultset[$i][29] = 'S';
}
else
{
$resultset[$i][29] = 'N';
}
$resultset[$i][30] = $row['limite'];
$Comentário = $row['coment'];
$resultset[$i][31] = preg_replace("/\r?\n/","", $Comentário);
$resultset[$i][32] = $row['status1'];
$resultset[$i][33] = $row['status2'];
$resultset[$i][34] = $row['status3'];
$resultset[$i][35] = $row['data3'];
$resultset[$i][36] = $row['data4'];
$resultset[$i][37] = $row['Data_Coleta'];
$resultset[$i][38] = $row['Situacao'];
$resultset[$i][39] = $row['CentroCusto'];
$resultset[$i][40] = $row['sequencia'];
$resultset[$i][41] = $row['clirem'];
$resultset[$i][42] = $row['complemento'];
if ($resultset[$i][20]==$resultset[$i][15])
{
$resultset[$i][15] ='';
$resultset[$i][16] ='';
$resultset[$i][17] ='';
$resultset[$i][18] ='';
$resultset[$i][19] ='';
}
if ($row['tipo']=='COLETA' and $row['ocorrencia']===null)
{ if ($row['status1']=='N' and $row['status2']=='N' and $row['status3']=='N')
{ $resultset[$i][26]='PENDENTE';$resultset[$i][25]='146';}
if ($row['status1']=='A' and ($row['status2']=='N' and $row['status3']=='N'))
{ $resultset[$i][26]='ALOCADO';$resultset[$i][25]='149';}
if ($row['status1']=='A' and ($row['status2']=='N' and $row['status3']=='S'))
{ $resultset[$i][26]='ALOCADO';$resultset[$i][25]='149';}
if ($row['status1']=='N' and ($row['status2']=='S' and $row['status3']=='S'))
{ $resultset[$i][26]='LIBERADO';$resultset[$i][25]='148';}
if ($row['status1']=='N' and ($row['status2']=='S' and $row['status3']=='N'))
{ $resultset[$i][26]='LIBERADO';$resultset[$i][25]='148';}
if ($row['status1']=='S')
{ $resultset[$i][26]='COLETADA (SEM OCORRÊNCIA)';$resultset[$i][25]='32';}
}
if ($row['tipo']=='COLETA' and $row['id_Ocorre']<>32 and $row['manifesto']<>null and ($resultset[$i][26]=='ALOCADA' or $resultset[$i][26]=='LIBERADO' or $resultset[$i][26]=='PENDENTE'))
{ $resultset[$i][26]='EM ROTA DE COLETA';$resultset[$i][25]='147';}
if ($resultset[$i][27]=='')
{ if ($resultset[$i][36]<>''){$resultset[$i][27]=$row['data4a'];$resultset[$i][35]=$row['data4'];}
else
{
if ($resultset[$i][26]=='COLETADA (SEM OCORRÊNCIA)'){$resultset[$i][27]=$row['data'];$resultset[$i][35]=$row['datab'];}
if ($resultset[$i][26]=='PENDENTE' or $resultset[$i][26]=='LIBERADO' or $resultset[$i][26]=='ALOCADO'){$resultset[$i][27]=$currentDate1;$resultset[$i][35]=$currentDate;}
}
}
$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 = $_SESSION['matriz'];
$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';
if ($linha[$q][35]>=$data2)
{ if ($linha[$q][7]=='COLETA')
{ if($linha[$q][26]=='COLETADA (SEM OCORRÊNCIA)'){$linha[$q][26]='SERVIÇO REALIZADO NORMALMENTE';}
}
}
}
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';
}
}
}
}
else
{ if ($ind<>69)
{ if ($q>1){if ($linha[$q][12]<>$linha[$q-1][12]){$nf='n';}}
if ($q==$lin)
{ if ($nf=='n')
{ if ($linha[$q][32]=='S' and $linha[$q][35]<>$data2){$linha[$q][26]='SERVIÇO REALIZADO NORMALMENTE';$linha[$q][25]='32';$ind=32;}
}
}
else
{ if ($linha[$q][12]<>($linha[$q+1][12]))
{ if ($linha[$q][32]=='S' and $linha[$q][35]<>$data2){$linha[$q][26]='SERVIÇO REALIZADO NORMALMENTE';$linha[$q][25]='32';$ind=32;}
$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;
}
$_SESSION['json2'] = $linha;
$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=800, height=400, 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: 9px;
}
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;">SITUAÇÃO DAS ENTREGAS: ( <span style="color:blue">BUSCA</span><span style="color:red"> )</span></td>
</tr>
</table>
<table class="sortable blue" width="100%" align="center" cellpadding="1" cellspacing="1" bgcolor="#F3F3F3">
<col width="20%" />
<col width="23%" />
<col width="15%" />
<col width="9%" />
<col width="6%" />
<col width="7%" />
<col width="5%" />
<col width="15%" />
<tr height="31">
<td><b title="Click para ordenar por essa coluna."> REMETENTE</b></td>
<td><b title="Click para ordenar por essa coluna."> DESTINATÁRIO</b></td>
<td><b title="Click para ordenar por essa coluna."> CIDADE DESTINO</b></td>
<td><b title="Click para ordenar por essa coluna.">MANIFESTO</b></td>
<td><b title="Click para ordenar por essa coluna."> CTe</b></td>
<td><b title="Click para ordenar por essa coluna."> DATA</b></td>
<td><b title="Click para ordenar por essa coluna.">HORA</b></td>
<td><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];$cidade=$linha[$top['busca'][$q]][18];}else{$destinatario=$linha[$top['busca'][$q]][20];$cidade=$linha[$top['busca'][$q]][23];}
echo '
<tr id="linha" bgcolor="'. $bg.'">
<td>'.$linha[$top['busca'][$q]][14].'</td>
<td>'.$destinatario.'</td>
<td>'.$cidade.'</td>
<td> '.$linha[$top['busca'][$q]][1].'</td>
<td>'.$linha[$top['busca'][$q]][12].'</td>
<td>'.$linha[$top['busca'][$q]][27].'</td>
<td class="'.$class.'" align="center" style="'.$style.'">'.$linha[$top['busca'][$q]][28].'</td>
<td>
<form method="post" name="formDetalhe" action="API05_detalhe_2.php" target="Historico">
<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 Histórico." value="'.$linha[$top['busca'][$q]][9].'">
</form>
</td>
</tr>
';
}
echo '
</table>
';
?>