Conjunto de cambios 3546d14 en seiven para economico


Ignorar:
Fecha y hora:
14/11/2017 14:11:18 (hace 7 años)
Autor:
edgoldo <edgetrono@…>
Branches:
master
Children:
d1d2c2c
Parents:
f591439
Mensaje:

Sección de consulta para el submódulo PIB. Método genérico ajax para realización de consultas.

Ubicación:
economico
Ficheros:
2 añadidos
4 editados

Leyenda

No modificado
Añadido
Eliminado
  • economico/models.py

    rf591439 r3546d14  
    841841        return {'result': result, 'message': message}
    842842
     843    def gestion_query(self, *args, **kwargs):
     844        """!
     845        Método que permite realizar una consulta de datos en base a la selección del formulario
     846
     847        @author Edgar A. Linares (elinares at cenditel.gob.ve)
     848        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     849        @date 30-10-2017
     850        @param self <b>{object}</b> Objeto que instancia la clase
     851        @param args <b>{tupla}</b> Tupla con argumentos opcionales
     852        @param kwargs <b>{dic}</b> Diccionario con filtros opcionales
     853        @return Devuelve el resultado de la acción con su correspondiente mensaje
     854        """
     855        values, pib, demanda, produccion, actividad, sector = {}, None, None, None, None, None
     856        anhos_base, anho_b, errors, result, message, is_nominal = [], None, '', False, '', False
     857        is_demanda, is_produccion, is_actividad, is_sector = False, False, False, False
     858
     859        ## Verifica cuál es el modelo que se va a consultar
     860        if any('nominal' in index for index in kwargs):
     861            is_nominal = True
     862        if any('pibdemanda' in index for index in kwargs):
     863            is_demanda = True
     864        elif any('pibproduccion' in index for index in kwargs):
     865            is_produccion = True
     866        elif any('pibactividad' in index for index in kwargs):
     867            is_actividad = True
     868        elif any('pibsector' in index for index in kwargs):
     869            is_sector = True
     870        prod = []
     871        try:
     872            if is_nominal:
     873                pib = PIB.objects.filter(anho__gte = kwargs['anho__gte'], anho__lte = kwargs['anho__lte'])
     874            else:
     875                pib = PIB.objects.filter(anho_base = kwargs['anho_base'], anho__gte = kwargs['anho__gte'], anho__lte = kwargs['anho__lte'])
     876            if is_demanda:
     877                demanda = PIBDemanda.objects.filter(pib__in = pib)
     878                values['demanda'] = demanda
     879            if is_produccion:
     880                values['produccion'] = PIBProduccion.objects.filter(pib__in = pib)
     881                for p in values['produccion']:
     882                    prod.append(p)
     883
     884            result = True
     885            message = "Consulta exitosa de datos"
     886
     887        except Exception as e:
     888            errors += "- %s\n" % str(e)
     889
     890        if errors:
     891            result = False
     892            message = str(_("Error al obtener los datos."))
     893
     894        return {'result': result, 'message': message, 'values': prod}
    843895
    844896@python_2_unicode_compatible
  • economico/templates/consulta/economico.consulta.menu.area.html

    r98c5f0b r3546d14  
    88            $("#url_precios").attr("href", "precios");
    99            $("#url_demanda_global").attr("href", "demanda-global");
     10            $("#url_pib").attr("href", "pib");
    1011        });
    1112    </script>
  • economico/templates/economico.pib.html

    re156b7a r3546d14  
    2222                </div>
    2323            </div>
    24             <div class="row separador-row">
    25                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2" align="right">
    26                     <label for="{{ form.tipo.auto_id }}" class="control-label">
    27                     {{ form.tipo.label }}:</label>
    28                 </div>
    29                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2"> {{ form.tipo }}</div>
    30                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2" align="right">
    31                     <label for="{{ form.dominio.auto_id }}" class="control-label">
    32                     {{ form.dominio.label }}:</label>
    33                 </div>
    34                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">{{ form.dominio }}</div>
    35                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 anho_base" align="right">
    36                     <label for="{{ form.anho_base.auto_id }}" class="control-label">
    37                     {{ form.anho_base.label }}:</label>
    38                 </div>
    39                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 anho_base">{{ form.anho_base }}</div>
    40             </div>
    41             <div class="row separador-row periodo" style='display:none;'>
    42                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 col-xs-offset-4 col-sm-offset-4 col-md-offset-4 col-lg-offset-4">                       
    43                 </div>
    44                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 trimestral" style='display:none;'>
    45                     <label class="control-label">{% trans 'Trimestral' %}:</label>
    46                 </div>
    47                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
    48                     <label class="control-label">{% trans 'Año' %}:</label>
    49                 </div>
    50             </div>
    51             <div class="row separador-row periodo" style='display:none;'>
    52                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 col-xs-offset-2 col-sm-offset-2 col-md-offset-2 col-lg-offset-2" align="right">
    53                 </div>
    54                 <div class="col-xs-1 col-sm-1 col-md-1 col-lg-1">
    55                     <label class="control-label">{% trans 'Período' %}:</label>
    56                 </div>
    57                 <div class="col-xs-1 col-sm-1 col-md-1 col-lg-1" align="right">
    58                     <label class="control-label">{{ form.periodo_trimestre_ini.label }}:</label>
    59                 </div>
    60                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 trimestral" style='display:none;'>
    61                     {{ form.periodo_trimestre_ini }}
    62                 </div>
    63                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">{{ form.periodo_anho_ini }}</div>
    64             </div>
    65             <div class="row separador-row periodo" style='display:none;'>
    66                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 col-xs-offset-4 col-sm-offset-4 col-md-offset-4 col-lg-offset-4" align="right">
    67                     <label class="control-label">{{ form.periodo_trimestre_fin.label }}:</label>
    68                 </div>
    69                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 trimestral" style='display:none;'>
    70                     {{ form.periodo_trimestre_fin }}
    71                 </div>
    72                 <div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">{{ form.periodo_anho_fin }}</div>
     24            <div align="center">
     25                {% include 'base/base.pib.html' %}
    7326            </div>
    7427            <!-- -->
  • economico/views.py

    rf591439 r3546d14  
    345345    @return Devuelve el response con la página del sub-menu de consulta para el área económica
    346346    """
    347     return render(request, 'economico.consulta.pib.html', {})
     347    form = PIBForm()
     348
     349    return render(request, 'economico.consulta.pib.html', {
     350        'form':form
     351        })
    348352
    349353@login_required
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.