File: /home/undanet/www/PortalEmpleo/src/Repository/DBTribunalValoracionRepository.php
<?php
namespace PortalEmpleo\Repository;
require __DIR__ . '/../../vendor/autoload.php';
require_once __DIR__ . '/../../bootstrap.php';
use Dotenv\Dotenv;
use PortalEmpleo\Entity\DboCandidato;
use PortalEmpleo\Entity\DboConvocatoria;
use PortalEmpleo\Entity\DboConvocatoriamerito;
use PortalEmpleo\Entity\DboConvocatoriarequisito;
use PortalEmpleo\Entity\DboRol;
use PortalEmpleo\Entity\DboTribunalconvocatoria;
use PortalEmpleo\Entity\DboTribunalvaloracion;
use PortalEmpleo\Entity\WpUsers;
use PortalEmpleo\Entity\WpUsermeta;
use Doctrine\Common\Collections\Criteria;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class DBTribunalValoracionRepository extends AbstractController
{
private $dotenv;
private $entityManager;
public function __construct()
{
}
private function loadEnv()
{
try{
$dotenv = Dotenv::createImmutable(__DIR__ . "/../../");
$dotenv->load();
$em = getEntityManager();
return $em;
}
catch (Exception $ex){
echo $exception->getMessage();
return null;
}
}
private function loadEnvWP()
{
try{
$dotenv = Dotenv::createImmutable(__DIR__ . "/../../");
$dotenv->load();
$em = getEntityManagerWP();
return $em;
}
catch (Exception $ex){
echo $exception->getMessage();
return null;
}
}
private function obtenerListaTraducciones($em, $nombretablatraduccion, $columnaid, $columnatexto, $columna2, $language, $id)
{
try
{
$sql = "SELECT T." . $columnaid . " , T." . $columnatexto . " , T." . $columna2 . " , T.CodigoIdioma FROM " . $nombretablatraduccion . " T WHERE CodigoIdioma = '" . $language . "'";
if(isset($id))
{
$sql = $sql . " AND T." . $columnaid . " = " . $id;
}
$rs = $em->getConnection()->query($sql)->fetchAll();
return $rs;
}
catch (Exception $ex)
{
echo $exception->getMessage();
return null;
}
}
public function obtenerTribunalValoracion($lang, $codigoconvocatoria, $codigorequisito, $codigomerito)
{
try
{
$entityManager = $this->loadEnv();
if(isset($codigorequisito) && $codigorequisito != null)
{
$ltrbvlc = $entityManager->getRepository(DboTribunalvaloracion::class)
->createQueryBuilder('c')
->where('c.codigoconvocatoria = :cvt')
->andwhere('c.codigoconvocatoriarequisito = :creq')
->andwhere('c.baja = false')
->setParameter('cvt', $codigoconvocatoria)
->setParameter('creq', $codigorequisito)
->addOrderBy('c.idtribunalvaloracion', 'ASC')
->getQuery()
->execute();
}
else if(isset($codigomerito) && $codigomerito != null)
{
$ltrbvlc = $entityManager->getRepository(DboTribunalvaloracion::class)
->createQueryBuilder('c')
->where('c.codigoconvocatoria = :cvt')
->andwhere('c.codigoconvocatoriamerito = :cmrt')
->andwhere('c.baja = false')
->setParameter('cvt', $codigoconvocatoria)
->setParameter('cmrt', $codigomerito)
->addOrderBy('c.idtribunalvaloracion', 'ASC')
->getQuery()
->execute();
}
if (!$ltrbvlc) {
$entityManager->getConnection()->close();
return ;
}
$entityManager->getConnection()->close();
return $ltrbvlc;
}
catch (Exception $ex)
{
echo $exception->getMessage();
}
}
public function obtenerValoracionesTribunalConvocatoria($lang, $codigoconvocatoria)
{
try
{
$entityManager = $this->loadEnv();
$ltrbvlc = $entityManager->getRepository(DboTribunalvaloracion::class)
->createQueryBuilder('c')
->where('c.codigoconvocatoria = :cvt')
->andwhere('c.baja = false')
->setParameter('cvt', $codigoconvocatoria)
->addOrderBy('c.idtribunalvaloracion', 'ASC')
->getQuery()
->execute();
if (!$ltrbvlc) {
return ;
}
$entityManager->getConnection()->close();
return $ltrbvlc;
}
catch (Exception $ex)
{
echo $exception->getMessage();
}
}
public function insertarTribunalValoracion($tribunalvaloracion)
{
try
{
if(is_object($tribunalvaloracion))
{
$entityManager = $this->loadEnv();
$trbVlc = new DboTribunalvaloracion();
$trbVlc = $trbVlc->setComentario($tribunalvaloracion->getComentario());
$trbVlc = $trbVlc->setFecha($tribunalvaloracion->getFecha());
//$trbVlc = $trbVlc->setConclusion($tribunalvaloracion->getConclusion()); //FALTA IMPLEMENTARLA
$trbVlc->setEsconcluyente($tribunalvaloracion->getEsconcluyente());
if ($tribunalvaloracion->getEstasuperado() != null)
$trbVlc->setEstasuperado($tribunalvaloracion->getEstasuperado());
if ($tribunalvaloracion->getpuntuacion() != null)
$trbVlc->setpuntuacion($tribunalvaloracion->getpuntuacion());
if ($tribunalvaloracion->getExamennota() != null)
$trbVlc->setExamennota($tribunalvaloracion->getExamennota());
$trbVlc = $trbVlc->setBaja($tribunalvaloracion->getBaja());
if( $tribunalvaloracion->getIdtribunalvaloracion() != 0 )
$trbVlc = $trbVlc->setIdtribunalvaloracion( $tribunalvaloracion->getIdtribunalvaloracion() );
$cdt = $entityManager->getRepository(DboCandidato::class)->find(($tribunalvaloracion->getCodigocandidato())->getIdcandidato());
$entityManager->clear();
if (!$cdt) {
throw $this->createNotFoundException(
'No se encuentra el candidato con el id '. ($tribunalvaloracion->getCodigocandidato())->getIdcandidato()
);
}
$trbVlc = $trbVlc->setCodigocandidato2($cdt);
$cvt = $entityManager->getRepository(DboConvocatoria::class)->find(($tribunalvaloracion->getCodigoconvocatoria())->getIdconvocatoria());
$entityManager->clear();
if (!$cvt) {
throw $this->createNotFoundException(
'No se encuentra la convocatoria con el id '. ($tribunalvaloracion->getCodigoconvocatoria())->getIdconvocatoria()
);
}
$trbVlc = $trbVlc->setCodigoconvocatoria2($cvt);
if($tribunalvaloracion->getCodigoconvocatoriamerito() != null && is_numeric(($tribunalvaloracion->getCodigoconvocatoriamerito())->getIdconvocatoriamerito()))
{
$mrt = $entityManager->getRepository(DboConvocatoriamerito::class)->find(($tribunalvaloracion->getCodigoconvocatoriamerito())->getIdconvocatoriamerito());
$entityManager->clear();
if (!$mrt) {
throw $this->createNotFoundException(
'No se encuentra el mérito con el id '. ($tribunalvaloracion->getCodigoconvocatoriamerito())->getIdconvocatoriamerito()
);
}
$trbVlc = $trbVlc->setCodigoconvocatoriamerito2($mrt);
}
if($tribunalvaloracion->getCodigoconvocatoriarequisito() != null && is_numeric(($tribunalvaloracion->getCodigoconvocatoriarequisito())->getIdconvocatoriarequisito()))
{
$rqt = $entityManager->getRepository(DboConvocatoriarequisito::class)->find(($tribunalvaloracion->getCodigoconvocatoriarequisito())->getIdconvocatoriarequisito());
$entityManager->clear();
if (!$rqt) {
throw $this->createNotFoundException(
'No se encuentra el requisito con el id '. ($tribunalvaloracion->getCodigoconvocatoriarequisito())->getIdconvocatoriarequisito()
);
}
$trbVlc = $trbVlc->setCodigoconvocatoriarequisito2($rqt);
}
$trbcvt = $entityManager->getRepository(DboTribunalconvocatoria::class)->find(($tribunalvaloracion->getCodigotribunalconvocatoria())->getIdtribunalconvocatoria());
$entityManager->clear();
if (!$trbcvt) {
throw $this->createNotFoundException(
'No se encuentra el tribunalconvocatoria con el id '. ($tribunalvaloracion->getCodigotribunalconvocatoria())->getIdtribunalconvocatoria()
);
}
$trbVlc = $trbVlc->setCodigotribunalconvocatoria2($trbcvt);
$entityManager->merge($trbVlc);
$entityManager->flush();
$entityManager->clear();
$entityManager->getConnection()->close();
return $trbVlc;
}
}
catch (Exception $ex)
{
echo $exception->getMessage();
}
}
}
?>