Path: C:\
<?php
ini_set('max_execution_time',259200);
ini_set ( 'memory_limit' , '4095M' ) ;
date_default_timezone_set('America/Sao_Paulo');
$dateadded = date("d-m-Y");
$dia=date('Y-m-d', strtotime($dateadded. ' - 1 month'));
// Incluir a conexão com banco de dados
require_once("../conexao_srvtms.php");
require_once("../Conecta_BdLogiTower.php");
// Receber os dados do formulário
$query3="WITH cte AS
( SELECT
a.[id_Manifesto]
,a.[ds_TipoHistorico] as sit
,b.[cm_Manifesto] as obs
,ROW_NUMBER() OVER (PARTITION BY a.[id_Manifesto] ORDER BY a.id_ManifestoHistorico DESC) RN
FROM [dtbTransporte].[dbo].[tbdManifestoHistorico] AS a
left JOIN [dtbTransporte].[dbo].[tbdManifesto] AS b ON a.id_Manifesto = b.id_Manifesto
where convert(varchar(10),a.[dt_Historico],120)>='$dia'
and (a.[ds_TipoHistorico]='LIBERAR' or a.[ds_TipoHistorico]='FINALIZAR'
or a.[ds_TipoHistorico]='INCLUSÃO')
and charindex ('#', b.cm_Manifesto)<>'0'
)
SELECT
[id_Manifesto]
,case
when sit='LIBERAR' then 'LIBERADO'
when sit='INCLUSÃO' then 'PENDENTE'
END AS situacao
,obs
FROM cte
WHERE (RN = '1' and sit='LIBERAR') or (RN = '1' and sit='INCLUSÃO')
order by id_Manifesto";
$result3= sqlsrv_query($conn, $query3, array(), array("Scrollable"=>"buffered"));
$num3 = sqlsrv_num_rows($result3);
$cor['PENDENTE']='green';
$cor['LIBERADO']='orange';
$isca1=array();$regrex = '/\#(.*?)\ /';
if($num3 !==0){
// Criar o array com placas dos manifestos
while ($row3 = sqlsrv_fetch_array($result3, SQLSRV_FETCH_ASSOC)){
$manifesto=$row3['id_Manifesto'];$situacao=$row3['situacao'];$obs=$row3['obs'];
preg_match_all($regrex, $obs, $palavra);
foreach($palavra[1] as $isca){
$isca1[$isca]['manifesto']=$manifesto;
$isca1[$isca]['situacao']=$situacao;
}
}
}
$isca2=array();
$sql4="SELECT id, placa, date_format(dia,'%d-%m-%Y %H:%i:%s') dia, evento, localizacao, latitude, longitude, obs FROM positron where LENGTH(placa)>'7' ORDER BY placa";
$resultado=mysqli_query($conn3,$sql4);
$evento[116]='Falha de sinal GPS';
$evento[1501]='Início de movimento por acelerômetro';
$evento[1502]='Fim de movimento por acelerômetro';
$evento[1513]='Conexão USB';
$evento[1514]='Desconexão USB';
$evento[1519]='Nível baixo de bateria';
$evento[1520]='Acoplamento de dispositivo (violação)';
$evento[1521]='Desacoplamento de dispositivo (violação)';
$evento[50000]='Monitoração';
while($row4 = $resultado->fetch_assoc())
{ $pl2=trim($row4['placa']);
if (isset($evento[$row4['evento']])){$eve=$evento[$row4['evento']];}else{$eve=$row4['evento'];}
$isca2[$pl2]['dia']=$row4['dia'];
$isca2[$pl2]['evento']=$eve;
$isca2[$pl2]['local']=trim($row4['localizacao']);
$isca2[$pl2]['lat']=$row4['latitude'];
$isca2[$pl2]['long']=$row4['longitude'];
$isca2[$pl2]['id']=$row4['id'];
$isca2[$pl2]['obs']=trim($row4['obs']);
}
// Criar o array com status e o conteúdo da pesquisa
$body=
'<table width="100%" align="center" cellpadding="1" cellspacing="1" border="1" bgcolor="#F3F3F3"style="border-color:6D7EA0;font-size:14px;">
<tr align="center" style="color:white; background:#6D7EA0;border-color:white;">
<td width="3%"><b>Obs</b></td>
<td width="8%"><b>Isca</b></td>
<td width="24%"><b>Evento</b></td>
<td width="45%"><b>Localização</b></td>
<td width="12%"><b>Dia/Hora</b></td>
<td width="8%" ><b>Manifesto</b></td>
</tr>
';
foreach ($isca2 as $val2 => $y2){
$placa=trim($val2);
if (isset($isca1[$placa]['manifesto'])){
$manif='<strong style="color:'.$cor[$isca1[$placa]['situacao']].';">'.$isca1[$placa]['manifesto'].'</strong>';
}else{$manif=' ';}
$lat=$y2['lat'];
$lon=$y2['long'];
$local=$y2['local'];
$DiaHora=substr($y2['dia'],0,16);
$ico=4;
if($y2['obs']=='' or $y2['obs']=='null'){$ck='';}else{$ck='checked';}
if(strpos($local, 'Campinas - São Paulo') === false and !isset($isca1[$placa]['manifesto'])){$aviso='red';}else{$aviso='black';}
$body.='<tr align="center" style="color:'.$aviso.';font-size:14px;">
<td align="center">
<input type="hidden" id="obs['.$y2['id'].']" value="'.$y2['obs'].'">
<input type="checkbox" id="id[]" name="id[]" value="'.$y2['id'].'" '.$ck.' onclick="MostraObs(this)" >
</td>';
$body.='<td>'.$placa.'</td>
<td style="font-size:12px;">'.$y2['evento'].'</td>
<td style="font-size:12px;">
<a href="http://192.168.0.211:80/Iscas/mapa.php?placa='.$placa.'&lat='.$lat.'&lon='.$lon.'&ico='.$ico.'" target="_blank">'.$local.'</a>
</td>
<td>'.$DiaHora.'</td>';
$body.='<td>'.$manif.'</td>
</tr>';
}
$body.='</table></br>';
$retorna = ['status' => true, 'msg' => $body];
// Converter o array em objeto e retornar para o JavaScript
echo json_encode($retorna);