Commit 8b6cfa6dfab135eff9da9dd5a59fc3cb832dfe87
1 parent
d0f24f9ef6
Exists in
master
creado el memorando de la solicitud aprobada de ascenso.
Showing
4 changed files
with
279 additions
and
3 deletions
Show diff stats
app/Resources/views/base_memo.html.twig
app/Resources/views/cea/servicios.html.twig
@@ -78,7 +78,8 @@ | @@ -78,7 +78,8 @@ | ||
78 | {% elseif servicio.idServicioCe.id == 3 %} | 78 | {% elseif servicio.idServicioCe.id == 3 %} |
79 | <a href="{{ path('cea_estado_academico_show', { 'id': servicio.id }) }}" class="btn btn-xs btn-info"><i class="fa fa-eye"> </i></a> | 79 | <a href="{{ path('cea_estado_academico_show', { 'id': servicio.id }) }}" class="btn btn-xs btn-info"><i class="fa fa-eye"> </i></a> |
80 | {% elseif servicio.idServicioCe.id == 5 %} | 80 | {% elseif servicio.idServicioCe.id == 5 %} |
81 | - <a href="{{ path('cea_ascenso_show', { 'id': servicio.id }) }}" class="btn btn-xs btn-info"><i class="fa fa-eye"> </i></a> | 81 | + <a href="{{ path('cea_ascenso_show', { 'id': servicio.id }) }}" class="btn btn-xs btn-info"><i class="fa fa-eye"> </i> |
82 | + <a href="{{ path('ascenso_resumen', { 'id': servicio.id }) }}" class="btn btn-xs btn-warning"><i class="fa fa-print"> </i></a> | ||
82 | {% elseif servicio.idServicioCe.id == 6 %} | 83 | {% elseif servicio.idServicioCe.id == 6 %} |
83 | <a href="{{ path('cea_reconocimientoEscala_show', { 'id': servicio.id }) }}" class="btn btn-xs btn-info"><i class="fa fa-eye"> </i></a> | 84 | <a href="{{ path('cea_reconocimientoEscala_show', { 'id': servicio.id }) }}" class="btn btn-xs btn-info"><i class="fa fa-eye"> </i></a> |
84 | {% endif %} | 85 | {% endif %} |
app/Resources/views/memorando/ascenso.html.twig
@@ -0,0 +1,199 @@ | @@ -0,0 +1,199 @@ | ||
1 | +{% extends 'base_memo.html.twig' %} | ||
2 | + | ||
3 | +{% block para %} | ||
4 | + {{ascenso.idRolInstitucion.idRol.idPersona.primerNombre}} | ||
5 | + {{ascenso.idRolInstitucion.idRol.idPersona.segundoNombre}} | ||
6 | + {{ascenso.idRolInstitucion.idRol.idPersona.primerApellido}} | ||
7 | + {{ascenso.idRolInstitucion.idRol.idPersona.segundoApellido}} | ||
8 | + ({{ascenso.idRolInstitucion.idRol.idPersona.cedulaPasaporte}}) | ||
9 | + <br>Trabajador Académico adscrito al Centro de Estudios Ambientales | ||
10 | +{%endblock %} | ||
11 | + | ||
12 | +{% block numero %}{{ correlativo }}{% endblock %} | ||
13 | + | ||
14 | +{% block coordinador %} | ||
15 | + Prof. Alexis Lozada | ||
16 | + <br>Director (E) Del Centro de Estudios Ambientales. | ||
17 | +{% endblock %} | ||
18 | + | ||
19 | + | ||
20 | +{% block asunto %} | ||
21 | + Cuadro resumen solicitud de Ascenso | ||
22 | +{%endblock%} | ||
23 | + | ||
24 | +{% block fecha %} | ||
25 | + {{ "now"|date("d/m/Y") }} | ||
26 | +{%endblock%} | ||
27 | + | ||
28 | + {% block cuerpo %} | ||
29 | + <style> | ||
30 | + | ||
31 | + | ||
32 | + | ||
33 | + @media print { | ||
34 | + footer {page-break-after: always;} | ||
35 | + } | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | ||
40 | + </style> | ||
41 | + | ||
42 | + <p class="text-justify cuerpo-memo"> | ||
43 | + Reciba un cordial saludo bolivariano y revolucionario de parte del equipo | ||
44 | + de trabajo de este Centro de Estudios Ambientales. La presente es para | ||
45 | + informar que este Centro reconoce su solicitud de Ascenso de Escalafón | ||
46 | + de {{ ultimaEscala.idEscala }} a {{ ascenso.idEscalafones }} a través | ||
47 | + del siguiente Cuadro Resumen.<br><br><br><br><br><br><br><br><br><br><br> | ||
48 | + <br><br><br><br><br><br><br><br><br><br> | ||
49 | + | ||
50 | + <footer> | ||
51 | + <div class="row "> | ||
52 | + | ||
53 | + <div class="col-xs-10 text-right"> | ||
54 | + <p>Av. Leonardo Da Vinci</p> | ||
55 | + <p>Edif. Universidad Bolivariana de Venezuela</p> | ||
56 | + <p>Piso 8. Los Chaguaramos</p> | ||
57 | + <p>Telf. 0212- 606.3449</p> | ||
58 | + <p>RIF. G - 20003773-3</p> | ||
59 | + <p>www.ubv.edu.ve - @ubv</p> | ||
60 | + <p class="text-center">"Sembramos Saberes Cosechamos Patria"</p> | ||
61 | + </div> | ||
62 | + <div class="col-xs-2 push-left"> | ||
63 | + <img width="80%" src="{{ asset('bundles/framework/images/memorando/logoJuventud.jpg')}}" /> | ||
64 | + </div> | ||
65 | + | ||
66 | + | ||
67 | + </div> | ||
68 | + | ||
69 | + | ||
70 | + </footer> | ||
71 | + | ||
72 | + <header> | ||
73 | + <table> | ||
74 | + <tr> | ||
75 | + <td> | ||
76 | + <div > | ||
77 | + <img width="50%" src="{{ asset('bundles/framework/images/portal/logo_ubv.png')}}" /> | ||
78 | + </div> | ||
79 | + </td> | ||
80 | + <td> | ||
81 | + <div> | ||
82 | + <p>República Bolivariana de Venezuela</p> | ||
83 | + <p>Universidad Bolivariana de Venezuela</p> | ||
84 | + <p>Rectorado</p> | ||
85 | + <p>Dirección General de Apoyo Socio Administrativo</p> | ||
86 | + </div> | ||
87 | + </td> | ||
88 | + </tr> | ||
89 | + </table> | ||
90 | + </header> | ||
91 | + | ||
92 | + <div class="row"> | ||
93 | + <div class="text-right"> | ||
94 | + <p><strong>CEA@UBV-N°-00{{ correlativo }}</strong></p> | ||
95 | + </div> | ||
96 | + </div> | ||
97 | + | ||
98 | + <div class="row"> | ||
99 | + <div class="text-center"> | ||
100 | + <p><strong>M E M O R A N D O</strong></p> | ||
101 | + </div> | ||
102 | + </div> | ||
103 | + <br><br> | ||
104 | + | ||
105 | + | ||
106 | + | ||
107 | +<table id="resumen" class="table table-bordered table-condensed" style="height: 116px; margin-left: auto; margin-right: auto;" width="552"> | ||
108 | + <tbody> | ||
109 | + <tr> | ||
110 | + <td colspan="5"> | ||
111 | + <p class="western" lang="es-ES" align="center"> | ||
112 | + <span style="font-size: medium;"> | ||
113 | + <strong>Jurado Principal y Suplente para Trabajo de Ascenso</strong> | ||
114 | + </span> | ||
115 | + </p> | ||
116 | + </td> | ||
117 | + </tr> | ||
118 | + <tr > | ||
119 | + <td colspan="2">Ascenso Solicitado:</td> | ||
120 | + <td colspan="3">{{ ascenso.idEscalafones }}</td> | ||
121 | + </tr> | ||
122 | + <tr> | ||
123 | + <td colspan="2">Área Académica:</td> | ||
124 | + <td colspan="3">{{ adscripcion.idLineaInvestigacion.idAreaInvestigacion }}</td> | ||
125 | + </tr> | ||
126 | + <tr> | ||
127 | + <td colspan="2">Eje Geopolítico:</td> | ||
128 | + <td colspan="3">{{ ascenso.idRolInstitucion.idInstitucion.idEjeParroquia.idEje }}</td> | ||
129 | + </tr> | ||
130 | + <tr> | ||
131 | + <td colspan="2">Fecha primera Contratación UBV:</td> | ||
132 | + <td colspan="3">{{ adscripcion.fechaIngreso | date('d-m-Y') }}</td> | ||
133 | + </tr> | ||
134 | + <tr> | ||
135 | + <td colspan="2">Fecha y Categoría Académica Concurso de Oposición:</td> | ||
136 | + <td colspan="3"> | ||
137 | + {{ oposicion.fechaEscala | date('d-m-Y') }} | ||
138 | + {{ oposicion.idEscala }} | ||
139 | + </td> | ||
140 | + </tr> | ||
141 | + <tr> | ||
142 | + <td colspan="2">Fecha y Categoría Académica úlitmo ascenso:</td> | ||
143 | + <td colspan="3"> | ||
144 | + {{ ultimaEscala.fechaEscala | date('d-m-Y') }}: | ||
145 | + {{ ultimaEscala.idEscala }} | ||
146 | + </td> | ||
147 | + </tr> | ||
148 | + <tr> | ||
149 | + <td colspan="2">Fecha y consignación documentos y trabajo ascenso:</td> | ||
150 | + <td colspan="3">{{ servicio.fechaSolicitud | date('m-d-Y') }}</td> | ||
151 | + </tr> | ||
152 | + <th>Nombres, Apellidos y Categoría Académica</th> | ||
153 | + <th class="col-md-2">Trabajo de Ascenso</th> | ||
154 | + <th colspan="2">Jurado Principal</th> | ||
155 | + <th>Jurado Suplente</th> | ||
156 | + <tr> | ||
157 | + <td> | ||
158 | + {{ ascenso.idRolInstitucion.idRol.idPersona.idNacionalidad.abreviacion }} | ||
159 | + {{ ascenso.idRolInstitucion.idRol.idPersona.cedulaPasaporte }} | ||
160 | + {{ ascenso.idRolInstitucion.idRol.idPersona }} | ||
161 | + {{ ultimaEscala.idEscala }} | ||
162 | + </td> | ||
163 | + <td class="col-md-2">{{ ascenso.tituloTrabajo }}</td> | ||
164 | + <td colspan="2" class="col-md-2"> | ||
165 | + {% set break = false %} | ||
166 | + <ul> | ||
167 | + {% for tutores in ascenso.tutoresAscenso if not break %} | ||
168 | + {% if loop.index == 4 %} {% set break = true %} {% endif %} | ||
169 | + <li>{{ tutores }}</li> | ||
170 | + {% endfor %} | ||
171 | + </ul> | ||
172 | + </td> | ||
173 | + <td> | ||
174 | + <ul> | ||
175 | + {% for tutores in ascenso.tutoresAscenso %} | ||
176 | + {% if loop.index > 4 %} | ||
177 | + <li>{{ tutores }}</li> | ||
178 | + {% endif %} | ||
179 | + {% endfor %} | ||
180 | + </ul> | ||
181 | + </td> | ||
182 | + </tr> | ||
183 | + | ||
184 | +</tbody> | ||
185 | +</table> | ||
186 | + | ||
187 | + | ||
188 | + {% endblock %} | ||
189 | + | ||
190 | + {%block javascripts %} | ||
191 | + {{ parent() }} | ||
192 | + <script type="text/javascript"> | ||
193 | + | ||
194 | + window.onload = function () { | ||
195 | + window.print(); //invoca la impresora tan pronto se carga el documento | ||
196 | + setTimeout(function () { window.close(); }, 100); //cierra la venta si cierra el dialog de imprimir | ||
197 | + } | ||
198 | +</script> | ||
199 | + {% endblock %} |
src/AppBundle/Controller/AscensoController.php
@@ -615,6 +615,82 @@ class AscensoController extends Controller | @@ -615,6 +615,82 @@ class AscensoController extends Controller | ||
615 | } | 615 | } |
616 | 616 | ||
617 | 617 | ||
618 | + /** | ||
619 | + * Muestra la página donde explica brevemente el reconocimiento de Antiguedad | ||
620 | + * y permite realizar la solicitud | ||
621 | + * | ||
622 | + * @Route("/mis_servicios/ascenso/resumen/{id}", name="ascenso_resumen") | ||
623 | + * @Method({"GET", "POST"}) | ||
624 | + */ | ||
625 | + public function resumenAscensoImprimirAction(DocenteServicio $servicio){ | ||
626 | + | ||
627 | + | ||
628 | + | ||
629 | + if($servicio->getIdEstatus()->getId() == 1){ | ||
630 | + | ||
631 | + $correlativo = $this->getDoctrine()->getRepository('AppBundle:Memorando')->findOneByIdDocenteServicio($servicio->getId()); | ||
632 | + $ascenso = $this->getDoctrine()->getRepository('AppBundle:Ascenso')->findOneBy( | ||
633 | + array('idRolInstitucion' => $servicio->getIdRolInstitucion()), | ||
634 | + array('id' => 'DESC') | ||
635 | + ); | ||
636 | + $adscripcion = $this->getDoctrine()->getRepository('AppBundle:Adscripcion')->findOneByIdRolInstitucion($servicio->getIdRolInstitucion()); | ||
637 | + $oposcion = $this->getDoctrine()->getRepository('AppBundle:DocenteEscala')->findOneByIdRolInstitucion($servicio->getIdRolInstitucion()); | ||
638 | + $ultimaEscala = $this->getDoctrine()->getRepository('AppBundle:DocenteEscala')->findOneBy( | ||
639 | + array('idRolInstitucion' => $servicio->getIdRolInstitucion()), | ||
640 | + array('id' => 'DESC') | ||
641 | + ); | ||
642 | + if(!$correlativo){ | ||
643 | + $correlativo = $this->getDoctrine()->getRepository('AppBundle:Memorando')->findOneBy( | ||
644 | + array('ano'=> date("Y")), | ||
645 | + array('id' => 'DESC') | ||
646 | + ); | ||
647 | + $numero = 1; | ||
648 | + if ($correlativo) $numero = $correlativo->getCorrelativo() + 1; | ||
649 | + | ||
650 | + $memo = new Memorando(); | ||
651 | + $memo->setCorrelativo($numero); | ||
652 | + $memo->setIdDocenteServicio($servicio); | ||
653 | + $memo->setAno(date("Y")); | ||
654 | + $memo->setIdEstatus($this->getDoctrine()->getRepository("AppBundle:Estatus")->findOneById(1)); | ||
655 | + | ||
656 | + $em = $this->getDoctrine()->getManager(); | ||
657 | + $em->persist($memo); | ||
658 | + $em->flush(); | ||
659 | + $memorando = $memo->getCorrelativo() . "-" . $memo->getAno(); | ||
660 | + }else{ | ||
661 | + $memorando = $correlativo->getCorrelativo() . "-" . $correlativo->getAno(); | ||
662 | + } | ||
663 | + | ||
664 | + return $this->render('memorando/ascenso.html.twig', array( | ||
665 | + 'ascenso' => $ascenso, | ||
666 | + 'correlativo' => $memorando, | ||
667 | + 'adscripcion' => $adscripcion, | ||
668 | + 'oposicion' => $oposcion, | ||
669 | + 'ultimaEscala' => $ultimaEscala, | ||
670 | + 'servicio' => $servicio | ||
671 | + )); | ||
672 | + | ||
673 | + | ||
674 | + }else{ | ||
675 | + | ||
676 | + $this->addFlash('danger', 'No Puede Imprimir el el resumen de solicitud de ascenso hasta no haber estado aprobada dicha solicitud.'); | ||
677 | + | ||
678 | + $servicios = $this->getDoctrine()->getRepository('AppBundle:DocenteServicio')->findByIdRolInstitucion($this->getUser()->getIdRolInstitucion()); | ||
679 | + $adscripcion = $this->getDoctrine()->getRepository('AppBundle:Adscripcion')->findByIdRolInstitucion($this->getUser()->getIdRolInstitucion()); | ||
680 | + | ||
681 | + | ||
682 | + return $this->render('solicitudes/index.html.twig', array( | ||
683 | + 'servicios' => $servicios, | ||
684 | + 'adscripcion' => $adscripcion | ||
685 | + )); | ||
686 | + | ||
687 | + } | ||
688 | + | ||
689 | + | ||
690 | + | ||
691 | + } | ||
692 | + | ||
693 | + | ||
618 | 694 | ||
619 | 695 | ||
620 | 696 |