1 | # coding=utf-8 |
---|
2 | """ |
---|
3 | Simulador Integral de Cadenas Productivas (SICP) |
---|
4 | |
---|
5 | Copyleft (@) 2015 CENDITEL nodo Mérida - https://miv.cenditel.gob.ve/simulacion/ |
---|
6 | """ |
---|
7 | ## @package apps.simulacion.sigesic.models |
---|
8 | # |
---|
9 | # Clases y funciones a implementar en los modelos del SIGESIC. Los modelos representados pertenecen al |
---|
10 | # Sistema de Gestión para la Industria y el Comercio (SIGESIC) |
---|
11 | # @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
12 | # @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres |
---|
13 | # (CENDITEL) nodo Mérida - Venezuela</a> |
---|
14 | # @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
15 | # @date 02-06-2015 |
---|
16 | # @version 3.0.0 |
---|
17 | |
---|
18 | ## Muestra el autor del script cuando es invocado |
---|
19 | __author__ = "Ing. Roldan Vargas (rvargas at cenditel.gob.ve)" |
---|
20 | ## Muestra documentación breve sobre el script |
---|
21 | __doc__ = "Clases y funciones a implementar en los modelos del SIGESIC. Los modelos representados pertenecen al " \ |
---|
22 | "Sistema de Gestión para la Industria y el Comercio (SIGESIC)" |
---|
23 | |
---|
24 | from django.db import models |
---|
25 | from django.utils.translation import ugettext_lazy as _ |
---|
26 | from apps.comun.models import ModelReadOnly, Pais, Parroquia, CodigoAran, UnidadMedida, CodigoCiiu |
---|
27 | |
---|
28 | |
---|
29 | class UnidadEconomica(ModelReadOnly): |
---|
30 | """! |
---|
31 | Clase que contiene el modelo de Unidades Económicas, para el acceso de datos registrados en el SIGESIC |
---|
32 | |
---|
33 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
34 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
35 | @date 03-06-2015 |
---|
36 | @version 3.0.0 |
---|
37 | """ |
---|
38 | |
---|
39 | ## Número de Registro de Identificación Fiscal (R.I.F.) |
---|
40 | rif = models.CharField(max_length=10,primary_key=True) |
---|
41 | |
---|
42 | ## Nombre de la Unidad Económica registrado en el SENIAT |
---|
43 | nombre = models.CharField(max_length=255) |
---|
44 | |
---|
45 | ## Razón social de la Unidad Económica registrado en el SENIAT |
---|
46 | razon_social = models.CharField(max_length=255) |
---|
47 | |
---|
48 | ## Ciudad en donde se encuentra ubicada la Unidad Económica |
---|
49 | ciudad = models.CharField(max_length=100) |
---|
50 | |
---|
51 | ## Contiene la clave foránea de la parroquia en la que se encuentra ubicada la Unidad Económica |
---|
52 | parroquia = models.ForeignKey(Parroquia, db_column='parroquia_codigo') |
---|
53 | |
---|
54 | class Meta(ModelReadOnly.Meta): |
---|
55 | """! |
---|
56 | Metaclase de la clase UnidadEconomica |
---|
57 | |
---|
58 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
59 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
60 | @date 03-06-2015 |
---|
61 | @version 3.0.0 |
---|
62 | """ |
---|
63 | |
---|
64 | ## Nombre de la tabla en la base de datos |
---|
65 | db_table = "unidadecon_unidad_economica" |
---|
66 | |
---|
67 | |
---|
68 | class ActividadCIIU(ModelReadOnly): |
---|
69 | """! |
---|
70 | Clase que contiene el modelo que refiere a la actividad a la cual se dedica con mayor permanencia la empresa y |
---|
71 | que genera mayores ingresos. |
---|
72 | |
---|
73 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
74 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
75 | @date 19-10-2015 |
---|
76 | @version 3.0.0 |
---|
77 | """ |
---|
78 | |
---|
79 | ue_rif = models.ForeignKey(UnidadEconomica, db_column='unidad_economica_rif') |
---|
80 | ciiu = models.ForeignKey(CodigoCiiu) |
---|
81 | descripcion = models.CharField(max_length=80) |
---|
82 | activo = models.BooleanField() |
---|
83 | fecha_insercion = models.DateField() |
---|
84 | principal = models.BooleanField(default=False) |
---|
85 | |
---|
86 | |
---|
87 | class Meta: |
---|
88 | db_table = "unidadecon_actividad_ciiu" |
---|
89 | ordering = ["-principal","ciiu"] |
---|
90 | unique_together = (("ciiu", "ue_rif")) |
---|
91 | |
---|
92 | def __unicode__(self): |
---|
93 | return u'%s' % (self.ciiu) |
---|
94 | |
---|
95 | |
---|
96 | class TipoSubunidad(ModelReadOnly): |
---|
97 | """! |
---|
98 | Clase que contiene el modelo para los tipos de Sub Unidades Económicas |
---|
99 | |
---|
100 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
101 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
102 | @date 08-06-2015 |
---|
103 | @version 3.0.0 |
---|
104 | """ |
---|
105 | |
---|
106 | ## Identificador único del tipo de subunidad |
---|
107 | id = models.CharField(max_length=2, primary_key=True) |
---|
108 | |
---|
109 | ## Nombre de la Subunidad Económica |
---|
110 | nombre = models.CharField(max_length=35) |
---|
111 | |
---|
112 | def __unicode__(self): |
---|
113 | """! |
---|
114 | Método que muestra el nombre de la subunidad económica en UNICODE |
---|
115 | |
---|
116 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
117 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
118 | @date 08-06-2015 |
---|
119 | @return Devuelve el nombre del tipo de subunidad económica en UNICODE |
---|
120 | """ |
---|
121 | return self.nombre |
---|
122 | |
---|
123 | |
---|
124 | class Meta(ModelReadOnly.Meta): |
---|
125 | """! |
---|
126 | Metaclase de la clase TipoSubunidad |
---|
127 | |
---|
128 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
129 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
130 | @date 08-06-2015 |
---|
131 | @version 3.0.0 |
---|
132 | """ |
---|
133 | |
---|
134 | ## Nombre de la tabla en la base de datos |
---|
135 | db_table = "unidadecon_tipo_subunidad" |
---|
136 | |
---|
137 | |
---|
138 | class TipoActividad(ModelReadOnly): |
---|
139 | """! |
---|
140 | Clase que contiene el modelo para los tipos de actividades desempeñadas por las Unidades Económicas |
---|
141 | |
---|
142 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
143 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
144 | @date 08-06-2015 |
---|
145 | @version 3.0.0 |
---|
146 | """ |
---|
147 | |
---|
148 | ## Nombre del tipo de actividad de desarrollada por la Subunidad Económica |
---|
149 | nombre = models.CharField(max_length=60) |
---|
150 | |
---|
151 | def __unicode__(self): |
---|
152 | """! |
---|
153 | Método que muestra el nombre del tipo de actividad en UNICODE |
---|
154 | |
---|
155 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
156 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
157 | @date 08-06-2015 |
---|
158 | @return Devuelve el nombre del tipo de actividad económica en UNICODE |
---|
159 | """ |
---|
160 | return self.nombre |
---|
161 | |
---|
162 | class Meta(ModelReadOnly.Meta): |
---|
163 | """! |
---|
164 | Metaclase de la clase TipoActividad |
---|
165 | |
---|
166 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
167 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
168 | @date 08-06-2015 |
---|
169 | @version 3.0.0 |
---|
170 | """ |
---|
171 | |
---|
172 | ## Nombre de la tabla en la base de datos |
---|
173 | db_table = "unidadecon_tipo_actividad" |
---|
174 | |
---|
175 | |
---|
176 | class TipoSucursal(ModelReadOnly): |
---|
177 | """! |
---|
178 | Clase que contiene el modelo para los tipos de sucursales disponibles en el SIGESIC |
---|
179 | |
---|
180 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
181 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
182 | @date 08-06-2015 |
---|
183 | @version 3.0.0 |
---|
184 | """ |
---|
185 | |
---|
186 | ## Nombre del tipo de sucursal |
---|
187 | nombre = models.CharField(max_length=60) |
---|
188 | |
---|
189 | def __unicode__(self): |
---|
190 | """! |
---|
191 | Método que muestra el nombre del tipo de sucursal en UNICODE |
---|
192 | |
---|
193 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
194 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
195 | @date 08-06-2015 |
---|
196 | @return Devuelve el nombre del tipo de sucursal en UNICODE |
---|
197 | """ |
---|
198 | return self.nombre |
---|
199 | |
---|
200 | class Meta(ModelReadOnly.Meta): |
---|
201 | """! |
---|
202 | Metaclase de la clase TipoSucursal |
---|
203 | |
---|
204 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
205 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
206 | @date 08-06-2015 |
---|
207 | @version 3.0.0 |
---|
208 | """ |
---|
209 | |
---|
210 | ## Nombre de la tabla en la base de datos |
---|
211 | db_table = "unidadecon_tipo_sucursal" |
---|
212 | |
---|
213 | |
---|
214 | class TipoTenencia(ModelReadOnly): |
---|
215 | """! |
---|
216 | Clase que contiene el modelo para los distintos tipos de tenencia de la tierra u ocupación física de la |
---|
217 | Unidad Económica |
---|
218 | |
---|
219 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
220 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
221 | @date 08-06-2015 |
---|
222 | @version 3.0.0 |
---|
223 | """ |
---|
224 | |
---|
225 | ## Nombre del tipo de tenencia de la tierra en donde se encuentra ubicada la Subunidad |
---|
226 | nombre = models.CharField(max_length=60) |
---|
227 | |
---|
228 | def __unicode__(self): |
---|
229 | """! |
---|
230 | Método que muestra el nombre del tipo de tenencia en UNICODE |
---|
231 | |
---|
232 | @author Ing. Roldan Vargas (rvargas 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 08-06-2015 |
---|
235 | @return Devuelve el nombre del tipo de tenencia en UNICODE |
---|
236 | """ |
---|
237 | return self.nombre |
---|
238 | |
---|
239 | class Meta(ModelReadOnly.Meta): |
---|
240 | """! |
---|
241 | Metaclase de la clase TipoTenencia |
---|
242 | |
---|
243 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
244 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
245 | @date 08-06-2015 |
---|
246 | @version 3.0.0 |
---|
247 | """ |
---|
248 | |
---|
249 | ## Nombre de la tabla en la base de datos |
---|
250 | db_table = "unidadecon_tipo_tenencia" |
---|
251 | |
---|
252 | |
---|
253 | class TipoAmbitoIndustrial(ModelReadOnly): |
---|
254 | """! |
---|
255 | Clase que contiene el modelo para los tipos de Ámbito Industrial registrados en el SIGESIC |
---|
256 | |
---|
257 | @author Ing. Roldan Vargas (rvargas 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 08-06-2015 |
---|
260 | @version 3.0.0 |
---|
261 | """ |
---|
262 | |
---|
263 | ## Nombre del tipo de ámbito industrial de la subunidad económica |
---|
264 | nombre = models.CharField(max_length=60, unique=True) |
---|
265 | |
---|
266 | def __unicode__(self): |
---|
267 | """! |
---|
268 | Método que muestra el nombre del tipo de ámbito industrial en UNICODE |
---|
269 | |
---|
270 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
271 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
272 | @date 08-06-2015 |
---|
273 | @return Devuelve el nombre del tipo de ámbito industrial en UNICODE |
---|
274 | """ |
---|
275 | return self.nombre |
---|
276 | |
---|
277 | class Meta(ModelReadOnly.Meta): |
---|
278 | """! |
---|
279 | Metaclase de la clase TipoAmbitoIndustrial |
---|
280 | |
---|
281 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
282 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
283 | @date 08-06-2015 |
---|
284 | @version 3.0.0 |
---|
285 | """ |
---|
286 | |
---|
287 | ## Nombre de la tabla en la base de datos |
---|
288 | db_table = "unidadecon_tipo_ambito_industrial" |
---|
289 | |
---|
290 | |
---|
291 | class SubunidadEconomica(ModelReadOnly): |
---|
292 | """! |
---|
293 | Clase que contiene el modelo para las Sub Unidades Económicas de una Unidad Económica, los posibles valores son: |
---|
294 | (Su)cursal, (Se)de y (Pl)anta |
---|
295 | |
---|
296 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
297 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
298 | @date 08-06-2015 |
---|
299 | @version 3.0.0 |
---|
300 | """ |
---|
301 | |
---|
302 | ## Establece la relación entre la subunidad económica y la unidad económica a la cual pertenece |
---|
303 | ue_rif = models.ForeignKey(UnidadEconomica, db_column='ue_rif') |
---|
304 | |
---|
305 | ## Nombre de la subunidad económica |
---|
306 | nombre = models.CharField(max_length=100) |
---|
307 | |
---|
308 | ## Establece la relación entre el tipo de subunidad y la subunidad económica |
---|
309 | tipo_subunidad = models.ForeignKey(TipoSubunidad, db_column='tipo_subunidad') |
---|
310 | |
---|
311 | ## Nombre de la ciudad en donde se encuentra ubicada la subunidad económica |
---|
312 | ciudad = models.CharField(max_length=100) |
---|
313 | |
---|
314 | ## Establece la relación entre la subunidad económica y la parroquia en donde se encuentra ubicada |
---|
315 | parroquia = models.ForeignKey(Parroquia, db_column='parroquia_codigo', related_name='+') |
---|
316 | |
---|
317 | ## Establece la relación entre la subunidad económica y los tipos de actividades que desempeña |
---|
318 | tipo_actividad = models.ManyToManyField(TipoActividad, db_table='unidadecon_subu_t_actividad') |
---|
319 | |
---|
320 | ## Establece la relación entre la subunidad económica y el tipo de sucursal |
---|
321 | tipo_sucursal = models.ManyToManyField(TipoSucursal, db_table='unidadecon_sucursal_t_tipo') |
---|
322 | |
---|
323 | ## Establece la relación entre la subunidad económica y el tipo de tenencia de la tierra en donde |
---|
324 | # se encuentra ubicada |
---|
325 | tipo_tenencia = models.ForeignKey(TipoTenencia) |
---|
326 | |
---|
327 | ## Datos de otros tipos de tenencia de la tierra |
---|
328 | tenencia_otra = models.CharField(max_length=100, null=True) |
---|
329 | |
---|
330 | ## Información sobre los metros cuadrados de terreno en donde se encuentra ubicada |
---|
331 | # la subunidad económica |
---|
332 | m2_terreno = models.FloatField() |
---|
333 | |
---|
334 | ## Información sobre los metros cuadrados de construcción en donde se encuentra ubicada |
---|
335 | # la subunidad económica |
---|
336 | m2_construccion = models.FloatField() |
---|
337 | |
---|
338 | ## Establece la relación entre la subunidad económica y el tipo de ámbito industrial al que pertenece |
---|
339 | tipo_ambito_industrial = models.ForeignKey(TipoAmbitoIndustrial, null=True) |
---|
340 | |
---|
341 | ## Información sobre otro tipo de ámbito industrial no especificado en el SIGESIC |
---|
342 | ambito_industrial_otro = models.CharField(max_length=100, null=True) |
---|
343 | |
---|
344 | ## Información sobre la autonomía electríca de la subunidad económica |
---|
345 | autonomia_electrica = models.BooleanField() |
---|
346 | |
---|
347 | ## Indica si la subunidad económica se encuentra activa o no |
---|
348 | activo = models.BooleanField() |
---|
349 | |
---|
350 | ## Información sobre el consumo eléctrico de la subunidad económica |
---|
351 | consumo_electrico = models.DecimalField(max_digits=20, decimal_places=2) |
---|
352 | |
---|
353 | ## Información sobre el consumo de agua de la subunidad económica |
---|
354 | consumo_agua = models.DecimalField(max_digits=20, decimal_places=2) |
---|
355 | |
---|
356 | ## Información sobre el consumo de gas de la subunidad económica |
---|
357 | consumo_gas = models.DecimalField(max_digits=20, decimal_places=2) |
---|
358 | |
---|
359 | def __unicode__(self): |
---|
360 | """! |
---|
361 | Método que muestra el nombre de la subunidad económica en UNICODE |
---|
362 | |
---|
363 | @author Ing. Roldan Vargas (rvargas 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 08-06-2015 |
---|
366 | @return Devuelve el nombre de la Subunidad Económica en UNICODE |
---|
367 | """ |
---|
368 | return self.nombre |
---|
369 | |
---|
370 | class Meta(ModelReadOnly.Meta): |
---|
371 | """! |
---|
372 | Metaclase de la clase SubunidadEconomica |
---|
373 | |
---|
374 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
375 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
376 | @date 08-06-2015 |
---|
377 | @version 3.0.0 |
---|
378 | """ |
---|
379 | |
---|
380 | ## Nombre de la tabla en la base de datos |
---|
381 | db_table = "unidadecon_subunidad_economica" |
---|
382 | |
---|
383 | |
---|
384 | class Producto(ModelReadOnly): |
---|
385 | """! |
---|
386 | Clase que contiene el modelo para los productos de una Unidad Económica registrada en el SIGESIC |
---|
387 | |
---|
388 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
389 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
390 | @date 08-06-2015 |
---|
391 | @version 3.0.0 |
---|
392 | """ |
---|
393 | |
---|
394 | ## Nombre del producto |
---|
395 | nombre = models.CharField(max_length=100, verbose_name=_(u'Nombre')) |
---|
396 | |
---|
397 | ## Datos sobre la marca del producto |
---|
398 | marca = models.CharField(max_length=100, verbose_name=_(u'Descripción')) |
---|
399 | |
---|
400 | ## Información sobre las especificaciones técnicas del producto |
---|
401 | esp_tec = models.TextField(verbose_name=_(u'Especificaciones Técnicas')) |
---|
402 | |
---|
403 | ## Establece la relación del producto con el código arancelario |
---|
404 | codigo_aran = models.ForeignKey(CodigoAran) |
---|
405 | |
---|
406 | ## Datos sobre el peso del producto |
---|
407 | peso = models.FloatField(_(u"Peso")) |
---|
408 | |
---|
409 | ## Establece la relación entre el producto y la planta que lo fabrica |
---|
410 | planta_id = models.ForeignKey(SubunidadEconomica) |
---|
411 | |
---|
412 | ## Establece la relación entre el producto y la unidad de medida |
---|
413 | unidad_medida = models.ForeignKey(UnidadMedida) |
---|
414 | |
---|
415 | ## Número de consumidores del producto |
---|
416 | n_consumidores = models.IntegerField() |
---|
417 | |
---|
418 | class Meta(ModelReadOnly.Meta): |
---|
419 | """! |
---|
420 | Metaclase de la clase Producto |
---|
421 | |
---|
422 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
423 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
424 | @date 08-06-2015 |
---|
425 | @version 3.0.0 |
---|
426 | """ |
---|
427 | |
---|
428 | ## Nombre de la tabla en la base de datos |
---|
429 | db_table = "produccion_producto" |
---|
430 | |
---|
431 | |
---|
432 | class ProduccionPreciosR(ModelReadOnly): |
---|
433 | """! |
---|
434 | Clase que contiene el modelo para los precios reales de la producción de un producto |
---|
435 | |
---|
436 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
437 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
438 | @date 11-06-2015 |
---|
439 | @version 3.0.0 |
---|
440 | """ |
---|
441 | |
---|
442 | ## Establece la relación entre el producto y los precios del mismo en diferentes años |
---|
443 | producto_id = models.ForeignKey(Producto) |
---|
444 | |
---|
445 | ## Año de registro del producto |
---|
446 | anho = models.DateField() |
---|
447 | |
---|
448 | ## Cantidad producida del producto para el año registrado |
---|
449 | cant_producido = models.FloatField(_(u"Cantidad Producida")) |
---|
450 | |
---|
451 | ## Cantidad vendida del producto para el año registrado |
---|
452 | cant_vendido = models.FloatField(_(u"Cantidad Vendida")) |
---|
453 | |
---|
454 | ## Precio de venta del producto para el año registrado |
---|
455 | precio_venta = models.FloatField(_(u"Monto Facturado")) |
---|
456 | |
---|
457 | ## Cantidad del producto con destino nacional |
---|
458 | destino_nac = models.FloatField(_(u"Destino Nacional")) |
---|
459 | |
---|
460 | class Meta(ModelReadOnly.Meta): |
---|
461 | """! |
---|
462 | Metaclase de la clase ProduccionPreciosR |
---|
463 | |
---|
464 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
465 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
466 | @date 11-06-2015 |
---|
467 | @version 3.0.0 |
---|
468 | """ |
---|
469 | |
---|
470 | ## Nombre de la tabla en la base de datos |
---|
471 | db_table = "produccion_produccion_precios_r" |
---|
472 | |
---|
473 | |
---|
474 | class Insumo(ModelReadOnly): |
---|
475 | """! |
---|
476 | Clase que contiene el modelo para los Insumos necesarios para la producción |
---|
477 | |
---|
478 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
479 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
480 | @date 25-06-2015 |
---|
481 | @version 3.0.0 |
---|
482 | """ |
---|
483 | |
---|
484 | ## Contiene el nombre del insumo |
---|
485 | nombre = models.CharField(max_length=100) |
---|
486 | |
---|
487 | ## Contiene los datos sobre la marca del insumo |
---|
488 | marca = models.CharField(max_length=100) |
---|
489 | |
---|
490 | ## Contiene los datos sobre las espcificaciones técnicas del insumo |
---|
491 | esp_tec = models.TextField() |
---|
492 | |
---|
493 | ## Código Arancelario del Insumo |
---|
494 | codigo_aran = models.ForeignKey(CodigoAran) |
---|
495 | |
---|
496 | ## Contiene el peso del insumo |
---|
497 | peso = models.FloatField() |
---|
498 | |
---|
499 | ## Referencia a la planta que registra el requerimiento del insumo |
---|
500 | planta_id = models.ForeignKey(SubunidadEconomica) |
---|
501 | |
---|
502 | ## Unidad de medida del insumo |
---|
503 | unidad_medida = models.ForeignKey(UnidadMedida) |
---|
504 | |
---|
505 | ## Contiene el número de proveedores que suministra del insumo |
---|
506 | n_proveedores = models.IntegerField() |
---|
507 | |
---|
508 | class Meta: |
---|
509 | """! |
---|
510 | Metaclase de la clase Insumo |
---|
511 | |
---|
512 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
513 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
514 | @date 25-06-2015 |
---|
515 | @version 3.0.0 |
---|
516 | """ |
---|
517 | |
---|
518 | ## Nombre de la tabla en la base de datos |
---|
519 | db_table = "produccion_insumo" |
---|
520 | |
---|
521 | |
---|
522 | class ConsumoPreciosR(ModelReadOnly): |
---|
523 | """! |
---|
524 | Clase que contiene el modelo para los precios reales de los insumos requeridos para la producción |
---|
525 | |
---|
526 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
527 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
528 | @date 25-06-2015 |
---|
529 | @version 3.0.0 |
---|
530 | """ |
---|
531 | |
---|
532 | ## Establece la relación sobre los precios reales de consumo y el correspondiente insumo que lo genera |
---|
533 | insumo_id = models.ForeignKey(Insumo) |
---|
534 | |
---|
535 | ## Año de compra del insumo |
---|
536 | anho = models.DateField() |
---|
537 | |
---|
538 | ## Cantidad comprada a nivel nacional |
---|
539 | cant_comp_nac = models.FloatField() |
---|
540 | |
---|
541 | ## Cantidad comprada a nivel internacional (importada) |
---|
542 | cant_comp_imp = models.FloatField() |
---|
543 | |
---|
544 | ## Precio de adquisición nacional año concluido |
---|
545 | prec_adq_nac = models.FloatField() |
---|
546 | |
---|
547 | ## Costo de adquisición año concluido |
---|
548 | cost_adq = models.FloatField() |
---|
549 | |
---|
550 | class Meta: |
---|
551 | """! |
---|
552 | Metaclase de la clase ConsumoPreciosR |
---|
553 | |
---|
554 | @author Ing. Roldan Vargas (rvargas 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 25-06-2015 |
---|
557 | @version 3.0.0 |
---|
558 | """ |
---|
559 | |
---|
560 | ## Nombre de la tabla en la base de datos |
---|
561 | db_table = "produccion_consumo_precios_r" |
---|
562 | |
---|
563 | |
---|
564 | class ProductoInsumo(ModelReadOnly): |
---|
565 | """! |
---|
566 | Clase que contiene el modelo para la relación entre los insumos y los productos |
---|
567 | |
---|
568 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
569 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
570 | @date 25-06-2015 |
---|
571 | @version 3.0.0 |
---|
572 | """ |
---|
573 | |
---|
574 | ## Establece la relación con el Insumo |
---|
575 | insumo_id = models.ForeignKey(Insumo) |
---|
576 | |
---|
577 | ## Establece la relación con el producto |
---|
578 | producto_id = models.ForeignKey(Producto) |
---|
579 | |
---|
580 | ## Año registrado sobre la relación del producto y el insumo |
---|
581 | anho = models.PositiveSmallIntegerField() |
---|
582 | |
---|
583 | ## Cantidad de insumos de un producto |
---|
584 | cantidad = models.FloatField() |
---|
585 | |
---|
586 | ## Estatus que indica si el registro sobre la relación de un insumo a un producto se encuentra activo |
---|
587 | activo = models.BooleanField() |
---|
588 | |
---|
589 | ## Fecha en la que se registro la relación sobre el producto y el insumo |
---|
590 | fecha_insercion = models.DateTimeField() |
---|
591 | |
---|
592 | class Meta: |
---|
593 | """! |
---|
594 | Metaclase de la clase ProductoInsumo |
---|
595 | |
---|
596 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
597 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
598 | @date 25-06-2015 |
---|
599 | @version 3.0.0 |
---|
600 | """ |
---|
601 | |
---|
602 | ## Nombre de la tabla en la base de datos |
---|
603 | db_table = "produccion_producto_t_insumo" |
---|
604 | |
---|
605 | |
---|
606 | class Proveedor(ModelReadOnly): |
---|
607 | """! |
---|
608 | Clase que contiene el modelo para el registro de proveedores |
---|
609 | |
---|
610 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
611 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
612 | @date 25-06-2015 |
---|
613 | @version 3.0.0 |
---|
614 | """ |
---|
615 | |
---|
616 | ## Nombre del proveedor |
---|
617 | nombre = models.CharField(max_length=100) |
---|
618 | |
---|
619 | ## Número de Registro de Identificación Fiscal (R.I.F.) |
---|
620 | rif = models.CharField(max_length=10) |
---|
621 | |
---|
622 | ## Relación sobre el pais de origen del proveedor |
---|
623 | pais_origen_id = models.ForeignKey(Pais, db_column='pais_origen_id') |
---|
624 | |
---|
625 | ## Relación sobre el pais de procedencia del proveedor |
---|
626 | pais_procedencia_id = models.ForeignKey(Pais, db_column='pais_procedencia_id', related_name='+') |
---|
627 | |
---|
628 | ## Información sobre la nacionalidad del proveedor. Los valores son (E)xtranjero, (N)acional |
---|
629 | nacional = models.CharField(max_length=1) |
---|
630 | |
---|
631 | ## Establece la relación con la planta que se abastece con los productos del proveedor |
---|
632 | planta_id = models.ForeignKey(SubunidadEconomica) |
---|
633 | |
---|
634 | def __unicode__(self): |
---|
635 | """! |
---|
636 | Método que muestra el nombre del proveedor en UNICODE |
---|
637 | |
---|
638 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
639 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
640 | @date 25-06-2015 |
---|
641 | @return Devuelve el nombre del proveedor en UNICODE |
---|
642 | """ |
---|
643 | return self.nombre |
---|
644 | |
---|
645 | class Meta: |
---|
646 | """! |
---|
647 | Metaclase de la clase Proveedor |
---|
648 | |
---|
649 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
650 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
651 | @date 25-06-2015 |
---|
652 | @version 3.0.0 |
---|
653 | """ |
---|
654 | |
---|
655 | ## Nombre de la tabla en la base de datos |
---|
656 | db_table = 'cmproveedores_proveedor' |
---|
657 | |
---|
658 | |
---|
659 | class ProveedorInsumo(ModelReadOnly): |
---|
660 | """! |
---|
661 | Clase que contiene el modelo para la relación entre los proveedores y los insumos |
---|
662 | |
---|
663 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
664 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
665 | @date 25-06-2015 |
---|
666 | @version 3.0.0 |
---|
667 | """ |
---|
668 | |
---|
669 | ## Establece la relación con el proveedor del insumo |
---|
670 | proveedor_id = models.ForeignKey(Proveedor) |
---|
671 | |
---|
672 | ## Establece la relación con el insumo |
---|
673 | insumo_id = models.ForeignKey(Insumo) |
---|
674 | |
---|
675 | ## Información sobre el precio total de la cantidad comprada del insumo al proveedor |
---|
676 | comprado_r = models.DecimalField(max_digits=25, decimal_places=2) |
---|
677 | |
---|
678 | ## Año de compra del insumo al proveedor |
---|
679 | anho_r = models.IntegerField() |
---|
680 | |
---|
681 | ## Cantidad comprada del insumo al proveedor |
---|
682 | cantidad_comprada_r = models.DecimalField(max_digits=25, decimal_places=2) |
---|
683 | |
---|
684 | ## Unidad de medida del insumo comprado al proveedor |
---|
685 | unidad = models.ForeignKey(UnidadMedida) |
---|
686 | |
---|
687 | def __unicode__(self): |
---|
688 | """! |
---|
689 | Método que muestra el nombre del proveedor en UNICODE |
---|
690 | |
---|
691 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
692 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
693 | @date 25-06-2015 |
---|
694 | @return Devuelve el nombre del proveedor en UNICODE |
---|
695 | """ |
---|
696 | return self.Proveedor.__unicode__() |
---|
697 | |
---|
698 | class Meta: |
---|
699 | """! |
---|
700 | Metaclase de la clase ProveedorInsumo |
---|
701 | |
---|
702 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
703 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
704 | @date 25-06-2015 |
---|
705 | @version 3.0.0 |
---|
706 | """ |
---|
707 | |
---|
708 | ## Nombre de la tabla en la base de datos |
---|
709 | db_table = 'cmproveedores_proveedorinsumo' |
---|
710 | |
---|
711 | |
---|
712 | class TipoPersona(ModelReadOnly): |
---|
713 | """! |
---|
714 | Clase que contiene el modelo para los tipos de persona |
---|
715 | |
---|
716 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
717 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
718 | @date 22-12-2015 |
---|
719 | @version 3.0.0 |
---|
720 | """ |
---|
721 | |
---|
722 | ## Nombre del tipo de persona |
---|
723 | nombre = models.CharField(max_length=15, unique=True) |
---|
724 | |
---|
725 | class Meta: |
---|
726 | """! |
---|
727 | Metaclase de la clase TipoPersona |
---|
728 | |
---|
729 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
730 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
731 | @date 22-12-2015 |
---|
732 | @version 3.0.0 |
---|
733 | """ |
---|
734 | |
---|
735 | ## Nombre de la tabla en la base de datos |
---|
736 | db_table = "comun_tipo_persona" |
---|
737 | |
---|
738 | def __unicode__(self): |
---|
739 | """! |
---|
740 | Método que muestra el nombre del tipo de persona en UNICODE |
---|
741 | |
---|
742 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
743 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
744 | @date 22-12-2015 |
---|
745 | @return Devuelve el nombre del tipo de persona en UNICODE |
---|
746 | """ |
---|
747 | return u'%s' % (self.nombre) |
---|
748 | |
---|
749 | |
---|
750 | class Socio(ModelReadOnly): |
---|
751 | """! |
---|
752 | Clase que contiene el modelo para los socios de una Unidad Economica |
---|
753 | |
---|
754 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
755 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
756 | @date 22-12-2015 |
---|
757 | @version 3.0.0 |
---|
758 | """ |
---|
759 | |
---|
760 | ## Numero de RIF o pasaporte en caso de ser extranjero |
---|
761 | rif_pasaporte = models.CharField(max_length=30, null=True) |
---|
762 | |
---|
763 | ## Numero de RIF de la Unidad Economica |
---|
764 | ue_rif = models.ForeignKey(UnidadEconomica, db_column='unidad_economica_rif') |
---|
765 | |
---|
766 | ## Nombre de la persona asociada |
---|
767 | nombre = models.CharField(max_length=140) |
---|
768 | |
---|
769 | ## Nacionalidad de la persona asociada |
---|
770 | nacionalidad = models.CharField(max_length=1) |
---|
771 | |
---|
772 | ## Tipo de persona (Natural o Juridica) |
---|
773 | tipo_persona = models.ForeignKey(TipoPersona, db_column='tipo_persona_id') |
---|
774 | |
---|
775 | ## Porcentaje accionario dentro de la Unidad Economica |
---|
776 | porcentaje = models.FloatField() |
---|
777 | |
---|
778 | class Meta: |
---|
779 | """! |
---|
780 | Metaclase de la clase Socio |
---|
781 | |
---|
782 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
783 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
784 | @date 22-12-2015 |
---|
785 | @version 3.0.0 |
---|
786 | """ |
---|
787 | |
---|
788 | ## Nombre de la tabla en la base de datos |
---|
789 | db_table = "unidadecon_socio" |
---|
790 | |
---|
791 | def __unicode__(self): |
---|
792 | """! |
---|
793 | Método que muestra los datos del socio en UNICODE |
---|
794 | |
---|
795 | @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) |
---|
796 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
797 | @date 22-12-2015 |
---|
798 | @return Devuelve los datos del socio en UNICODE |
---|
799 | """ |
---|
800 | return u'%s %s %s' % (self.rif_pasaporte,self.nombre,self.nacionalidad) |
---|