예제 #1
0
def activaciones_reportes_activado_s_vta_view(request):
    nivel = Permiso(request.user, [0, 1, 8])
    if nivel != -1:
        form = reporteCompleto()
        info = ""
        query = ""
        resultsExp = []
        resultsEq = []
        vtaEq = []
        vtaExp = []
        if request.method == "POST":
            form = reporteCompleto(request.POST or None)
            if form.is_valid():
                fxInicio = request.POST.get('fxInicio', '')
                fxFinal = request.POST.get('fxFinal', '')
                tipo = form.cleaned_data['tipoActivacion']
                resultsExp = []
                resultsEq = []
                if fxFinal:
                    eq = ActivacionEquipo.objects.filter(
                        fxActivacion__range=[fxInicio, fxFinal],
                        tipoActivacion__tipo__icontains=tipo)
                    for x in eq:
                        try:
                            g1 = VentaEquipo.objects.get(venta__aceptada=True,
                                                         equipo=x.equipo)
                            info = str(g1.equipo.imei)
                            info = ""
                            if g1:
                                pass
                            else:
                                resultsEq.append([
                                    x.sucursal, x.tipoActivacion.tipo,
                                    x.equipo.detallesEquipo.marca.marca.title(
                                    ) + ' ' +
                                    x.equipo.detallesEquipo.modelo.title(),
                                    str(x.equipo.imei),
                                    str(x.equipo.icc), x.equipo.noCell,
                                    x.empleado.curp,
                                    str(x.fxActivacion.strftime("%d-%m-%Y"))
                                ])
                        except:
                            resultsEq.append([
                                x.sucursal, x.tipoActivacion.tipo,
                                x.equipo.detallesEquipo.marca.marca.title() +
                                ' ' + x.equipo.detallesEquipo.modelo.title(),
                                str(x.equipo.imei),
                                str(x.equipo.icc), x.equipo.noCell,
                                x.empleado.curp,
                                str(x.fxActivacion.strftime("%d-%m-%Y"))
                            ])

                    ex = ActivacionExpress.objects.filter(
                        fxActivacion__range=[fxInicio, fxFinal],
                        tipoActivacion__tipo__icontains=tipo)
                    for x in ex:
                        try:
                            g1 = VentaExpres.objects.get(venta__aceptada=True,
                                                         expres=x.express)
                            if g1:
                                pass
                            else:
                                resultsExp.append([
                                    x.sucursal, x.tipoActivacion.tipo,
                                    str(x.express.icc), x.express.noCell,
                                    x.empleado.curp,
                                    str(x.fxActivacion.strftime("%d-%m-%Y"))
                                ])
                        except:
                            resultsExp.append([
                                x.sucursal, x.tipoActivacion.tipo,
                                str(x.express.icc), x.express.noCell,
                                x.empleado.curp,
                                str(x.fxActivacion.strftime("%d-%m-%Y"))
                            ])
                    query = "Entre fechas de Activaciones no Vendidas: " + str(
                        fxInicio) + " y " + str(
                            fxFinal) + " Activacion : " + str(tipo)
                else:
                    eq = ActivacionEquipo.objects.filter(
                        fxActivacion__icontains=fxInicio,
                        tipoActivacion__tipo__icontains=tipo)
                    for x in eq:
                        try:
                            g1 = VentaEquipo.objects.get(venta__aceptada=True,
                                                         equipo=x.equipo)
                            if g1:
                                pass
                            else:
                                resultsEq.append([
                                    x.sucursal, x.tipoActivacion.tipo,
                                    x.equipo.detallesEquipo.marca.marca.title(
                                    ) + ' ' +
                                    x.equipo.detallesEquipo.modelo.title(),
                                    str(x.equipo.imei),
                                    str(x.equipo.icc), x.equipo.noCell,
                                    x.empleado.curp,
                                    str(x.fxActivacion.strftime("%d-%m-%Y"))
                                ])
                        except:
                            resultsEq.append([
                                x.sucursal, x.tipoActivacion.tipo,
                                x.equipo.detallesEquipo.marca.marca.title() +
                                ' ' + x.equipo.detallesEquipo.modelo.title(),
                                str(x.equipo.imei),
                                str(x.equipo.icc), x.equipo.noCell,
                                x.empleado.curp,
                                str(x.fxActivacion.strftime("%d-%m-%Y"))
                            ])

                    ex = ActivacionExpress.objects.filter(
                        fxActivacion__icontains=fxInicio,
                        tipoActivacion__tipo__icontains=tipo)
                    for x in ex:
                        try:
                            g1 = VentaExpres.objects.get(venta__aceptada=True,
                                                         expres=x.express)
                            if g1:
                                pass
                            else:
                                resultsExp.append([
                                    x.sucursal, x.tipoActivacion.tipo,
                                    str(x.express.icc), x.express.noCell,
                                    x.empleado.curp,
                                    str(x.fxActivacion.strftime("%d-%m-%Y"))
                                ])
                        except:
                            resultsExp.append([
                                x.sucursal, x.tipoActivacion.tipo,
                                str(x.express.icc), x.express.noCell,
                                x.empleado.curp,
                                str(x.fxActivacion.strftime("%d-%m-%Y"))
                            ])
                        query = "Fecha : " + str(
                            fxInicio) + " Activacion : " + str(
                                tipo) + " Activaciones no vendidas."

                exportar = request.POST.get('excel', '')
                if exportar == 'Exportar':
                    result = resultsEq
                    result2 = resultsExp
                    try:
                        return export_To_Excel_ActivacionG(
                            query, result, result2, 'SinVta')
                    except:
                        info = "No se genero su Archivo."

                ctx = {
                    'form': form,
                    'query': query,
                    'info': info,
                    'resultsEq': resultsEq,
                    'resultsExp': resultsExp,
                    'tipo': tipo,
                    'vtaEq': vtaEq,
                    'vtaExp': vtaExp,
                    'nivel': nivel
                }
                return render_to_response(
                    'activaciones/reporteActSinVta.html',
                    ctx,
                    context_instance=RequestContext(request))

            else:
                info = "Seleccione un rango de fechas y/o tipo de activacion."
                form = reporteCompleto(request.POST)

        ctx = {
            'form': form,
            'query': query,
            'info': info,
            'resultsEq': resultsEq,
            'resultsExp': resultsExp,
            'vtaEq': vtaEq,
            'vtaExp': vtaExp,
            'nivel': nivel
        }
        return render_to_response('activaciones/reporteActSinVta.html',
                                  ctx,
                                  context_instance=RequestContext(request))

    else:
        return HttpResponseRedirect('/NoTienePermiso')
