Changeset 53decbc in sicp


Ignore:
Timestamp:
Jun 9, 2015, 10:31:27 AM (9 years ago)
Author:
Ing. Roldan D. Vargas G <rvargas@…>
Branches:
master
Children:
d1674ef
Parents:
6c1f01a
Message:

se agregan clases abstractas para la consulta de datos en el SIGESIC, y se agregan los correspondientes métodos para impedir la inserción, actualización y/o eliminación de datos (clases para consultas de solo lectura)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/simulacion/sigesic/models.py

    rd1586d4 r53decbc  
    77# # @package simulacion.sigesic.models
    88#
    9 # Clases y funciones a implementar en los modelos del SIGESIC
     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)
    1011# @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    1112# @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) nodo Mérida - Venezuela
     
    1718__author__ = "Ing. Roldan Vargas (rvargas at cenditel.gob.ve)"
    1819## Muestra documentación breve sobre el script
    19 __doc__    = "Clases y funciones a implementar en los modelos del SIGESIC"
     20__doc__    = "Clases y funciones a implementar en los modelos del SIGESIC. Los modelos representados pertenecen al " \
     21             "Sistema de Gestión para la Industria y el Comercio (SIGESIC)"
    2022
    2123from django.db import models
    22 from apps.comun.models import Parroquia
    23 
    24 
    25 class EstatusUeco(models.Model):
    26     """!
    27     Clase que contiene el modelo de Estatus de Unidades Económicas, para el acceso de datos registrados en el SIGESIC
     24from apps.comun.models import Parroquia, CodigoAran, UnidadMedida
     25
     26
     27class ModelManagerReadOnly(models.Manager):
     28    """!
     29    Clase que gestiona el método de actualización de datos
    2830
    2931    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     
    3436    """
    3537
    36     ## Atributo que contiene el nombre del estatus disponibles para las Unidades Económicas
    37     nombre = models.CharField(max_length=100, unique=True)
     38    def update(self, *args, **kwargs):
     39        """!
     40        Método que impide actualizar datos en los registros consultados en el SIGESIC
     41
     42        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     43        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     44        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     45        @date 08-06-2015
     46        """
     47        pass
     48
     49
     50class ModelReadOnly(models.Model):
     51    """!
     52    Clase que gestiona los objetos y atributos de los modelos, para la simulación de escenarios a partir de datos del
     53    SIGESIC, como de solo lectura
     54
     55    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     56    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     57    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     58    @date 03-06-2015
     59    @version 3.0.0
     60    """
     61
     62    ## Atributo que gestiona el ModelManager para solo lectura de datos
     63    object = ModelManagerReadOnly()
    3864
    3965    def save(self, *args, **kwargs):
    4066        """!
    41         Método que impide registrar o actualizar datos en los registros consultados en el SIGESIC
     67        Método que impide registrar datos en los registros consultados en el SIGESIC
     68
     69        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     70        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     71        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     72        @date 08-06-2015
     73        """
     74        pass
     75
     76    def delete(self, *args, **kwargs):
     77        """!
     78        Método que impide eliminar datos en los registros consultados en el SIGESIC
    4279
    4380        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     
    4683        @date 03-06-2015
    4784        """
    48         if self.id is None:
    49             super(EstatusUeco, self).save(*args, **kwargs)
    50 
    51     def delete(self, *args, **kwargs):
    52         """!
    53         Método que impide eliminar datos en los registros consultados en el SIGESIC
    54 
    55         @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    56         @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
    57         @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    58         @date 03-06-2015
    59         """
    60         if self.id is None:
    61             super(EstatusUeco, self).save(*args, **kwargs)
     85        pass
    6286
    6387    class Meta:
    6488        """!
    65         Metaclase de la clase EstatusUeco
    66 
    67         @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    68         @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
    69         @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    70         @date 03-06-2015
    71         @version 3.0.0
    72         """
    73         db_table = "unidadecon_estatus_ueco"
    74 
    75 class UnidadEconomica(models.Model):
     89        Metaclase de la clase ModelReadOnly
     90
     91        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     92        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     93        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     94        @date 08-06-2015
     95        @version 3.0.0
     96        """
     97
     98        ## Atributo que permite especificar los campos del modelo que son requeridos para interactuar con los datos,
     99        # sin necesidad de especificar todos los atributos de un modelo
     100        managed = False
     101
     102        ## Atributo que establece el modelo de la clase como abstracta, lo cual no genera tablas en la base de datos
     103        abstract = True
     104
     105
     106class UnidadEconomica(ModelReadOnly):
    76107    """!
    77108    Clase que contiene el modelo de Unidades Económicas, para el acceso de datos registrados en el SIGESIC
     
    87118    rif = models.CharField(primary_key=True)
    88119
    89     ## Atributo que contiene un identificador autoincrement del modelo
    90     id = models.IntegerField()
    91 
    92120    ## Atributo que contiene el nombre de la Unidad Económica registrado en el SENIAT
    93121    nombre = models.CharField(max_length=255)
     
    96124    razon_social = models.CharField(max_length=255)
    97125
    98     ## Atributo que contiene la clave foránea sobre el estatus de la Unidad Económica
    99     estatus_ueco = models.ForeignKey(EstatusUeco)
    100 
    101     ## Atributo que contiene el número de patente de industria y comercio
    102     patente = models.CharField(max_length=20, null=True)
    103 
    104     ## Atributo que contiene el número de registro de la Unidad Económica en el seguro social
    105     ivss = models.CharField(max_length=20, null=True)
    106 
    107     ## Atributo que contiene el número de registro de la Unidad Económica en el inces
    108     inces = models.CharField(max_length=20, null=True)
    109 
    110     ## Atributo que contiene el número de registro de la Unidad Económica en el Servicio Nacional de Contratistas
    111     snc = models.CharField(max_length=20, null=True)
    112 
    113     ## Atributo que contiene el número de registro de la Unidad Económica en el Ministerio del Trabajo
    114     ilaboral = models.CharField(max_length=20, null=True)
    115 
    116     ## Atributo que contiene el número de registro de la Unidad Económica, si aplica, en la Superintendencia Nacional
    117     # de Cooperativas
    118     sunacoop = models.CharField(max_length=10, null=True)
    119 
    120     ## Atributo que contiene la dirección 1 de la Unidad Económica
    121     dir1 = models.CharField(max_length=54)
    122 
    123     ## Atributo que contiene la dirección 2 de la Unidad Económica
    124     dir2 = models.CharField(max_length=54)
    125 
    126     ## Atributo que contiene la dirección 3 de la Unidad Económica
    127     dir3 = models.CharField(max_length=54, null=True)
    128 
    129     ## Atributo que contiene la dirección 4 de la Unidad Económica
    130     dir4 = models.CharField(max_length=54)
    131 
    132     ## Atributo que registra si la Unidad Económica declara o no el Impuesto Sobre La Renta
    133     islr = models.BooleanField(default=True)
    134 
    135126    ## Atributo que contiene la ciudad en donde se encuentra ubicada la Unidad Económica
    136127    ciudad = models.CharField(max_length=100)
     
    139130    parroquia = models.ForeignKey(Parroquia, db_column='parroquia_codigo')
    140131
    141     def save(self, *args, **kwargs):
    142         """!
    143         Método que impide registrar o actualizar datos en los registros consultados en el SIGESIC
     132    class Meta(ModelReadOnly.Meta):
     133        """!
     134        Metaclase de la clase UnidadEconomica
    144135
    145136        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     
    147138        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    148139        @date 03-06-2015
    149         """
    150         if self.id is None:
    151             super(UnidadEconomica, self).save(*args, **kwargs)
    152 
    153     def delete(self, *args, **kwargs):
    154         """!
    155         Método que impide eliminar datos en los registros consultados en el SIGESIC
    156 
    157         @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    158         @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
    159         @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    160         @date 03-06-2015
    161         """
    162         if self.id is None:
    163             super(UnidadEconomica, self).save(*args, **kwargs)
    164 
    165     class Meta:
    166         """!
    167         Metaclase de la clase UnidadEconomica
    168 
    169         @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    170         @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
    171         @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    172         @date 03-06-2015
    173         @version 3.0.0
    174         """
     140        @version 3.0.0
     141        """
     142
     143        ## Atributo que indica el nombre de la tabla en la base de datos
    175144        db_table = "unidadecon_unidad_economica"
     145        #in_db = "sigesic"
     146
     147
     148class TipoSubunidad(ModelReadOnly):
     149    """!
     150    Clase que contiene el modelo para los tipos de Sub Unidades Económicas
     151
     152    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     153    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     154    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     155    @date 08-06-2015
     156    @version 3.0.0
     157    """
     158
     159    ## Atributo que contiene el identificador único del tipo de subunidad
     160    id = models.CharField(max_length=2, primary_key=True)
     161
     162    ## Atributo que contiene el nombre de la subunidad económica
     163    nombre = models.CharField(max_length=35)
     164
     165    def __unicode__(self):
     166        """!
     167        Método que muestra el nombre de la subunidad económica en UNICODE
     168
     169        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     170        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     171        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     172        @date 08-06-2015
     173        """
     174        return self.nombre
     175
     176
     177    class Meta(ModelReadOnly.Meta):
     178        """!
     179        Metaclase de la clase TipoSubunidad
     180
     181        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     182        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     183        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     184        @date 08-06-2015
     185        @version 3.0.0
     186        """
     187        db_table = "unidadecon_tipo_subunidad"
     188        #in_db = "sigesic"
     189
     190
     191class TipoActividad(ModelReadOnly):
     192    """!
     193    Clase que contiene el modelo para los tipos de actividades desempeñadas por las Unidades Económicas
     194
     195    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     196    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     197    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     198    @date 08-06-2015
     199    @version 3.0.0
     200    """
     201
     202    ## Atributo que contiene el nombre del tipo de actividad de desarrollada por la Subunidad Económica
     203    nombre = models.CharField(max_length=60)
     204
     205    def __unicode__(self):
     206        """!
     207        Método que muestra el nombre del tipo de actividad en UNICODE
     208
     209        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     210        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     211        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     212        @date 08-06-2015
     213        """
     214        return self.nombre
     215
     216    class Meta(ModelReadOnly.Meta):
     217        """!
     218        Metaclase de la clase TipoActividad
     219
     220        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     221        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     222        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     223        @date 08-06-2015
     224        @version 3.0.0
     225        """
     226        db_table = "unidadecon_tipo_actividad"
     227        #in_db = "sigesic"
     228
     229
     230class TipoSucursal(ModelReadOnly):
     231    """!
     232    Clase que contiene el modelo para los tipos de sucursales disponibles en el SIGESIC
     233
     234    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     235    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     236    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     237    @date 08-06-2015
     238    @version 3.0.0
     239    """
     240
     241    ## Atributo que contiene el nombre del tipo de sucursal
     242    nombre = models.CharField(max_length=60)
     243
     244    def __unicode__(self):
     245        """!
     246        Método que muestra el nombre del tipo de sucursal en UNICODE
     247
     248        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     249        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     250        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     251        @date 08-06-2015
     252        """
     253        return self.nombre
     254
     255    class Meta(ModelReadOnly.Meta):
     256        """!
     257        Metaclase de la clase TipoSucursal
     258
     259        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     260        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     261        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     262        @date 08-06-2015
     263        @version 3.0.0
     264        """
     265        db_table = "unidadecon_tipo_sucursal"
     266        #in_db = "sigesic"
     267
     268
     269class TipoTenencia(ModelReadOnly):
     270    """!
     271    Clase que contiene el modelo para los distintos tipos de tenencia de la tierra u ocupación física de la
     272    Unidad Económica
     273
     274    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     275    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     276    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     277    @date 08-06-2015
     278    @version 3.0.0
     279    """
     280
     281    ## Atributo que contiene el nombre del tipo de tenencia de la tierra en donde se encuentra ubicada la Subunidad
     282    nombre = models.CharField(max_length=60)
     283
     284    def __unicode__(self):
     285        """!
     286        Método que muestra el nombre del tipo de tenencia en UNICODE
     287
     288        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     289        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     290        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     291        @date 08-06-2015
     292        """
     293        return self.nombre
     294
     295    class Meta(ModelReadOnly.Meta):
     296        """!
     297        Metaclase de la clase TipoTenencia
     298
     299        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     300        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     301        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     302        @date 08-06-2015
     303        @version 3.0.0
     304        """
     305        db_table = "unidadecon_tipo_tenencia"
     306        #in_db = "sigesic"
     307
     308
     309class TipoAmbitoIndustrial(ModelReadOnly):
     310    """!
     311    Clase que contiene el modelo para los tipos de Ámbito Industrial registrados en el SIGESIC
     312
     313    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     314    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     315    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     316    @date 08-06-2015
     317    @version 3.0.0
     318    """
     319
     320    ## Atributo que contiene el nombre del tipo de ámbito industrial de la subunidad económica
     321    nombre = models.CharField(max_length=60, unique=True)
     322
     323    def __unicode__(self):
     324        """!
     325        Método que muestra el nombre del tipo de ámbito industrial en UNICODE
     326
     327        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     328        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     329        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     330        @date 08-06-2015
     331        """
     332        return self.nombre
     333
     334    class Meta(ModelReadOnly.Meta):
     335        """!
     336        Metaclase de la clase TipoAmbitoIndustrial
     337
     338        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     339        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     340        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     341        @date 08-06-2015
     342        @version 3.0.0
     343        """
     344        db_table = "unidadecon_tipo_ambito_industrial"
     345        #in_db = "sigesic"
     346
     347
     348class SubunidadEconomica(ModelReadOnly):
     349    """!
     350    Clase que contiene el modelo para las Sub Unidades Económicas de una Unidad Económica, los posibles valores son:
     351    (Su)cursal, (Se)de y (Pl)anta
     352
     353    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     354    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     355    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     356    @date 08-06-2015
     357    @version 3.0.0
     358    """
     359
     360    ## Atributo que establece la relación entre la subunidad económica y la unidad económica a la cual pertenece
     361    ue_rif = models.ForeignKey(UnidadEconomica, db_column='ue_rif')
     362
     363    ## Atribito que contiene el nombre de la subunidad económica
     364    nombre = models.CharField(max_length=100)
     365
     366    ## Atributo que establece la relación entre el tipo de subunidad y la subunidad económica
     367    tipo_subunidad = models.ForeignKey(TipoSubunidad, db_column='tipo_subunidad')
     368
     369    ## Atributo que contiene el nombre de la ciudad en donde se encuentra ubicada la subunidad económica
     370    ciudad = models.CharField(max_length=100)
     371
     372    ## Atributo que establece la relación entre la subunidad económica y la parroquia en donde se encuentra ubicada
     373    parroquia = models.ForeignKey(Parroquia, db_column='parroquia_codigo', related_name='+')
     374
     375    ## Atributo que establece la relación entre la subunidad económica y los tipos de actividades que desempeña
     376    tipo_actividad = models.ManyToManyField(TipoActividad, db_table='unidadecon_subu_t_actividad')
     377
     378    ## Atributo que establece la relación entre la subunidad económica y el tipo de sucursal
     379    tipo_sucursal = models.ManyToManyField(TipoSucursal, db_table='unidadecon_sucursal_t_tipo')
     380
     381    ## Atributo que establece la relación entre la subunidad económica y el tipo de tenencia de la tierra en donde
     382    # se encuentra ubicada
     383    tipo_tenencia = models.ForeignKey(TipoTenencia)
     384
     385    ## Atributo que contiene los datos de otros tipos de tenencia de la tierra
     386    tenencia_otra = models.CharField(max_length=100, null=True)
     387
     388    ## Atributo que contiene información sobre los metros cuadrados de terreno en donde se encuentra ubicada
     389    # la subunidad económica
     390    m2_terreno = models.FloatField()
     391
     392    ## Atributo que contiene información sobre los metros cuadrados de construcción en donde se encuentra ubicada
     393    # la subunidad económica
     394    m2_construccion = models.FloatField()
     395
     396    ## Atributo que establece la relación entre la subunidad económica y el tipo de ámbito industrial al que pertenece
     397    tipo_ambito_industrial = models.ForeignKey(TipoAmbitoIndustrial, null=True)
     398
     399    ## Atributo que contiene información sobre otro tipo de ámbito industrial no especificado en el SIGESIC
     400    ambito_industrial_otro = models.CharField(max_length=100, null=True)
     401
     402    ## Atributo que contiene información sobre la autonomía electríca de la subunidad económica
     403    autonomia_electrica = models.BooleanField()
     404
     405    ## Atributo que indica si la subunidad económica se encuentra activa o no
     406    activo = models.BooleanField()
     407
     408    ## Atributo que contiene información sobre el consumo eléctrico de la subunidad económica
     409    consumo_electrico = models.DecimalField(max_digits=20, decimal_places=2)
     410
     411    ## Atributo qu contiene información sobre el consumo de agua de la subunidad económica
     412    consumo_agua = models.DecimalField(max_digits=20, decimal_places=2)
     413
     414    ## Atributo qu contiene información sobre el consumo de gas de la subunidad económica
     415    consumo_gas = models.DecimalField(max_digits=20, decimal_places=2)
     416
     417
     418    def __unicode__(self):
     419        """!
     420        Método que muestra el nombre de la subunidad económica en UNICODE
     421
     422        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     423        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     424        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     425        @date 08-06-2015
     426        """
     427        return self.nombre
     428
     429    class Meta(ModelReadOnly.Meta):
     430        """!
     431        Metaclase de la clase SubunidadEconomica
     432
     433        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     434        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     435        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     436        @date 08-06-2015
     437        @version 3.0.0
     438        """
     439        db_table = "unidadecon_subunidad_economica"
     440        #in_db = "sigesic"
     441       
     442
     443class Producto(ModelReadOnly):
     444    """!
     445    Clase que contiene el modelo para los productos de una Unidad Económica registrada en el SIGESIC
     446
     447    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     448    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     449    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     450    @date 08-06-2015
     451    @version 3.0.0
     452    """
     453
     454    ## Atributo que contiene el nombre del producto
     455    nombre = models.CharField(max_length=100, verbose_name='Nombre')
     456
     457    ## Atributo que contiene la marca del producto
     458    marca = models.CharField(max_length=100, verbose_name='Descripción')
     459
     460    ## Atributo que contiene las especificaciones técnicas del producto
     461    esp_tec = models.TextField(verbose_name='Especificaciones Técnicas')
     462
     463    ## Atributo que establece la relación del producto con el código arancelario
     464    codigo_aran = models.ForeignKey(CodigoAran)
     465
     466    ## Atributo que contiene los datos sobre el peso del producto
     467    peso = models.FloatField("Peso")
     468
     469    ## Atributo que establece la relación entre el producto y la planta que lo fabrica
     470    planta_id = models.ForeignKey(SubunidadEconomica)
     471
     472    ## Atributo que establece la relación entre el producto y la unidad de medida
     473    unidad_medida = models.ForeignKey(UnidadMedida)
     474
     475    ## Atributo que contiene el número de consumidores del producto
     476    n_consumidores = models.IntegerField()
     477
     478    class Meta(ModelReadOnly.Meta):
     479        """!
     480        Metaclase de la clase Producto
     481
     482        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     483        @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     484        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     485        @date 08-06-2015
     486        @version 3.0.0
     487        """
     488        db_table = "produccion_producto"
     489        #in_db = "sigesic"
Note: See TracChangeset for help on using the changeset viewer.