Exemplo n.º 1
0
 public function getEnviosByDocumento($doc_id)
 {
     $sql = "select distinct dor.dor_envio, doe.*, esc.esc_id, esc.esc_nome, ";
     $sql .= "IF (dor.dor_id = (select max(dor2.dor_id) from documento_retorno dor2 where dor2.dor_envio = doe.doe_id) or dor.dor_id is null, dor.dor_id, 'antigo') as dor_id, ";
     $sql .= "dor.dor_rejeitado, dor.dor_visto is not null as dor_visto, ";
     $sql .= "doc.doc_id, doc.doc_descricao is not null as doc_descricao ";
     $sql .= "from documento_envio doe ";
     $sql .= "join escola esc on doe.doe_destinatario = esc.esc_id ";
     $sql .= "left join documento_retorno dor on doe.doe_id = dor.dor_envio ";
     $sql .= "left join documento doc on dor.dor_documento = doc.doc_id ";
     $sql .= "where doe.doe_documento = {$doc_id};";
     $result = $this->retrieve($sql);
     $retorno = [];
     while ($qr = mysqli_fetch_array($result)) {
         if ($qr["dor_id"] == "antigo") {
             continue;
         }
         $doe = new DocumentoEnvio();
         $doe->setDoe_id($qr["doe_id"]);
         $doe->setDoe_data_envio($qr["doe_data_envio"]);
         $doe->setDoe_documento($qr["doe_documento"]);
         $doe->setDoe_retorno($qr["doe_retorno"]);
         $doe->setDoe_visto($qr["doe_visto"]);
         $doe->setDoe_destinatario(new Escola());
         $doe->getDoe_destinatario()->setEsc_id($qr["esc_id"]);
         $doe->getDoe_destinatario()->setEsc_nome($qr["esc_nome"]);
         $dados = ["envio" => $doe];
         if ($qr["dor_id"] != null) {
             $dor = new DocumentoRetorno();
             $dor->setDor_id($qr["dor_id"]);
             $dor->setDor_visto($qr["dor_visto"]);
             $dor->setDor_rejeitado($qr["dor_rejeitado"]);
             $dor->setDor_documento(new Documento());
             $dor->getDor_documento()->setDoc_id($qr["doc_id"]);
             $dor->getDor_documento()->setDoc_descricao($qr["doc_descricao"]);
             $dados["retorno"] = $dor;
         } else {
             $dados["retorno"] = false;
         }
         array_push($retorno, $dados);
     }
     return $retorno;
 }