예제 #2
0
def activaciones_reportes_consultar_view(request):
    nivel = Permiso(request.user, [0, 1, 8])
    if nivel != -1:
        form = reporteCompleto()
        info = ""
        query = ""
        resultsExp = []
        resultsEq = []
        if request.method == "POST":
            form = reporteCompleto(request.POST or None)

            if form.is_valid():
                fxInicio = request.POST.get('fxInicio', '')
                fxFinal = request.POST.get('fxFinal', '')
                tipo = form.data.get('tipoActivacion')

                if fxFinal:
                    resultsEq = ActivacionEquipo.objects.filter(
                        fxActivacion__range=[fxInicio, fxFinal],
                        tipoActivacion__tipo__icontains=tipo)
                    resultsExp = ActivacionExpress.objects.filter(
                        fxActivacion__range=[fxInicio, fxFinal],
                        tipoActivacion__tipo__icontains=tipo)
                    query = "Entre fechas : " + str(fxInicio) + " y " + str(
                        fxFinal)
                else:
                    resultsEq = ActivacionEquipo.objects.filter(
                        fxActivacion__icontains=fxInicio,
                        tipoActivacion__tipo__icontains=tipo)
                    resultsExp = ActivacionExpress.objects.filter(
                        fxActivacion__icontains=fxInicio,
                        tipoActivacion__tipo__icontains=tipo)
                    query = "De fecha : " + str(fxInicio)

                exportar = request.POST.get('excel', '')
                if exportar == 'Exportar':
                    result = []
                    result2 = []
                    for x in resultsEq:
                        result.append([
                            x.sucursal, x.tipoActivacion.tipo,
                            x.equipo.detallesEquipo.marca.marca + ' ' +
                            x.equipo.detallesEquipo.modelo,
                            str(x.equipo.imei),
                            str(x.equipo.icc), x.equipo.noCell,
                            x.empleado.curp,
                            str(x.fxActivacion.strftime("%d-%m-%Y"))
                        ])
                    for x in resultsExp:
                        result2.append([
                            x.sucursal, x.tipoActivacion.tipo, x.express.icc,
                            x.express.noCell, x.empleado.curp,
                            str(x.fxActivacion.strftime("%d-%m-%Y"))
                        ])
                    try:
                        return export_To_Excel_ActivacionG(
                            query, result, result2, 'Todos')
                    except:
                        info = "No se genero su Archivo."

                ctx = {
                    'form': form,
                    'query': query,
                    'info': info,
                    'resultsEq': resultsEq,
                    'resultsExp': resultsExp,
                    'tipo': tipo,
                    'nivel': nivel
                }
                return render_to_response(
                    'activaciones/reporteConsultar.html',
                    ctx,
                    context_instance=RequestContext(request))

            else:
                info = "Seleccione un rango de fechas"
                form = reporteCompleto(request.POST)

        ctx = {
            'form': form,
            'query': query,
            'info': info,
            'resultsEq': resultsEq,
            'resultsExp': resultsExp,
            'nivel': nivel
        }
        return render_to_response('activaciones/reporteConsultar.html',
                                  ctx,
                                  context_instance=RequestContext(request))

    else:
        return HttpResponseRedirect('/NoTienePermiso')