public function obtenerMemoPorSerial(Serial $serial) { try { $memos = DB::table('pEntregaexp')->join('tHistorico', function ($join) { $join->on('tHistorico.curp', '=', 'pEntregaexp.curp')->on('tHistorico.idevaluacion', '=', 'pEntregaexp.idevaluacion'); })->join('tElementosint', 'tElementosint.curp', '=', 'tHistorico.curp')->where('pEntregaexp.cmemo', $serial->getSerialBase())->orderBy('tHistorico.SerialElement')->get(); $totalEvaluaciones = count($memos); if ($totalEvaluaciones > 0) { $memoEntrega = new MemoEntrega($memos[0]->cmemo); $memoEntrega->setSerial($serial); foreach ($memos as $memos) { is_null($memos->fidtox) ? $entrega = false : ($entrega = true); $evaluacion = new Evaluacion($memos->idhistorico); $evaluacion->setElemento(new Elemento($memos->nombre, $memos->paterno, $memos->materno, $memos->curp, $memos->rfc)); $evaluacion->setNumeroEvaluacion($memos->idevaluacion); $evaluacion->setDiferenciada($memos->evaldiferenciada); $evaluacion->setSerial(new SerialExpediente($memos->SerialElement . $memoEntrega->getSerial()->getArea()->getId())); $evaluacion->setEntregaMedicoToxicologica($entrega); $this->obtenerEvaluacionesPoligraficasdeEvaluacion($evaluacion); $evaluacion->verificarEntregaDePoligrafia(); if (is_null($memos->idArchivoEstatus)) { // en integración $evaluacion->setArchivoEstatus(new ArchivoEstatus(1)); } $memoEntrega->agregarEvaluacion($evaluacion); } return $memoEntrega; } return null; } catch (\PDOException $e) { echo $e->getMessage(); return null; } }
/** * obtener una evaluacion por el numero serial proporcionado * @param Serial $serial * @return mixed */ public function obtenerEvaluacionPorSerial(Serial $serial) { try { $evaluaciones = DB::table('tElementosint')->join('tHistorico', 'tHistorico.curp', '=', 'tElementosint.curp')->where('tHistorico.SerialElement', $serial->getSerialBase())->first(); $totalEvaluaciones = count($evaluaciones); if ($totalEvaluaciones > 0) { is_null($evaluaciones->fidtox) ? $entrega = false : ($entrega = true); $evaluacion = new Evaluacion($evaluaciones->idhistorico); $evaluacion->setElemento(new Elemento($evaluaciones->nombre, $evaluaciones->paterno, $evaluaciones->materno, $evaluaciones->curp, $evaluaciones->rfc)); $evaluacion->setNumeroEvaluacion($evaluaciones->idevaluacion); $evaluacion->setSerial($serial); $evaluacion->setDiferenciada($evaluaciones->evaldiferenciada); $evaluacion->setEntregaMedicoToxicologica($entrega); $this->obtenerEvaluacionesPoligraficasdeEvaluacion($evaluacion); $evaluacion->verificarEntregaDePoligrafia(); return $evaluacion; } return null; } catch (\PDOException $e) { echo $e->getMessage(); return null; } }
/** * verificar si el área en cuestión entregó el expediente * @return bool */ public function entregoElArea() { switch ($this->serial->getArea()->getId()) { case 1: return $this->entregaMedicoToxicologica; break; case 2: return $this->entregaSocioeconomicos; break; case 3: return $this->entregaPsicologia; break; case 4: return $this->entregaPoligrafia; break; case 5: return $this->entregaMedicoToxicologica; break; } }