TransWar File Browser

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;
?>