TransWar File Browser

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