Commit 5a97a98bd411e38a6fc5be1311637f93cf369726
1 parent
92ab0f314d
Exists in
master
creado el calculo de tiempo necesario para poder solicitar ascenso
Showing
1 changed file
with
53 additions
and
0 deletions
Show diff stats
src/AppBundle/Controller/AscensoController.php
... | ... | @@ -54,6 +54,53 @@ class AscensoController extends Controller |
54 | 54 | return $this->redirect($this->generateUrl('cea_index')); |
55 | 55 | } |
56 | 56 | |
57 | + $escalafones = $this->getDoctrine()->getRepository("AppBundle:Escalafones")->findOneById($escala->getIdEscala()->getId() + 1); //tiempo para el proximo escalafon | |
58 | + $tiempoProxEscalafon = $escala->getFechaEscala()->diff(new \DateTime("now")); | |
59 | + | |
60 | + //si no cumple el tiempo para solicitar ascenso | |
61 | + if($tiempoProxEscalafon->y < $escalafones->getTiempo()){ | |
62 | + //preguntar si tiene activa una solicitud de antiguedad | |
63 | + $servicioAntiguedad = $this->getDoctrine()->getRepository('AppBundle:DocenteServicio')->findOneBy(array( | |
64 | + 'idRolInstitucion' => $escala->getIdRolInstitucion(), | |
65 | + 'idServicioCe' => 1 | |
66 | + )); | |
67 | + | |
68 | + //si tiene solicitud vamos a decirle al usuario que vamos a utlizarla para ver si le alcanza | |
69 | + if($servicioAntiguedad){ | |
70 | + //obtenemos la fecha de concurso de oposición | |
71 | + $oposicion = $this->getDoctrine()->getRepository("AppBundle:DocenteEscala")->findOneBy(array( | |
72 | + 'idTipoEscala' => 1, | |
73 | + 'idRolInstitucion' => $escala->getIdRolInstitucion() | |
74 | + )); | |
75 | + //obtenemos su fecha de ingreso | |
76 | + $adscripcion = $this->getDoctrine()->getRepository("AppBundle:Adscripcion")->findOneByIdRolInstitucion($escala->getIdRolInstitucion()); | |
77 | + //calculamos su antiguedad | |
78 | + $tiempoAntiguedad = $adscripcion->getFechaIngreso()->diff($oposicion->getFechaEscala()); | |
79 | + | |
80 | + //calculamos el nuevo tiempo que tiene con el tiempo en años mas lo que se le debe | |
81 | + $y = new \DateTime(); | |
82 | + $f = clone $y; | |
83 | + $y->add($tiempoProxEscalafon); | |
84 | + $y->add($tiempoAntiguedad); | |
85 | + //tenemos el total de tiempo que tiene el docente | |
86 | + $nuevoTiempo = $f->diff($y); | |
87 | + | |
88 | + //si todavía no cumple el tiempo | |
89 | + if($nuevoTiempo->y < $escalafones->getTiempo()){ | |
90 | + $this->addFlash('danger', 'Estimado Docente, Incluyendo la antiguedad que se le adeuda, Todavía no cumple el tiempo para solicitar el ascenso.'); | |
91 | + return $this->redirect($this->generateUrl('cea_index')); | |
92 | + }else{ | |
93 | + $formalizarTiempo = true; | |
94 | + } | |
95 | + | |
96 | + | |
97 | + //si no tiene antiguedad | |
98 | + }else{ | |
99 | + $this->addFlash('danger', 'Estimado Docente, Todavía no cumple el tiempo para solicitar el ascenso.'); | |
100 | + return $this->redirect($this->generateUrl('cea_index')); | |
101 | + } | |
102 | + } | |
103 | + | |
57 | 104 | $siguiente = $escala->getIdEscala()->getId() + 1; |
58 | 105 | $ascenso = new Ascenso(); |
59 | 106 | if($siguiente < 6){ |
... | ... | @@ -172,6 +219,12 @@ class AscensoController extends Controller |
172 | 219 | |
173 | 220 | $em->persist($servicios); |
174 | 221 | $em->persist($ascenso); |
222 | + | |
223 | + if($formalizarTiempo){ | |
224 | + $servicioAntiguedad->setIdEstatus(4); | |
225 | + $em->persist($servicioAntiguedad); | |
226 | + $this->addFlash('warning', 'Para Registrar la solicitud, fue necesaria la formalización de su Solicitud de Antiguedad'); | |
227 | + } | |
175 | 228 | |
176 | 229 | $em->flush(); //guarda en la base de datos |
177 | 230 | ... | ... |