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; }
public function getMaisRecenteOf($dod_id) { $sql = "select * from documento_retorno "; $sql .= "where dor_destinatario = {$dod_id} "; $sql .= "order by dor_data desc, dor_id desc limit 1"; $qr = mysqli_fetch_assoc($this->retrieve($sql)); $dor = new DocumentoRetorno(); $dor->setDor_id($qr["dor_id"]); $dor->setDor_documento($qr["dor_documento"]); $dor->setDor_destinatario($qr["dor_destinatario"]); $dor->setDor_data($qr["dor_data"]); $dor->setDor_visto($qr["dor_visto"]); $dor->setDor_rejeitado($qr["dor_rejeitado"]); return $dor; }