Changeset f8ea66d in sicp


Ignore:
Timestamp:
Jun 11, 2015, 12:09:34 PM (9 years ago)
Author:
Ing. Roldan D. Vargas G <rvargas@…>
Branches:
master
Children:
b14db79
Parents:
8d930a9
Message:

agregada función que permite obtener los años de registro de productos. Se agrega también, función para generar el archivo xml con la cadena de producción de datos registrados en sigesic

File:
1 edited

Legend:

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

    raa00a66 rf8ea66d  
    2121
    2222from django.http import HttpResponse
     23from django.contrib.auth.decorators import login_required
     24from django.conf import settings
    2325from django.utils.translation import ugettext_lazy as _
    2426from apps.comun.constantes import MSG_NOT_AJAX
    25 from apps.simulacion.sigesic.models import UnidadEconomica
     27from apps.simulacion.sigesic.models import UnidadEconomica, Producto
    2628
    2729import logging
    2830import json
     31import os
    2932
    3033logger = logging.getLogger(__name__)
     34
     35@login_required()
     36def anhos_registro_productos(request):
     37    """!
     38    Función que permite obtener los años de registro de un producto seleccionado
     39
     40    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     41    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     42    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     43    @date 11-06-2015
     44    @param[in] request Objeto que contiene la petición
     45    @return Devuelve respuesta al sistema con los años registrados del producto seleccionado
     46    """
     47    try:
     48        if not request.is_ajax():
     49            return HttpResponse(json.dumps({'resultado': False, 'error': MSG_NOT_AJAX}))
     50
     51        pr_id = request.GET.get('pr_id', None)
     52        rif = request.GET.get('rif', None)
     53        anhos = []
     54
     55        if pr_id:
     56            pr = Producto.objects.using('sigesic').get(pk=pr_id)
     57
     58            anhos = [p.anho.year for p in pr.produccionpreciosr_set.all()]
     59
     60        else:
     61            # En caso de no haber seleccionado un producto, se buscan todos los años de registro de todos los productos
     62            # de la unidad economica
     63            for pr in Producto.objects.using('sigesic').filter(planta_id__ue_rif__rif=rif):
     64                for p in pr.produccionpreciosr_set.distinct('anho'):
     65                    if p.anho.year not in anhos:
     66                        anhos.append(p.anho.year)
     67
     68        return HttpResponse(json.dumps({'resultado': True, 'anhos': anhos}))
     69
     70    except Exception, e:
     71        return HttpResponse(json.dumps({'resultado': False, 'error': e}))
     72
     73    pass
     74
     75@login_required()
     76def genera_xml_sigesic(request):
     77    """!
     78    Función que permite generar el archivo xml del modelo de la cadena productiva
     79
     80    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     81    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     82    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     83    @date 10-06-2015
     84    @param[in] request Objeto que contiene la petición
     85    @return Devuelve respuesta al sistema con los resultados de la generación del archivo xml de la cadena productiva
     86    """
     87    try:
     88        if not request.is_ajax():
     89            return HttpResponse(json.dumps({'resultado': False, 'error': MSG_NOT_AJAX}))
     90
     91        narriba = request.GET.get('nivelesarriba', None)
     92        nabajo = request.GET.get('nivelesabajo', None)
     93        anho = request.GET.get('anhoregistro', None)
     94        cproducto = request.GET.get('cproducto', None)
     95
     96        if narriba and nabajo and anho and cproducto:
     97            salida = os.path.join(settings.PATH, "tmp/%s.xml" % str(request.user))
     98            pass
     99
     100    except Exception, e:
     101        return HttpResponse(json.dumps({'resultado': False, 'error': e}))
Note: See TracChangeset for help on using the changeset viewer.