Ejemplo 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;
 }
Ejemplo n.º 2
0
 public function selectDocumentoEnviados()
 {
     $sql = "   SELECT doe_id, doe_data_envio, doe_visto, doe_retorno, doc_id, doc_assunto, doc_descricao, ";
     $sql .= "   MAX(IF(doe_retorno = 1 AND dor_id IS NULL, 1, 0)) as retornos_pendentes, MAX(IF(doe_retorno = 1 AND dor_visto = 0, 1, 0)) as retornos_nao_vistos ";
     $sql .= "   FROM documento_envio ";
     $sql .= "   JOIN documento ON doe_documento = doc_id ";
     $sql .= "   LEFT JOIN documento_retorno ON dor_envio = doe_id ";
     $sql .= "   GROUP BY doe_documento";
     $result = $this->retrieve($sql);
     $retorno = [];
     while ($qr = mysqli_fetch_array($result)) {
         $doe = new DocumentoEnvio();
         $doe->setDoe_id($qr["doe_id"]);
         $doe->setDoe_data_envio($qr["doe_data_envio"]);
         $doe->setDoe_visto($qr["doe_visto"]);
         $doe->setDoe_retorno($qr["doe_retorno"]);
         $doe->setDoe_documento(new Documento());
         $doe->getDoe_documento()->setDoc_id($qr["doc_id"]);
         $doe->getDoe_documento()->setDoc_assunto($qr["doc_assunto"]);
         $doe->getDoe_documento()->setDoc_descricao($qr["doc_descricao"]);
         array_push($retorno, ["documento_envio" => $doe, "verificadores" => ["exige_retorno" => intval($qr["doe_retorno"]), "retornos_nao_vistos" => intval($qr["retornos_nao_vistos"]), "retornos_pendentes" => intval($qr["retornos_pendentes"])]]);
     }
     return $retorno;
 }