Changeset f8f2094 in ecoalba


Ignore:
Timestamp:
Jan 25, 2016, 5:06:52 PM (8 years ago)
Author:
eparedes <eparedes@…>
Branches:
master
Children:
8c55734
Parents:
c7b411c
Message:

funcionalidad aranceles

Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • apps/aranceles/models.py

    r96ed33b rf8f2094  
    11from django.db import models
     2from comun.models import Pais
    23
    3 # Create your models here.
     4
     5class consolidados(models.Model):
     6    pais = models.ForeignKey(Pais)
     7    HS_code_level = models.IntegerField()
     8    Base_nomenclature = models.CharField(max_length=10)
     9    Product = models.IntegerField()
     10    Number_of_subheadings =  models.IntegerField()
     11    Binding = models.CharField(max_length=2)
     12    Number_of_lines = models.IntegerField()
     13    Number_of_AVDuties = models.IntegerField()
     14    AVDuty_average = models.DecimalField(max_digits=25, decimal_places=16)
     15    AVDuty_minimum = models.IntegerField()
     16    AVDuty_maximum = models.IntegerField()
     17    Percent_duty_free = models.IntegerField()
     18    Number_of_non_AVDuties = models.IntegerField()
     19    List_of_non_AVDuties = models.CharField(max_length=20)
     20    SSG = models.IntegerField()
     21    ODC_Number_of_lines_dutiable = models.IntegerField()
     22    ODC_AVDuty_average = models.IntegerField()
     23    ODC_Number_of_non_AV_duties = models.IntegerField()
     24    ODC_List_of_non_AV_duties = models.CharField(max_length=20,null=True)
     25    List_of_present_instruments = models.CharField(max_length=100)
     26    Implementation_year = models.CharField(max_length=100)
     27    List_of_INRs = models.CharField(max_length=100)
     28    Description = models.CharField(max_length=1000)
     29
     30    class meta:
     31        db_table = 'aranceles_consolidados'
     32
     33
     34
  • apps/aranceles/urls.py

    r96ed33b rf8f2094  
    66    url(r'^aranceles/?$', 'aranceles.views.aranceles', name='aranceles'),
    77    url(r'^aranceles_consulta/?$', 'aranceles.views.aranceles_consulta', name='aranceles_consulta'),
     8    url(r'^aranceles_resultados/?$', 'aranceles.views.aranceles_resultados', name='aranceles_resultados'),
    89    url(r'^codigos_arancelarios/?$', 'aranceles.views.codigos_arancelarios', name='codigos_arancelarios'),   
    910#    url(r'^aranceles_ue/detalle/(?P<id>\d+)/$', 'aranceles.views.aranceles_ue_detalle', name='aranceles_ue_detalle'),
     
    1112#    url(r'^aranceles_prod_consulta/?$', 'aranceles.views.aranceles_prod_consulta', name='aranceles_prod_consulta'),
    1213#    url(r'^arancelesjson/?$', 'aranceles.views.arancelesjson', name='arancelesjson'),
     14    url(r'^consolidadosjson/?$', 'aranceles.views.consolidadosjson', name='consolidadosjson'),   
    1315    url(r'^paisesjson/?$', 'aranceles.views.paisesjson', name='paisesjson'),   
    1416    )
  • apps/aranceles/views.py

    r96ed33b rf8f2094  
    99from comun.models import Pais
    1010from django.utils.translation import ugettext_lazy as _l, ugettext as _
     11from aranceles.models import consolidados
    1112
    1213import os
     
    2526        micuro = connection.cursor()
    2627        micuro.execute("select id,iso3166_2,iso3166_3 from comun_pais where anyo_inclusion is not null")
     28        return dictfetchall(micuro)
     29
     30def miCursorSql2():
     31        from django.db import  connection
     32        micuro = connection.cursor()
     33        micuro.execute("select * from aranceles_consolidados")
    2734        return dictfetchall(micuro)
    2835       
     
    5360   
    5461    return HttpResponse(json.dumps(jsota),content_type="application/json")
     62
     63from decimal import Decimal
     64
     65class fakefloat(float):
     66    def __init__(self, value):
     67        self._value = value
     68    def __repr__(self):
     69        return str(self._value)
     70
     71def defaultencode(o):
     72    if isinstance(o, Decimal):
     73        # Subclass float with custom repr?
     74        return fakefloat(o)
     75    raise TypeError(repr(o) + " is not JSON serializable")
     76
     77
     78def consolidadosjson(request):
     79    start = int(request.GET['jtStartIndex'])
     80    end = int(request.GET['jtStartIndex']) + int(request.GET['jtPageSize'])
     81    idpaises = [1]
     82#    ttarea = consolidados.objects.filter(pais__in =  idpaises)
     83 
     84    ttarea = miCursorSql2()
     85
     86#    for row in ttarea:
     87#       row['iso3166_3']=_(row['iso3166_3'])
     88       
     89    cuantos = ttarea.__len__()
     90
     91    ltarea = ttarea[start:end]
     92   
     93    jsota = {}
     94    registros = []
     95    if (cuantos/10>1):
     96        proximo = True
     97    else:
     98        proximo = None
     99   
     100    jsota["meta"]= {"limit": 10, "next": proximo, "offset": 0, "previous": None, "total_count": cuantos}
     101    jsota["Result"]= "OK"
     102    jsota["TotalRecordCount"] = cuantos
     103   
     104   
     105    jsota["Records"]=ltarea
     106    print jsota
     107    return HttpResponse(json.dumps(jsota, default=defaultencode),content_type="application/json")
    55108   
    56109
    57110def codigos_arancelarios(request):
    58         paises = request.POST['paises']
    59         if paises == '':
    60                 return render_to_response('aranceles/aranceles_consulta.html', context_instance=RequestContext(request))
     111    paises = request.POST['paises']
     112    if paises == '':         
     113        return render_to_response('aranceles/aranceles_consulta.html', context_instance=RequestContext(request))
    61114               
    62         paises = paises.split(",")[:-1]
    63         dpaises = Pais.objects.filter(iso3166_2__in = paises)
    64        
    65         return render_to_response('aranceles/aranceles.html', context_instance=RequestContext(request))
     115    paises = paises.split(",")[:-1]
     116    dpaises = Pais.objects.filter(iso3166_2__in = paises)
     117    idpaises = [e.id for e in dpaises]
     118    return render_to_response('aranceles/aranceles.html', context_instance=RequestContext(request))
    66119       
    67120       
     
    81134   
    82135    return render_to_response('aranceles/aranceles_consulta.html', context_instance=RequestContext(request))
     136
     137@login_required
     138def aranceles_resultados(request):
     139    """
     140    Vista inicial para filtros consulta de aranceles
     141    """
     142   
     143    return render_to_response('aranceles/aranceles_resultados.html', context_instance=RequestContext(request))
  • templates/aranceles/aranceles_consulta.html

    r96ed33b rf8f2094  
    107107   <div id="flotante"></div>
    108108   <br />
    109    <form id="forma" class="formulario" action={% url "codigos_arancelarios" %} method="post">
     109   <form id="forma" class="formulario" action={% url "aranceles_resultados" %} method="post">
    110110   <input type="hidden" id="paises" name="paises" value="">
    111111   <button type="submit">Consultar</button>
Note: See TracChangeset for help on using the changeset viewer.