Changeset 02300bd in observatorio


Ignore:
Timestamp:
Oct 17, 2014, 12:17:48 PM (10 years ago)
Author:
Ing. Roldan Vargas <rvargas@…>
Branches:
master
Children:
96146a7
Parents:
4ff752d
Message:

modificaciones en las funciones que permiten obtener las coordenadas geograficas de las unidades economicas para separarr las plantas como elementos individuales dentro de la georeferencia

File:
1 edited

Legend:

Unmodified
Added
Removed
  • procesos/apps/geocadena/views.py

    ra68fbee r02300bd  
    3131
    3232from sigesic.unidadecon.identifica.models import Unidad_Economica
     33from sigesic.unidadecon.nodosprodu.models import Subunidad_Economica
    3334from productores.models import Productor
    3435from cadenas.models import Directorio2005, Encuesta
     
    6970
    7071
    71 def getUE(rifGrafo):
     72def getUE(rifGrafo, planta=None):
    7273    """!
    7374    Función que permite obtener los datos de las Unidades Económicas a georeferenciar en el mapa
     
    8788    ue = []
    8889
    89     if Unidad_Economica.objects.filter(rif=rifGrafo):
     90    if Subunidad_Economica.objects.filter(ue_rif__rif=rifGrafo, tipo_subunidad='Pl', nombre=planta):
     91        try:
     92            ue = Subunidad_Economica.objects.get(ue_rif__rif=rifGrafo, tipo_subunidad='Pl', nombre=planta)
     93        except Exception, e:
     94            # En caso de que existan más de una planta con el mismo nombre se obtiene solo una de ellas
     95            ue = Subunidad_Economica.objects.filter(ue_rif__rif=rifGrafo, nombre=planta)[0]
     96    elif Unidad_Economica.objects.filter(rif=rifGrafo):
    9097        ue = Unidad_Economica.objects.get(rif=rifGrafo)
    9198        if not ue.dir1 is None:
     
    133140    """
    134141    coordxy = []
     142    rif = ''
     143
    135144    if ue:
    136         logger.info("Inicio del proceso para la obtención de coordenadas de la Unidad Económica [%s]" % ue.rif)
     145        try:
     146            rif = ue.rif
     147        except AttributeError:
     148            rif = ue.ue_rif
     149        logger.info("Inicio del proceso para la obtención de coordenadas de la Unidad Económica [%s]" % rif)
     150
    137151        try:
    138152            coordxy = estados[ue.parroquia_id[:2]]['mun'][ue.parroquia_id[:4]]['parr'][ue.parroquia_id[:6]]['coordxy']
     
    141155            #   se estimará su ubicación de acuerdo al codigo telefónico de área registrado en la base de datos
    142156            logger.warning("No fue posible establecer una ubicación parroquial para la Unidad Económica [%s]. Se "
    143                            "procede a determinar su ubicación mediante el código de área telefónico." % ue.rif)
     157                           "procede a determinar su ubicación mediante el código de área telefónico." % rif)
    144158            codarea = ''
    145159            if ue.telefono1 and ue.telefono1.__len__() > 4 and ue.telefono1[1:2] != "4":
     
    172186
    173187    if not coordxy:
    174         logger.warning("No fue posible establecer una coordenada geográfica para la Unidad Económica [%s]" % ue.rif)
     188        logger.warning("No fue posible establecer una coordenada geográfica para la Unidad Económica [%s]" % rif)
    175189    else:
    176190        logger.info("Se establecio la coordenada geográfica para la Unidad Económica [%s] en Longitud (%s) y Latitud "
    177                     "(%s)" % (ue.rif, str(coordxy[0]), str(coordxy[1])))
     191                    "(%s)" % (rif, str(coordxy[0]), str(coordxy[1])))
    178192
    179193    return coordxy
     
    590604                    if g.node_attr['label'][0] in ["J", "G", "V", "E", "P"]:
    591605                        rif = g.node_attr['label'][:10]
    592                         ue = getUE(rif)
     606                        planta = None
     607                        if g.node_attr['label'].rfind("Planta =") > 0:
     608                            planta = g.node_attr['label'][g.node_attr['label'].rfind("=") + 1:].strip()
     609                            dict_cadena['planta'] = planta
     610                        ue = getUE(rif, planta)
    593611
    594612                        if ue:
    595613                            dict_cadena['rif'] = rif
    596614                            try:
    597                                 if ue.nombre is not None and ue.nombre != "NO INDICA":
    598                                     dict_cadena['nombre'] = ue.nombre
    599                                 else:
    600                                     dict_cadena['nombre'] = ue.razon_social
     615                                try:
     616                                    if ue.nombre is not None and ue.nombre != "NO INDICA":
     617                                        dict_cadena['nombre'] = ue.nombre
     618                                    else:
     619                                        dict_cadena['nombre'] = ue.razon_social
     620                                except Exception, e:
     621                                    dict_cadena['nombre'] = ue
    601622
    602623                            except AttributeError:
Note: See TracChangeset for help on using the changeset viewer.