Path: C:\
<?php
ini_set('max_execution_time',259200);
ini_set ( 'memory_limit' , '-1' ) ;
date_default_timezone_set('America/Sao_Paulo');
define('API_KEY', '75594207-b5d7-43bf-a7c2-571b3030308d');
require_once("includes/RequestCTe.php");
require_once("includes/RequestCTeId.php");
require_once("includes/RequestVeic.php");
require_once("includes/RequestOcorr.php");
if (isset($_POST['di'])) { $de=$_POST['di'];} else { $de=$dateadded;}
if (isset($_POST['df'])) { $ate=$_POST['df'];} else { $ate=$dateadded;}
if (isset($_POST['sts'])) { $sts=$_POST['sts'];} else {$sts="2,3";}
$stts[0] = "Cadastrado";
$stts[1] = "Emitido";
$stts[2] = "Em Trânsito";
$stts[3] = "Entregue";
$stts[4] = "Cancelado";
$stts[5] = "Não Entregue";
$stts[6] = "Inutilizado";
$rodd['00'] = "Não Aplicável";
$rodd['01'] = "Truck";
$rodd['02'] = "Toco";
$rodd['03'] = "Cavalo Mecânico";
$rodd['04'] = "VAN";
$rodd['05'] = "Utilitário";
$rodd['06'] = "Outros";
$de='2023-08-01';
$ate=date("Y-m-d");
$url = "https://transwar.lannister.emitir.me/operations/search?page=1";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"accept: application/json",
"x-api-key: ".API_KEY,
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$resp = curl_exec($curl);
curl_close($curl);
$dat=json_decode($resp, true);
foreach($dat['data'] as $h => $w) {
$oper[$w['id']] = $w['name'];
}
echo '<pre>';
//print_r($oper);
$url = "https://transwar.lannister.emitir.me/cost-centers/search?page=1";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"accept: application/json",
"x-api-key: ".API_KEY,
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$resp = curl_exec($curl);
curl_close($curl);
$dat=json_decode($resp, true);
foreach($dat['data'] as $h => $w) {
$ccust[$w['id']] = $w['created_at']; // depois mudar para 'name'
}
print_r($ccust);
$dataResponse = new RequestCTe();
$resposta = $dataResponse->getResponse('1',$de,$ate);
$tudo=json_decode($resposta[1], true);
//print_r($tudo['data']);
$resta=$resposta[0];if($resta<=5){sleep(40);}
echo '<br><strong>Restam <font size="5" color="red">'.$resta.'</font> consultas dentro do limite de tempo!</strong><br>';
if($tudo!==''){
if ($tudo['success']==1){
$total=$tudo['total'];
$p1=$p2=0;
$pagina=array();
$npage=ceil($total/40);
echo '<strong>Para listar <font size="5" color="red">'.$npage.'</font> páginas com <font size="5" color="red">'.$total.'</font> registros.</strong><br>';
if($npage>=1){
//for($i=$npage-3;$i<=$npage;$i++){ // tres 3 últimas páginas
for($i=1;$i<=2;$i++){ // teste 3 primeiras páginas
//for($i=1;$i<=$npage;$i++){ // em produção totas as páginas
$pg = str_pad($i, 3, '0', STR_PAD_LEFT);
$ttpg = str_pad($npage, 3, '0', STR_PAD_LEFT);
$dataResponse = new RequestCTe();
$resposta[$i] = $dataResponse->getResponse($i,$de,$ate);
$tudo[$i]=json_decode($resposta[$i][1], true);
$resta=$resposta[$i][0];if($resta<=5){sleep(10);}
echo '<br><strong>Restam <font size="5" color="red">'.$resta.'</font> consultas dentro do limite de tempo!</strong><br>';
if ($tudo[$i]['success']==1){
$data=$tudo[$i]['data'];
$nreg=count($data);
//for($y=0;$y<$nreg;$y++){
for($y=0;$y<$nreg;$y++){
$pagina[$i][$y]['numero'] = $data[$y]['number'];
if(isset($data[$y]['driver']['name'])){$pagina[$i][$y]['nome']=$data[$y]['driver']['name'];}else{$pagina[$i][$y]['nome']='';}
if(isset($data[$y]['vehicles']['traction']['license_plate'])){
$pagina[$i][$y]['placa']=$data[$y]['vehicles']['traction']['license_plate'];
$dataResponseVeic = new RequestVeic();
$respVeic = $dataResponseVeic->getVeic($data[$y]['vehicles']['traction']['license_plate']);
$pagina[$i][$y]['rodado'] = $rodd[$respVeic];
}else{$pagina[$i][$y]['placa']='';$pagina[$i][$y]['rodado'] = '';}
if(isset($data[$y]['classifications']['operation'])){$pagina[$i][$y]['descricao']=$oper[$data[$y]['classifications']['operation']];}else{$pagina[$i][$y]['descricao']='';}
$dataResponseID = new RequestCTeId();
$respID = $dataResponseID->getNFe($data[$y]['id']);
$pagina[$i][$y]['NFeNumeros'] = $respID;
$pagina[$i][$y]['NFeTotal'] = $data[$y]['cargo']['value'];
$name[0] = $data[$y]['sender']['name']; // remetente
if(isset($data[$y]['dispatcher']['name'])){$name[1]=$data[$y]['dispatcher']['name'];}else{$name[1]='';} // expedidor
if(isset($data[$y]['receiver']['name'])){$name[2]=$data[$y]['receiver']['name'];}else{$name[2]='';} // expedidor
$name[3] = $data[$y]['addressee']['name']; // destinatario
if(isset($data[$y]['customer']['name'])){$name[4]=$data[$y]['customer']['name'];}else{$name[4]='';} // expedidor
$pagina[$i][$y]['tomador'] = $name[$data[$y]['taker']];
if(isset($data[$y]['classifications']['costcenter'])){$pagina[$i][$y]['centroCusto']=$ccust[$data[$y]['classifications']['costcenter']];}else{$pagina[$i][$y]['centroCusto']='';}
$pagina[$i][$y]['remetente'] = $name[0];
$pagina[$i][$y]['destinatario'] = $name[3];
$pagina[$i][$y]['status'] = $stts[$data[$y]['status']];
$dataResponseOcorr = new RequestOcorr();
$respOcorr = $dataResponseOcorr->getOcorr($data[$y]['key']);
$pagina[$i][$y]['ocorrencia'] = $respOcorr;
$pagina[$i][$y]['emissao'] = $data[$y]['issued_at'];
$pagina[$i][$y]['atualizacao'] = $data[$y]['updated_at'];
}
}
}
}
}
}
echo '<pre>';
print_r($pagina);
exit();
$ini=($i-1)*40+1;
$fim=($i-1)*40+$nreg;
echo '<br><strong>Página: <font size="5" color="red">'.$pg.'</font> de <font size="5" color="red">'.$ttpg.'</font> Registros <font size="5" color="red">'.$ini.'</font> a <font size="5" color="red">'.$fim.'</font> de <font size="5" color="red">'.$total.'</font></strong><br>';
$p2=$p2+$nreg;
?>