Path: C:\
<?php
ini_set('max_execution_time',259200);
ini_set ('memory_limit','1536M');
require_once("API07_MobileRestHandler.php");
date_default_timezone_set('America/Sao_Paulo');
$base1 = date("Ymd");
$semana=date('w');if($semana==1){$cont1=7;$cont2=3;}else{$cont1=7;$cont2=1;}
$inicio=date('d-m-Y', strtotime($base1. ' - '.$cont1.' days'));
$diaant=date('d-m-Y', strtotime($base1. ' - '.$cont2.' days'));
$final=date("d-m-Y");
if ($grupo<>"nulo"){$logo='grupo_'.$grupo.'.png';} else {if($empresa<>"nulo"){$logo='empresa_'.$empresa.'.png';} else{$logo='logo.png';}}
if ($logo<>'logo.png'){if (!file_exists('images/'.$logo)) {$logo='logo.png';}}
$ano1=substr($inicio, 6);
$mes1=substr($inicio, 3,-5);
$dia1=substr($inicio, 0,-8);
$data1=$ano1.$mes1.$dia1;
$ano2=substr($final, 6);
$mes2=substr($final, 3,-5);
$dia2=substr($final, 0,-8);
$data2=$data3=$ano2.$mes2.$dia2;
$mobileRestHandler = new MobileRestHandler();
$linha = $mobileRestHandler->getMobile($data1, $data2, $data3, $grupo, $ds_grupo, $empresa);
$lin=count($linha);
$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'];}
}
$z=1;
for ($q=1; $q <= $lin; $q++)
{ $ind=intval($linha[$q][25]);
$nao=0;for($i=1;$i<$x1;$i++){if($ind==$black[$i]){$nao=1;}}
if($nao==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+1<=$lin){
if ($linha[$q][9]<>($linha[$q+1][9]))
{ if ($nf!='n')
{
$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]))
{ $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;
}
}
}
}
}
}
$linha2[$z]=$linha[$q];$z++;
}
}
$x2=1;
for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='red')
{ $red[$x2]=$principal[$x]['id'];$x2++;}
}
$x3=1;
for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='green')
{ $green[$x3]=$principal[$x]['id'];$x3++;}
}
$x4=1;
for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='Peru')
{ $peru[$x4]=$principal[$x]['id'];$x4++;}
}
$x5=1;
for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='blue')
{ $blue[$x5]=$principal[$x]['id'];$x5++;}
}
$x6=1;
for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='Gold')
{ $gold[$x6]=$principal[$x]['id'];$x6++;}
}
$x7=1;
for ($x=0;$x<$oc;$x++)
{ if($principal[$x]['cor']=='Grey')
{ $gray[$x7]=$principal[$x]['id'];$x7++;}
}
$by2=$x2;$id2=$red;$by3=$x3;$id3=$green;$by4=$x4;$id4=$peru;$by5=$x5;$id5=$blue;$by6=$x6;$id6=$gold;$by7=$x7;$id7=$gray;
$top['OUTROS']=array();
$top['NÃO REALIZADO']=array();
$top['PROCESSO INICIADO']=array();
$top['EM ROTA DE ENTREGA']=array();
$top['CHEGADA NO LOCAL']=array();
$top['SERVIÇO REALIZADO']=array();
$lin=count($linha2);
$ant=$linha2[1][9];$start[$ant]=1;
$nf='n';
for ($q=1; $q <= $lin; $q++)
{ if ($linha2[$q][9]<>$ant)
{
$start[$linha2[$q][9]]=$q;
$stop[$ant]=$q-1;
$ant=$linha2[$q][9];
}
$ind=intval($linha2[$q][25]);
if ($ind<>108 and $linha2[$q][7]=='ENTREGA')
{ $dt_ent=strtotime($linha2[$q][27]);$dt_prev=strtotime($linha2[$q][30]);$dt_col=strtotime($linha2[$q][37]);
$finaliz=0;if ($ind==34 or $ind==35){$finaliz=1;}else{for($i=1;$i<$x3;$i++){if($ind==$green[$i]){$finaliz=1;}}}
if ($finaliz==1)
{ $nf='s';
if ($ind==34 or $ind==35)
{ if ($linha2[$q][35]>=$data2)
{
for($i=1;$i<$by2;$i++){if($ind==$id2[$i]){$top['NÃO REALIZADO'][]=$q;}}
for($i=1;$i<$by4;$i++){if($ind==$id4[$i]){$top['PROCESSO INICIADO'][]=$q;}}
}
}
else
{
for($i=1;$i<$by3;$i++){if($ind==$id3[$i]){$top['SERVIÇO REALIZADO'][]=$q;}}
for($i=1;$i<$by4;$i++){if($ind==$id4[$i]){$top['PROCESSO INICIADO'][]=$q;}}
}
}
else
{ if ($q>=2){if ($linha2[$q][9]<>$linha2[$q-1][9]){$nf='n';}}
if ($q<>$lin)
{ if ($linha2[$q][9]<>$linha2[$q+1][9])
{ if ($nf=='n')
{
for($i=1;$i<$by2;$i++){ if($ind==$id2[$i]){$top['SERVIÇO REALIZADO'][]=$q; }}
for($i=1;$i<$by3;$i++){if($ind==$id3[$i]){$top['NÃO REALIZADO'][]=$q;}}
for($i=1;$i<$by4;$i++){if($ind==$id4[$i]){$top['PROCESSO INICIADO'][]=$q;}}
for($i=1;$i<$by5;$i++){if($ind==$id5[$i]){$top['EM ROTA DE ENTREGA'][]=$q;}}
for($i=1;$i<$by6;$i++){if($ind==$id6[$i]){$top['CHEGADA NO LOCAL'][]=$q;}}
for($i=1;$i<$by7;$i++){if($ind==$id7[$i]){$top['OUTROS'][]=$q;}}
}
else
{
$nf='n';
}
}
}
else
{ if ($nf=='n')
{
for($i=1;$i<$by2;$i++){if($ind==$id2[$i]){$top['SERVIÇO REALIZADO'][]=$q;}}
for($i=1;$i<$by3;$i++){if($ind==$id3[$i]){$top['NÃO REALIZADO'][]=$q;}}
for($i=1;$i<$by4;$i++){if($ind==$id4[$i]){$top['PROCESSO INICIADO'][]=$q;}}
for($i=1;$i<$by5;$i++){if($ind==$id5[$i]){$top['EM ROTA DE ENTREGA'][]=$q;}}
for($i=1;$i<$by6;$i++){if($ind==$id6[$i]){$top['CHEGADA NO LOCAL'][]=$q;}}
for($i=1;$i<$by7;$i++){if($ind==$id7[$i]){$top['OUTROS'][]=$q;}}
}
else
{
$nf='n';
}
}
}
}
}
$stop[$ant]=$q-1;
$json = json_encode($linha2); // Isto ira converter a array em json
$_SESSION['json2']=$json;
$topico='SERVIÇO REALIZADO';
$lin=count($top[$topico]);$bg1=0;
if ($lin>=1)
{
$host = "192.168.0.203";
$db = "dbOmnilink";
$user = "sa";
$password = "";
$connectionOptions = array("Database" => $db, "UID" => $user, "PWD" => $password);
$conn = sqlsrv_connect( $host, $connectionOptions);
if (!$conn){echo "ATENÇÃO!! FALHA NA CONEXÃO BANCO OMNILINK!";}
require_once 'API27.php';
if (!file_exists('upload/'.$diaant)) {mkdir('upload/'.$diaant);} // Cria uma nova pasta dentro do diretório upload
$file_txtnotas = fopen('upload/'.$diaant.'/Notas.txt', 'w');
echo '
<style>
table.blue {
table-layout:fixed;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
table.blue td {
overflow: hidden;word-wrap: break-word;
}
th {
text-align:left;
padding:0px 0;
}
tr#linha:hover {
background: #F3F781;
}
</style>
<aside role="complementary" class="col-md-9">
<div class="panel panel-primary">
<div class="panel-heading">
<h2 class="panel-title" align="center">NOTAS FISCAIS ENTREGUES NO DIA ANTERIOR</h2>
</div>
<table class="blue" width="100%" align="center" cellpadding="1" cellspacing="1" bgcolor="#F3F3F3">
<col width="35%" />
<col width="20%" />
<col width="10%" />
<col width="35%" />
<tr height="31">
<td><b> NOTA FISCAL</b></td>
<td align="center"><b>DATA</b></td>
<td align="center"><b>HORA</b></td>
<td><b> SITUAÇÃO</b></td>
</tr>';
$bg = "#BDBDBD";
for ($q=0; $q < $lin; $q++)
{ if ($diaant==$linha2[$top[$topico][$q]][27])
{ $bg1=0;$bg2=0;
$data[0][0]=$linha2[$stop[$linha2[$top[$topico][$q]][9]]][5];$data[0][1]=$linha2[$start[$linha2[$top[$topico][$q]][9]]][20];
$data[1][0]=$linha2[$start[$linha2[$top[$topico][$q]][9]]][27];$data[2][0]=$linha2[$start[$linha2[$top[$topico][$q]][9]]][28];
$data[1][1]=$linha2[$stop[$linha2[$top[$topico][$q]][9]]][27];$data[2][1]=$linha2[$stop[$linha2[$top[$topico][$q]][9]]][28];
for ($q1=$start[$linha2[$top[$topico][$q]][9]]; $q1 <= $stop[$linha2[$top[$topico][$q]][9]]; $q1++)
{
if ($linha2[$q1][25] == 98 and $bg1==0) { $data[1][0]=$linha2[$q1][27];$data[2][0]=$linha2[$q1][28];$bg1=1;}
if ($linha2[$q1][25] == 32 and $bg2==0) { $data[1][1]=$linha2[$q1][27];$data[2][1]=$linha2[$q1][28];$bg2=1;}
}
$data[4][0]=$linha2[$start[$linha2[$top[$topico][$q]][9]]][9];$data[4][1]=$linha2[$start[$linha2[$top[$topico][$q]][9]]][14];
$inicio=$data[1][0];
$fim=$data[1][1];
$hrini=$data[2][0];
$hrfim=$data[2][1];
$data1 = DateTime::createFromFormat('d-m-Y', $inicio);
$data2 = DateTime::createFromFormat('d-m-Y', $fim);
$dia1=$data1->format('Y-m-d');
$dia2=$data2->format('Y-m-d');
$data1=$dia1.' '.$hrini;
$data2=$dia2.' '.$hrfim;
$term=$data[0][0];
$query="SELECT IDTerminal as terminal
,Convert(varchar(16), DataHoraEm,120) as data
,Temperatura
FROM [dbo].[tTeleEvento]
WHERE SUBSTRING(Veiculo,1,7) = '$term' and Convert(varchar(16), DataHoraEm,120) BETWEEN '$data1' and '$data2' and (Temperatura<'70' and Temperatura>'-30' and Temperatura<>'0') ORDER BY DataHoraEm ASC";
$consulta= sqlsrv_query($conn, $query, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));
if (!$consulta){echo "ATENÇÃOs!! FALHA NA CONSULTA!";}
$numReg = sqlsrv_num_rows($consulta);
$z=0;$tt=0;$minima=99;$maxima=0;$grafico=array();
while ($row = sqlsrv_fetch_array($consulta, SQLSRV_FETCH_ASSOC))
{
$grafico[$z][0]=strtotime($row['data']);
$grafico[$z][3]=$row['Temperatura'];
$tt=$tt+$grafico[$z][3];
if ($grafico[$z][3]<$minima){$minima=$grafico[$z][3];}
if ($grafico[$z][3]>$maxima){$maxima=$grafico[$z][3];}
$z++;
}
$nome = preg_replace('/[^0-9\-]/', '_', $linha2[$top[$topico][$q]][9]);
if ($z!==0)
{
for ($i=0;$i<$z;$i++)
{
$grafico[$i][1]=$minima;
$grafico[$i][2]=$maxima;
}
$media=$tt/$z;
$data[3][0]=$minima;$data[3][1]=$maxima;
$eixo=intval($minima-1);
include 'API28.php';
$txt2='Gráfico OK para Nota(s) Fiscal(is): '.$nome.PHP_EOL;
$txt3='Gráfico OK!';
fwrite($file_txtnotas, $txt2);
$mediaX=sprintf("%01.2f", $media);
$minimaX=sprintf("%01.2f", $minima);
$maximaX=sprintf("%01.2f", $maxima);
$pdf = new PDF();
$dataX = $pdf->LoadData('upload/'.$diaant.'/'.$nome.'.txt');
$pdf->SetFont('Arial','','12');
$pdf->AddPage();
$pdf->FancyTable($dataX,$mediaX,$minimaX,$maximaX,$logo);
$pdf->Output('upload/'.$diaant.'/'.$nome.".pdf","F");
unlink('upload/'.$diaant.'/'.$nome.'.txt');
unlink('upload/grafico.png');
}
else
{
$txt2='Sem temperaturas para Nota(s) Fiscal(is): '.$nome.PHP_EOL;
$txt3='Sem temperaturas!';
fwrite($file_txtnotas, $txt2);
}
if ($bg !== "#BDBDBD") { $bg="#BDBDBD";} else {$bg="#ffffff";}
echo '
<tr id="linha" bgcolor="'. $bg.'">
<td> '.$linha2[$top[$topico][$q]][9].'</td>
<td align="center">'.$linha2[$top[$topico][$q]][27].'</td>
<td align="center">'.$linha2[$top[$topico][$q]][28].'</td>
<td> '.$txt3.'</td>
</tr>';
}
}
echo '</table></div></aside>';
fclose($file_txtnotas);
$pasta_origem = "upload/".$diaant.'/';
$pasta_destino = "\\\\tw-nas\\08-Qualidade\\Gráficos-NFs\\".$diaant;
if (!file_exists($pasta_destino)) {mkdir($pasta_destino);}
$arquivo = glob("$pasta_origem{*.*}", GLOB_BRACE);
$na=count($arquivo);
for ($i=0;$i<$na;$i++)
{ $arq_orig=$arquivo[$i];
$arquivo[$i]=str_replace('upload', '\\\\tw-nas\\08-Qualidade\\Gráficos-NFs\\',$arquivo[$i]);
$arq_dest=$arquivo[$i];
copy($arq_orig, $arq_dest);
}
}
?>