1 | from django.db import models |
---|
2 | from django.core.validators import MaxValueValidator |
---|
3 | from adaptor.model import CsvDbModel, CsvModel |
---|
4 | from django.contrib.auth.models import User |
---|
5 | from adaptor.fields import * |
---|
6 | |
---|
7 | from utils.models import ( |
---|
8 | Estado, Municipio, Parroquia, |
---|
9 | TipoDocumento |
---|
10 | ) |
---|
11 | from .constantes import CHOICE_LOCALIDAD |
---|
12 | |
---|
13 | |
---|
14 | class Alcance(models.Model): |
---|
15 | """! |
---|
16 | Clase que contiene las opciones del Alcance |
---|
17 | |
---|
18 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
19 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
20 | @date 16-08-2016 |
---|
21 | @version 1.0.0 |
---|
22 | """ |
---|
23 | opcion_alcance = models.CharField(max_length=128) |
---|
24 | activo = models.BooleanField(default=True) |
---|
25 | |
---|
26 | def __str__(self): |
---|
27 | """! |
---|
28 | Fucncion que muestra el identificador del area estrategica |
---|
29 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
30 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
31 | @date 16-08-2016 |
---|
32 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
33 | @return Devuelve el identificador de la opcion |
---|
34 | """ |
---|
35 | return self.opcion_alcance |
---|
36 | |
---|
37 | |
---|
38 | class Sector(models.Model): |
---|
39 | """! |
---|
40 | Clase que contiene las opciones del sector |
---|
41 | |
---|
42 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
43 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
44 | @date 18-08-2016 |
---|
45 | @version 1.0.0 |
---|
46 | """ |
---|
47 | opcion_sector = models.CharField(max_length=128) |
---|
48 | activo = models.BooleanField(default=True) |
---|
49 | |
---|
50 | def __str__(self): |
---|
51 | """! |
---|
52 | Fucncion que muestra la informacion sobre las opciones |
---|
53 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
54 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
55 | @date 18-08-2016 |
---|
56 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
57 | @return Devuelve los datos del proyecto |
---|
58 | """ |
---|
59 | return self.opcion_sector |
---|
60 | |
---|
61 | |
---|
62 | class ObjetivosHistorico(models.Model): |
---|
63 | """! |
---|
64 | Clase que contiene las opciones de los objetivos Historico |
---|
65 | |
---|
66 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
67 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
68 | @date 18-08-2016 |
---|
69 | @version 1.0.0 |
---|
70 | """ |
---|
71 | nivel = models.CharField('nivel', primary_key=True, max_length=5) |
---|
72 | objetivo = models.CharField(max_length=500) |
---|
73 | |
---|
74 | def __str__(self): |
---|
75 | """! |
---|
76 | Fucncion que muestra la informacion sobre el objetivo Historico |
---|
77 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
78 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
79 | @date 18-08-2016 |
---|
80 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
81 | @return Devuelve los datos sobre el objetivo Historico |
---|
82 | """ |
---|
83 | return self.nivel + '-' + self.objetivo |
---|
84 | |
---|
85 | def __unicode__(self): |
---|
86 | return self.nivel |
---|
87 | |
---|
88 | |
---|
89 | class ObjetivosNacional(models.Model): |
---|
90 | """! |
---|
91 | Clase que contiene las opciones de los Objetivos Nacional |
---|
92 | |
---|
93 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
94 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
95 | @date 18-08-2016 |
---|
96 | @version 1.0.0 |
---|
97 | """ |
---|
98 | fk_objetivo_historico = models.ForeignKey(ObjetivosHistorico, verbose_name="Objetivo Historico") |
---|
99 | nivel = models.CharField('nivel', primary_key=True, max_length=5) |
---|
100 | objetivo = models.CharField(max_length=500) |
---|
101 | |
---|
102 | def __str__(self): |
---|
103 | """! |
---|
104 | Fucncion que muestra la informacion sobre los Objetivos Nacional |
---|
105 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
106 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
107 | @date 18-08-2016 |
---|
108 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
109 | @return Devuelve los datos sobre los objetivos Nacional |
---|
110 | """ |
---|
111 | return self.nivel + '-' + self.objetivo |
---|
112 | |
---|
113 | def __unicode__(self): |
---|
114 | return self.nivel |
---|
115 | |
---|
116 | |
---|
117 | class ObjetivosEstrategico(models.Model): |
---|
118 | """! |
---|
119 | Clase que contiene las opciones de los Objetivos Estrategicos |
---|
120 | |
---|
121 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
122 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
123 | @date 18-08-2016 |
---|
124 | @version 1.0.0 |
---|
125 | """ |
---|
126 | fk_objetivo_nacional = models.ForeignKey(ObjetivosNacional, verbose_name="Objetivo Nacional") |
---|
127 | nivel = models.CharField('nivel', primary_key=True, max_length=10) |
---|
128 | objetivo = models.CharField(max_length=800) |
---|
129 | |
---|
130 | def __str__(self): |
---|
131 | """! |
---|
132 | Fucncion que muestra la informacion sobre los Objetivos Estrategicos |
---|
133 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
134 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
135 | @date 18-08-2016 |
---|
136 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
137 | @return Devuelve los datos sobre los Objetivos Estrategicos |
---|
138 | """ |
---|
139 | return self.nivel + '-' + self.objetivo |
---|
140 | |
---|
141 | def __unicode__(self): |
---|
142 | return self.nivel |
---|
143 | |
---|
144 | |
---|
145 | class ObjetivosGeneral(models.Model): |
---|
146 | """! |
---|
147 | Clase que contiene las opciones de los Objetivos Generales |
---|
148 | |
---|
149 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
150 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
151 | @date 18-08-2016 |
---|
152 | @version 1.0.0 |
---|
153 | """ |
---|
154 | fk_objetivo_estrategico = models.ForeignKey(ObjetivosEstrategico, verbose_name="Objetivo Estratégico") |
---|
155 | nivel = models.CharField('nivel', primary_key=True, max_length=13) |
---|
156 | objetivo = models.CharField(max_length=2300) |
---|
157 | |
---|
158 | def __str__(self): |
---|
159 | """! |
---|
160 | Fucncion que muestra la informacion sobre los Objetivos Generales |
---|
161 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
162 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
163 | @date 18-08-2016 |
---|
164 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
165 | @return Devuelve los datos sobre los Objetivos Generales |
---|
166 | """ |
---|
167 | return self.nivel + '-' + self.objetivo |
---|
168 | |
---|
169 | def __str__(self): |
---|
170 | return self.nivel |
---|
171 | |
---|
172 | |
---|
173 | class TipoProyecto(models.Model): |
---|
174 | """! |
---|
175 | Clase que contiene los datos para el tipo de proyecto |
---|
176 | |
---|
177 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
178 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
179 | @date 02-06-2017 |
---|
180 | @version 1.0.0 |
---|
181 | """ |
---|
182 | tipo_proyecto = models.CharField(max_length=97) |
---|
183 | descripcion = models.TextField() |
---|
184 | |
---|
185 | class Meta: |
---|
186 | """! |
---|
187 | Clase que construye los meta datos del modelo |
---|
188 | |
---|
189 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
190 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
191 | @date 02-06-2017 |
---|
192 | @version 1.0.0 |
---|
193 | """ |
---|
194 | ordering = ('tipo_proyecto',) |
---|
195 | verbose_name = 'Tipo de Proyecto' |
---|
196 | verbose_name_plural = 'Tipos de Proyectos' |
---|
197 | |
---|
198 | def __str__(self): |
---|
199 | return self.tipo_proyecto |
---|
200 | |
---|
201 | |
---|
202 | class Proyecto(models.Model): |
---|
203 | """! |
---|
204 | Clase que contiene los Proyectos de Alta IngenierÃa del Pais |
---|
205 | |
---|
206 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
207 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
208 | @date 16-08-2016 |
---|
209 | @version 1.0.0 |
---|
210 | """ |
---|
211 | fk_tipo = models.ForeignKey(TipoProyecto, verbose_name="Tipo de Proyecto") |
---|
212 | fk_user = models.ForeignKey(User) |
---|
213 | codigo = models.CharField(max_length=15, unique=True) |
---|
214 | nombre = models.CharField(max_length=128) |
---|
215 | descripcion = models.TextField(blank=True) |
---|
216 | objetivo_general = models.CharField(max_length=128) |
---|
217 | justificacion = models.TextField(blank=True) |
---|
218 | fecha_inicio = models.DateField(auto_now=False) |
---|
219 | fecha_culminacion = models.DateField(auto_now=False) |
---|
220 | plurianual = models.BooleanField(default=True) |
---|
221 | monto_anho_anterior = models.DecimalField(max_digits=50, decimal_places=2, null=True) |
---|
222 | monto_anho_proximo = models.DecimalField(max_digits=50, decimal_places=2, null=True) |
---|
223 | monto_total = models.DecimalField(max_digits=50, decimal_places=2, null=True) |
---|
224 | poan = models.BooleanField(default=True) |
---|
225 | localidad = models.ForeignKey(Parroquia) |
---|
226 | activo = models.BooleanField(default=True) |
---|
227 | |
---|
228 | class Meta: |
---|
229 | """! |
---|
230 | Clase que construye los meta datos del modelo |
---|
231 | |
---|
232 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
233 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
234 | @date 02-06-2017 |
---|
235 | @version 1.0.0 |
---|
236 | """ |
---|
237 | ordering = ('nombre',) |
---|
238 | verbose_name = 'Proyecto' |
---|
239 | verbose_name_plural = 'Proyectos' |
---|
240 | |
---|
241 | def __str__(self): |
---|
242 | """! |
---|
243 | Fucncion que muestra la informacion sobre el proyecto |
---|
244 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
245 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
246 | @date 16-08-2016 |
---|
247 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
248 | @return Devuelve los datos del proyecto |
---|
249 | """ |
---|
250 | return self.codigo |
---|
251 | |
---|
252 | |
---|
253 | class ObjetivosEspecificosProy(models.Model): |
---|
254 | """! |
---|
255 | Clase que contiene el modelo de datos de los objetivos especificos del proyecto |
---|
256 | |
---|
257 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
258 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
259 | @date 02-06-2017 |
---|
260 | @version 1.0.0 |
---|
261 | """ |
---|
262 | fk_proyecto = models.ForeignKey(Proyecto) |
---|
263 | objetivos_especificos = models.CharField(max_length=255) |
---|
264 | |
---|
265 | class Meta: |
---|
266 | """! |
---|
267 | Clase que construye los meta datos del modelo |
---|
268 | |
---|
269 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
270 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
271 | @date 02-06-2017 |
---|
272 | @version 1.0.0 |
---|
273 | """ |
---|
274 | ordering = ('objetivos_especificos',) |
---|
275 | verbose_name = 'Objetivo Especifico' |
---|
276 | verbose_name_plural = 'Objetivos Especificos' |
---|
277 | |
---|
278 | def __str__(self): |
---|
279 | |
---|
280 | return str(self.fk_proyecto) |
---|
281 | |
---|
282 | |
---|
283 | class Responsable(models.Model): |
---|
284 | """! |
---|
285 | Clase que contiene el modelo de datos para el Responsable |
---|
286 | |
---|
287 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
288 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
289 | @date 02-06-2017 |
---|
290 | @version 1.0.0 |
---|
291 | """ |
---|
292 | fk_documento = models.ForeignKey(TipoDocumento) |
---|
293 | cedula = models.CharField(max_length=12, verbose_name='Documento de identidad') |
---|
294 | nombres = models.CharField(max_length=128) |
---|
295 | apellidos = models.CharField(max_length=128) |
---|
296 | correo = models.EmailField(max_length=75) |
---|
297 | numero_telefono = models.CharField(max_length=11) |
---|
298 | |
---|
299 | class Meta: |
---|
300 | """! |
---|
301 | Clase que construye los meta datos del modelo |
---|
302 | |
---|
303 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
304 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
305 | @date 02-06-2017 |
---|
306 | @version 1.0.0 |
---|
307 | """ |
---|
308 | ordering = ('cedula',) |
---|
309 | verbose_name = 'Responsable' |
---|
310 | verbose_name_plural = 'Responsables' |
---|
311 | abstract = True |
---|
312 | |
---|
313 | def __str__(self): |
---|
314 | |
---|
315 | return self.cedula |
---|
316 | |
---|
317 | |
---|
318 | class ResponsableTecnico(Responsable): |
---|
319 | """! |
---|
320 | Clase que contiene el modelo de datos para el Responsable Tecnico |
---|
321 | |
---|
322 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
323 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
324 | @date 02-06-2017 |
---|
325 | @version 1.0.0 |
---|
326 | """ |
---|
327 | fk_proyecto = models.ForeignKey(Proyecto) |
---|
328 | |
---|
329 | class Meta: |
---|
330 | """! |
---|
331 | Clase que construye los meta datos del modelo |
---|
332 | |
---|
333 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
334 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
335 | @date 02-06-2017 |
---|
336 | @version 1.0.0 |
---|
337 | """ |
---|
338 | ordering = ('cedula',) |
---|
339 | verbose_name = 'Responsable Tecnico' |
---|
340 | verbose_name_plural = 'Responsables Tecnicos' |
---|
341 | unique_together = (('fk_proyecto', 'cedula'),) |
---|
342 | |
---|
343 | def __str__(self): |
---|
344 | |
---|
345 | return self.cedula |
---|
346 | |
---|
347 | |
---|
348 | class ResponsableGerente(Responsable): |
---|
349 | """! |
---|
350 | Clase que contiene el modelo de datos para el Responsable Tecnico |
---|
351 | |
---|
352 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
353 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
354 | @date 02-06-2017 |
---|
355 | @version 1.0.0 |
---|
356 | """ |
---|
357 | fk_proyecto = models.ForeignKey(Proyecto) |
---|
358 | |
---|
359 | class Meta: |
---|
360 | """! |
---|
361 | Clase que construye los meta datos del modelo |
---|
362 | |
---|
363 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
364 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
365 | @date 02-06-2017 |
---|
366 | @version 1.0.0 |
---|
367 | """ |
---|
368 | ordering = ('cedula',) |
---|
369 | verbose_name = 'Responsable Gerente' |
---|
370 | verbose_name_plural = 'Responsables Gerentes' |
---|
371 | |
---|
372 | def __str__(self): |
---|
373 | |
---|
374 | return self.cedula |
---|
375 | |
---|
376 | |
---|
377 | class VinculacionPndes(models.Model): |
---|
378 | """! |
---|
379 | Clase que contiene la vinculacion con |
---|
380 | |
---|
381 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
382 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
383 | @date 16-08-2016 |
---|
384 | @version 1.0.0 |
---|
385 | """ |
---|
386 | fk_objetivo_generales = models.ForeignKey(ObjetivosGeneral, verbose_name="Objetivo General") |
---|
387 | vinculacion_activa = models.BooleanField(default=True) |
---|
388 | |
---|
389 | def __int__(self): |
---|
390 | """! |
---|
391 | Fucncion que muestra el identificador de la vinculacion |
---|
392 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
393 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
394 | @date 16-08-2016 |
---|
395 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
396 | @return Devuelve el identificador de la vinculacion |
---|
397 | """ |
---|
398 | return self.pk |
---|
399 | |
---|
400 | |
---|
401 | class AreasEstrategica(models.Model): |
---|
402 | """! |
---|
403 | Clase que contiene las opciones de las areas estrategicas |
---|
404 | |
---|
405 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
406 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
407 | @date 16-08-2016 |
---|
408 | @version 1.0.0 |
---|
409 | """ |
---|
410 | fk_objetivo_historico = models.ForeignKey(VinculacionPndes, verbose_name="PNDES") |
---|
411 | fk_proyecto = models.ForeignKey(Proyecto, verbose_name="Proyecto") |
---|
412 | activo = models.BooleanField(default=True) |
---|
413 | |
---|
414 | def __int__(self): |
---|
415 | """! |
---|
416 | Fucncion que muestra el identificador del area estrategica |
---|
417 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
418 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
419 | @date 16-08-2016 |
---|
420 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
421 | @return Devuelve el identificador de la opcion |
---|
422 | """ |
---|
423 | return self.pk |
---|
424 | |
---|
425 | class SubProyecto(models.Model): |
---|
426 | """! |
---|
427 | Clase que contiene los SubProyectos que perteneces a proyectos de Alta IngenierÃa del Pais |
---|
428 | |
---|
429 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
430 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
431 | @date 16-08-2016 |
---|
432 | @version 1.0.0 |
---|
433 | """ |
---|
434 | fk_proyecto = models.ForeignKey(Proyecto, verbose_name="Proyecto") |
---|
435 | parroquia = models.ForeignKey(Parroquia, verbose_name="Parroquia") |
---|
436 | codigo = models.CharField(max_length=15, unique=True) |
---|
437 | nombre = models.CharField(max_length=128) |
---|
438 | descripcion_bien_servicio = models.TextField(blank=True) |
---|
439 | unidad_medida = models.CharField(max_length=10) |
---|
440 | meta = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
441 | fecha_inicio = models.DateField(auto_now=False) |
---|
442 | fecha_culminacion = models.DateField(auto_now=False) |
---|
443 | comunidad = models.CharField(max_length=10) |
---|
444 | monto_subproyecto = models.DecimalField(max_digits=50, decimal_places=2) |
---|
445 | activo = models.BooleanField(default=True) |
---|
446 | |
---|
447 | def __str__(self): |
---|
448 | """! |
---|
449 | Fucncion que muestra la informacion sobre el subproyecto |
---|
450 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
451 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
452 | @date 16-08-2016 |
---|
453 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
454 | @return Devuelve los datos del subproyecto |
---|
455 | """ |
---|
456 | return self.codigo |
---|
457 | |
---|
458 | |
---|
459 | class AvancesProyecto(models.Model): |
---|
460 | """! |
---|
461 | Clase que contiene los avances de los proyectos |
---|
462 | |
---|
463 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
464 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
465 | @date 16-08-2016 |
---|
466 | @version 1.0.0 |
---|
467 | """ |
---|
468 | fk_proyecto = models.ForeignKey(Proyecto) |
---|
469 | avance_subproyecto = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
470 | avance_proyecto = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
471 | fecha_avance = models.DateTimeField(auto_now_add=True) |
---|
472 | activo = models.BooleanField(default=True) |
---|
473 | |
---|
474 | def __int__(self): |
---|
475 | """! |
---|
476 | Fucncion que muestra el identificador del avance del proyecto |
---|
477 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
478 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
479 | @date 16-08-2016 |
---|
480 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
481 | @return Devuelve el identificador del avance del proyecto |
---|
482 | """ |
---|
483 | return self.pk |
---|
484 | |
---|
485 | |
---|
486 | class Actividad(models.Model): |
---|
487 | """! |
---|
488 | Clase que contiene las Actividades de los subproyectos |
---|
489 | |
---|
490 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
491 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
492 | @date 16-08-2016 |
---|
493 | @version 1.0.0 |
---|
494 | """ |
---|
495 | fk_subproyecto = models.ForeignKey(SubProyecto, verbose_name="Sub-Proyecto") |
---|
496 | descripcion = models.CharField(max_length=128) |
---|
497 | unidad_medida = models.CharField(max_length=10) |
---|
498 | fecha_inicio = models.DateField(auto_now=False) |
---|
499 | fecha_culminacion = models.DateField(auto_now=False) |
---|
500 | horas_estimadas_ejecucion = models.IntegerField(validators=[MaxValueValidator(9999999999)]) |
---|
501 | costo_estimadao_ejecucion = models.DecimalField(max_digits=50, |
---|
502 | decimal_places=2) |
---|
503 | peso_actividad = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
504 | cantidad_estimada_trabajo = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
505 | activo = models.BooleanField(default=True) |
---|
506 | |
---|
507 | def __int__(self): |
---|
508 | """! |
---|
509 | Fucncion que muestra el identificador de la actividad |
---|
510 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
511 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
512 | @date 16-08-2016 |
---|
513 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
514 | @return Devuelve el identificador de la actividad |
---|
515 | """ |
---|
516 | return self.pk |
---|
517 | |
---|
518 | |
---|
519 | class CronogramaTarea(models.Model): |
---|
520 | """! |
---|
521 | Clase que contiene las Tareas de las actividades |
---|
522 | |
---|
523 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
524 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
525 | @date 16-08-2016 |
---|
526 | @version 1.0.0 |
---|
527 | """ |
---|
528 | fk_actividad = models.ForeignKey(Actividad) |
---|
529 | nombre = models.CharField(max_length=128) |
---|
530 | horas_estimadas_tarea = models.IntegerField(validators=[MaxValueValidator(9999999999)]) |
---|
531 | costo_estimado_tarea = models.DecimalField(max_digits=50, decimal_places=2) |
---|
532 | peso_tarea = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
533 | fin_comiento_tarea = models.BooleanField(default=True) |
---|
534 | comienzo_comienzo_tarea = models.BooleanField(default=False) |
---|
535 | fin_fin_tarea = models.BooleanField(default=False) |
---|
536 | activo = models.BooleanField(default=True) |
---|
537 | |
---|
538 | def __int__(self): |
---|
539 | """! |
---|
540 | Fucncion que muestra el identificador de la tarea |
---|
541 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
542 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
543 | @date 16-08-2016 |
---|
544 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
545 | @return Devuelve el identificador de la tarea |
---|
546 | """ |
---|
547 | return self.pk |
---|
548 | |
---|
549 | |
---|
550 | class EstatusCosto(models.Model): |
---|
551 | """! |
---|
552 | Clase que contiene los Estatus para el avance de una Actividad |
---|
553 | |
---|
554 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
555 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
556 | @date 16-08-2016 |
---|
557 | @version 1.0.0 |
---|
558 | """ |
---|
559 | opcion_costo = models.CharField(max_length=30) |
---|
560 | activo = models.BooleanField(default=True) |
---|
561 | |
---|
562 | def __str__(self): |
---|
563 | """! |
---|
564 | Fucncion que muestra el identificador del estatus costo |
---|
565 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
566 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
567 | @date 16-08-2016 |
---|
568 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
569 | @return Devuelve el identificador del estatus costo |
---|
570 | """ |
---|
571 | return self.opcion_costo |
---|
572 | |
---|
573 | |
---|
574 | class EstatusActividad(models.Model): |
---|
575 | """! |
---|
576 | Clase que contiene los Estatus para el avance de una Actividad |
---|
577 | |
---|
578 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
579 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
580 | @date 16-08-2016 |
---|
581 | @version 1.0.0 |
---|
582 | """ |
---|
583 | opcion_actividad = models.CharField(max_length=30) |
---|
584 | activo = models.BooleanField(default=True) |
---|
585 | |
---|
586 | def __str__(self): |
---|
587 | """! |
---|
588 | Fucncion que muestra el identificador del estatus de la actividad |
---|
589 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
590 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
591 | @date 16-08-2016 |
---|
592 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
593 | @return Devuelve el identificador del estatus de la actividad |
---|
594 | """ |
---|
595 | return self.opcion_actividad |
---|
596 | |
---|
597 | |
---|
598 | class AvanceActvidad(models.Model): |
---|
599 | """! |
---|
600 | Clase que contiene el Reporte de avance de las actividades |
---|
601 | |
---|
602 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
603 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
604 | @date 16-08-2016 |
---|
605 | @version 1.0.0 |
---|
606 | """ |
---|
607 | fk_actividad = models.ForeignKey(Actividad) |
---|
608 | fk_estatus_actividad = models.ForeignKey(EstatusActividad) |
---|
609 | fk_estatus_costo = models.ForeignKey(EstatusCosto) |
---|
610 | horas_invertidas = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
611 | costo = models.IntegerField(validators=[MaxValueValidator(9999999999)]) |
---|
612 | peso_ejecutado = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
613 | cantidad_trabajo_realizado = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
614 | fecha_avance = models.DateTimeField(auto_now_add=True) |
---|
615 | activo = models.BooleanField(default=True) |
---|
616 | |
---|
617 | def __int__(self): |
---|
618 | """! |
---|
619 | Fucncion que muestra el identificador del avance de las actividades |
---|
620 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
621 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
622 | @date 16-08-2016 |
---|
623 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
624 | @return Devuelve el identificador del avance de las actividades |
---|
625 | """ |
---|
626 | return self.pk |
---|
627 | |
---|
628 | |
---|
629 | class Indicador(models.Model): |
---|
630 | """! |
---|
631 | Clase que contiene los indicadores |
---|
632 | |
---|
633 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
634 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
635 | @date 16-08-2016 |
---|
636 | @version 1.0.0 |
---|
637 | """ |
---|
638 | fk_avance = models.ForeignKey(AvanceActvidad) |
---|
639 | indicador_avance = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
640 | indicador_rendimiento_costo = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
641 | avance_respeto_tiempo = models.IntegerField(validators=[MaxValueValidator(999)]) |
---|
642 | activo = models.BooleanField(default=True) |
---|
643 | |
---|
644 | def __int__(self): |
---|
645 | """! |
---|
646 | Fucncion que muestra el identificador de los indicadores |
---|
647 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
648 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
649 | @date 16-08-2016 |
---|
650 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
651 | @return Devuelve el identificador de el Indicador de los proyectos |
---|
652 | """ |
---|
653 | return self.pk |
---|
654 | |
---|
655 | |
---|
656 | class CargaMasivaObjetivosHistoricos(CsvDbModel): |
---|
657 | |
---|
658 | class Meta: |
---|
659 | delimiter = "|" |
---|
660 | dbModel = ObjetivosHistorico |
---|
661 | has_header = False |
---|
662 | |
---|
663 | |
---|
664 | class CargaMasivaObjetivosNacional(CsvModel): |
---|
665 | fk_objetivo_historico = ForeignKey(ObjetivosHistorico) |
---|
666 | |
---|
667 | class Meta: |
---|
668 | delimiter = "|" |
---|
669 | dbModel = ObjetivosNacional |
---|
670 | has_header = True |
---|
671 | |
---|
672 | |
---|
673 | class CargaMasivaObjetivosEstrategico(CsvModel): |
---|
674 | fk_objetivo_nacional = ForeignKey(ObjetivosNacional) |
---|
675 | |
---|
676 | class Meta: |
---|
677 | delimiter = "|" |
---|
678 | dbModel = ObjetivosEstrategico |
---|
679 | has_header = True |
---|
680 | |
---|
681 | |
---|
682 | class CargaMasivaObjetivosGeneral(CsvModel): |
---|
683 | fk_objetivo_estrategico = ForeignKey(ObjetivosEstrategico) |
---|
684 | |
---|
685 | class Meta: |
---|
686 | delimiter = "|" |
---|
687 | dbModel = ObjetivosGeneral |
---|
688 | has_header = True |
---|