Path: C:\
<?php
function abrevia($texto){
$split_name = explode(" ",$texto);
if(count($split_name) > 2){
for($h=1;(count($split_name) - 1) > $h; $h++){
if(strlen($split_name[$h]) > 3){
$split_name[$h] = substr($split_name[$h],0,1).".";
}
}
}
return implode(" ",$split_name);
}
// Incluir a conexão com banco de dados
include_once("../conexao_srvtms.php");
// Receber os dados do formulário
$dados = filter_input_array(INPUT_POST, FILTER_DEFAULT);
// Validar o campo número da coleta, acessa o IF quando o campo está vazio
if (empty($dados['coleta'])) {
// Criar o array com status e a mensagem de erro
$retorna = ['status' => false, 'msg' => "Nº de Coleta é obrigatório!"];
} else { // Acessa o ELSE quando campo Nº de Coleta está preenchido
// Criar a QUERY para consultar coleta no banco de dados
$query_coleta = "SELECT
case
when A.id_Manifesto is null then H.id_Manifesto
else A.id_Manifesto end as manifesto
,A.id_PedidoColeta as coleta
,R.id_Relat as relat
,ltrim(rtrim(R.ds_status)) as status
,ltrim(rtrim(R.ds_Motorista1)) as motorista1
,ltrim(rtrim(R.ds_Motorista2)) as motorista2
,R.nr_Minima as min
,R.nr_Maxima as max
,A.kg_Mercadoria as peso
,A.qt_Volume as volume
,convert(varchar(10), A.dt_PedidoColeta, 103) as data
,convert(varchar(32), A.ds_LocalColeta) as origem
,ltrim(rtrim(E.ds_Cidade)) as origemcid
,convert(varchar(32), A.cm_Destinatario) as destino
,ltrim(rtrim(A.ds_Cidade)) as destinocid
,ltrim(rtrim(G.nr_NotaFiscal)) as nota
,ltrim(rtrim(G.nr_Conhecimento)) as CTe
,A.id_Cliente as cliente
,A.id_Manifesto as manif_coleta
,H.id_Manifesto as manif_manif
,ltrim(rtrim(B.ds_Pessoa)) as motorista_coleta
,ltrim(rtrim(B1.ds_Pessoa)) as motorista_manif
,A.id_Veiculo as idveiculo_coleta
,H.id_Veiculo as idveiculo_manif
,SUBSTRING(D.ds_TipoVeiculo, 1,
CHARINDEX(' ', D.ds_TipoVeiculo, 1) - 1) as veiculo_coleta
,SUBSTRING(D1.ds_TipoVeiculo, 1,
CHARINDEX(' ', D1.ds_TipoVeiculo, 1) - 1) as veiculo_manif
,ltrim(rtrim(C.cd_Placa)) as placa_coleta
,ltrim(rtrim(C1.cd_Placa)) as placa_manif
,ltrim(rtrim(F.cd_Placa)) as carreta_coleta
,ltrim(rtrim(F1.cd_Placa)) as carreta_manif
FROM tbdPedidoColeta as A
left join tbdMovimento as G on A.id_PedidoColeta = G.nr_Coleta and G.id_ManifestoEntrega is not null
left join tbdManifestoMovimento as A1 on A1.id_Movimento=G.id_Movimento
left join tbdManifesto as H on A1.id_Manifesto=H.id_Manifesto
left JOIN tbdRelatTecnico as R on A.id_PedidoColeta = R.id_Coleta
left JOIN tbdPessoa as B on A.id_FuncionarioColeta = B.id_Pessoa
left JOIN tbdPessoa as B1 on H.id_Motorista = B1.id_Pessoa
left JOIN tbdVeiculo as C on A.id_Veiculo = C.id_Veiculo
left JOIN tbdVeiculo as C1 on H.id_Veiculo = C1.id_Veiculo
left JOIN tbdVeiculo as F on A.id_Carreta = F.id_Veiculo
left JOIN tbdVeiculo as F1 on H.id_Carreta = F1.id_Veiculo
left JOIN tbdTipoVeiculo as D on C.id_TipoVeiculo = D.id_TipoVeiculo
left JOIN tbdTipoVeiculo as D1 on C1.id_TipoVeiculo = D1.id_TipoVeiculo
left JOIN tbdCidade as E on A.id_CidadeColeta = E.id_Cidade
WHERE A.id_PedidoColeta = ".$dados['coleta']." order by manifesto";
$consulta = sqlsrv_query( $conn, $query_coleta, array(), array( "Scrollable"=>"buffered" ));
$num = sqlsrv_num_rows($consulta);$i=0;$manif_ant='';$obs='';
while ($row = sqlsrv_fetch_array($consulta, SQLSRV_FETCH_ASSOC)){
if($manif_ant!==$row['manifesto']){
$i++;$manif_ant=$row['manifesto'];
$res[$i]['coleta']=$row['coleta'];
$res[$i]['nota']=$obs.$row['nota'];
$res[$i]['CTe']=$row['CTe'];
$res[$i]['relat']=$row['relat'];
$res[$i]['status']=$row['status'];
$res[$i]['min']=$row['min'];
$res[$i]['max']=$row['max'];
$res[$i]['data']=$row['data'];
$res[$i]['id_Cliente']=$row['cliente'];
$res[$i]['peso']=$row['peso'];
$res[$i]['volume']=$row['volume'];
$res[$i]['motorista1']=abrevia($row['motorista1']);
$res[$i]['motorista2']=abrevia($row['motorista2']);
if($dados['tp']=='2'){
if($row['manif_manif']===null){$res[$i]['manifesto']=$row['manif_coleta'];}else{$res[$i]['manifesto']=$row['manif_manif'];}
if($row['motorista_manif']===null){$res[$i]['motorista']=abrevia($row['motorista_coleta']);}else{$res[$i]['motorista']=abrevia($row['motorista_manif']);}
if($row['idveiculo_manif']===null){$res[$i]['idveiculo']=$row['idveiculo_coleta'];}else{$res[$i]['idveiculo']=$row['idveiculo_manif'];}
if($row['veiculo_manif']===null){$res[$i]['veiculo']=$row['veiculo_coleta'];}else{$res[$i]['veiculo']=$row['veiculo_manif'];}
if($row['carreta_manif']===null){$res[$i]['carreta']=$row['carreta_coleta'];}else{$res[$i]['carreta']=$row['carreta_manif'];}
if($row['placa_manif']===null){$res[$i]['placa']=$row['placa_coleta'];}else{$res[$i]['placa']=$row['placa_manif'];}
$res[$i]['destino']=$row['destino'];
$res[$i]['destinocid']=$row['destinocid'];
switch ($res[$i]['id_Cliente']) {
case "497": {
$res[$i]['origem'] = "TRANS WAR";
$res[$i]['origemcid'] = "CAMPINAS";
break;
}
case "500": {
$res[$i]['origem'] = "TRANS WAR";
$res[$i]['origemcid'] = "OSASCO";
break;
}
case "501": {
$res[$i]['origem'] = "TRANS WAR";
$res[$i]['origemcid'] = "GOIÂNIA";
break;
}
}
} else if($dados['tp']=='1'){
if($row['manif_coleta']===null){$res[$i]['manifesto']=$row['manif_manif'];}else{$res[$i]['manifesto']=$row['manif_coleta'];}
if($row['motorista_coleta']===null){$res[$i]['motorista']=abrevia($row['motorista_manif']);}else{$res[$i]['motorista']=abrevia($row['motorista_coleta']);}
if($row['idveiculo_coleta']===null){$res[$i]['idveiculo']=abrevia($row['idveiculo_manif']);}else{$res[$i]['idveiculo']=abrevia($row['idveiculo_coleta']);}
if($row['veiculo_coleta']===null){$res[$i]['veiculo']=abrevia($row['veiculo_manif']);}else{$res[$i]['veiculo']=abrevia($row['veiculo_coleta']);}
if($row['carreta_coleta']===null){$res[$i]['carreta']=abrevia($row['carreta_manif']);}else{$res[$i]['carreta']=abrevia($row['carreta_coleta']);}
if($row['placa_coleta']===null){$res[$i]['placa']=abrevia($row['placa_manif']);}else{$res[$i]['placa']=abrevia($row['placa_coleta']);}
$res[$i]['origem']=$row['origem'];
$res[$i]['origemcid']=$row['origemcid'];
switch ($res[$i]['id_Cliente']) {
case "497": {
$res[$i]['destino'] = "TRANS WAR";
$res[$i]['destinocid'] = "CAMPINAS";
break;
}
case "500": {
$res[$i]['destino'] = "TRANS WAR";
$res[$i]['destinocid'] = "OSASCO";
break;
}
case "501": {
$res[$i]['destino'] = "TRANS WAR";
$res[$i]['destinocid'] = "GOIÂNIA";
break;
}
}
} else {
if($row['motorista_coleta']===null){$res[$i]['motorista']=abrevia($row['motorista_manif']);}else{$res[$i]['motorista']=abrevia($row['motorista_coleta']);}
if($row['idveiculo_coleta']===null){$res[$i]['idveiculo']=abrevia($row['idveiculo_manif']);}else{$res[$i]['idveiculo']=abrevia($row['idveiculo_coleta']);}
if($row['veiculo_coleta']===null){$res[$i]['veiculo']=abrevia($row['veiculo_manif']);}else{$res[$i]['veiculo']=abrevia($row['veiculo_coleta']);}
if($row['carreta_coleta']===null){$res[$i]['carreta']=abrevia($row['carreta_manif']);}else{$res[$i]['carreta']=abrevia($row['carreta_coleta']);}
if($row['placa_coleta']===null){$res[$i]['placa']=abrevia($row['placa_manif']);}else{$res[$i]['placa']=abrevia($row['placa_coleta']);}
$res[$i]['manifesto']=$row['manifesto'];
$res[$i]['origem']=$row['origem'];
$res[$i]['origemcid']=$row['origemcid'];
$res[$i]['destino']=$row['destino'];
$res[$i]['destinocid']=$row['destinocid'];
}
} else {$obs=$obs.' | ';}
}
if ($num>1){
$retorna = ['status' => $i, 'msg' => "Mais que UM!",'dados'=> $res];
} elseif($num==1){
$retorna = ['status' => 1, 'msg' => "Somente UM!",'dados'=> $res];
} else{
$retorna = ['status' => 0, 'msg' => "Nº Coleta NÃO existe!"];
}
}
echo json_encode($retorna);