示例#1
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_datos = []
            datos = self.get_queryset()
            total_total = 0
            total_pagado = 0
            total_saldo = 0
            for dato in datos:
                lista_datos.append([
                    dato.get_numero_de_factura(),
                    dato.proveedor.razon_social,
                    dato.fecha.strftime("%d/%m/%Y"),
                    dato.fecha_de_vencimiento.strftime("%d/%m/%Y"),
                    separador_de_miles(dato.total),

                ])
                total_total += dato.total
                total_pagado += dato.pagado
                total_saldo += dato.saldo

            lista_datos.append(['', '', '', 'Total',
                                separador_de_miles(total_total)])

            titulos = ['Nro. Factura', 'Proveedor', 'Fecha Emision', 'Fecha Vencimiento', 'Total']

            return listview_to_excel(lista_datos, 'compras', titulos)

        return super(CompraListView, self).render_to_response(context, **response_kwargs)
示例#2
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_pagos = []
            pagos = self.get_queryset()
            total_pagos = 0

            for pago in pagos:
                compras = DetalleDePago.objects.filter(pago=pago)
                facturas_de_compra = ''
                for compra in compras:
                    facturas_de_compra += compra.compra.get_numero_de_factura(
                    ) + ' - '

                lista_pagos.append([
                    pago.id,
                    pago.fecha.strftime("%d/%m/%Y"),
                    pago.proveedor.razon_social,
                    facturas_de_compra,
                    separador_de_miles(pago.monto),
                ])
                total_pagos += pago.monto
            lista_pagos.append(
                ['', '', '', 'TOTAL PAGADO:',
                 separador_de_miles(total_pagos)])
            titulos = [
                'ID', 'Fecha', 'Proveedor', 'Facturas de compra', 'Monto'
            ]
            return listview_to_excel(lista_pagos, 'pagos_a_proveedores',
                                     titulos)
        return super(PagoListView,
                     self).render_to_response(context, **response_kwargs)
示例#3
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):

            lista_datos = []
            datos = self.get_queryset()
            for dato in datos:
                if dato.realizado:
                    estado = 'realizado'
                else:
                    estado = 'no realizado'

                if dato.vendedor:
                    vendedor = dato.vendedor.get_full_name()
                else:
                    vendedor = ' '
                lista_datos.append([
                    dato.fecha_creacion.strftime("%d/%m/%Y"),
                    dato.fecha.strftime("%d/%m/%Y"), dato.cliente.razon_social,
                    dato.contacto.nombre, dato.resumen, vendedor, estado
                ])
            titulos = [
                'Creacion', 'Fecha', 'Cliente', 'Contacto', 'Resumen',
                'Vendedor', 'Estado'
            ]
            return listview_to_excel(lista_datos, 'actividades', titulos)

        return super(ActividadListView,
                     self).render_to_response(context, **response_kwargs)
示例#4
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_datos = []
            datos = self.get_queryset().exclude(estado=ANULADO)
            for dato in datos:
                ots = DetalleDeRemision.objects.filter(remision=dato)
                otsConCambios = DetalleDeRemision2.objects.filter(
                    remision=dato)
                ordenes = ' '
                for ot in ots:
                    ordenes += '[' + str(
                        ot.orden_de_trabajo_id) + '] ' + ot.descripcion + ', '

                for otConCambio in otsConCambios:
                    ordenes += '[' + str(
                        otConCambio.detalle_orden_de_trabajo.
                        orden_de_trabajo_id
                    ) + '] ' + otConCambio.descripcion + '; '

                if dato.estado != 'A':
                    lista_datos.append([
                        dato.get_numero_de_remision(),
                        dato.cliente.razon_social,
                        dato.fecha_de_expedicion.strftime("%d/%m/%Y"),
                        dato.empresa.nombre, ordenes
                    ])

            titulos = [
                'Remision', 'Cliente', 'Fecha Expedicion', 'Empresa',
                'Ordenes de trabajo'
            ]
            return listview_to_excel(lista_datos, 'Remisiones', titulos)

        return super(RemisionListView,
                     self).render_to_response(context, **response_kwargs)
示例#5
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_datos = []
            datos = self.get_queryset()
            total_total = 0
            detalle_de_orden = ''
            for dato in datos:
                papeles = PapelOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                for papel in papeles:
                    detalle_de_orden += str(papel.descripcion)

                preprensas = PreprensaOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                for preprensa in preprensas:
                    detalle_de_orden += str(preprensa.descripcion)

                troqueles = TroquelOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                for troquel in troqueles:
                    detalle_de_orden += str(troquel.descripcion)

                posprensas_materiales = PosprensaMaterialOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                for posprensa_materiales in posprensas_materiales:
                    detalle_de_orden += str(posprensa_materiales.descripcion)

                posprensas_servicios = PosprensaServicioOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                for posprensa_servicios in posprensas_servicios:
                    detalle_de_orden += str(posprensa_servicios.descripcion)

                datos_de_bolsas = DatosDeBolsaOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                for dato_de_bolsa in datos_de_bolsas:
                    detalle_de_orden += str(dato_de_bolsa.descripcion)

                revistas = RevistaOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                compuestos = CompuestoOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                plastificados = PlastificadoOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                otros_gastos = OtroGastoOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)
                insumos = InsumoOrdenDeCompra.objects.filter(orden_de_compra_id=dato.id)

                lista_datos.append([
                    dato.fecha.strftime("%d/%m/%Y"),
                    dato.proveedor.razon_social,
                    separador_de_miles(dato.get_total()),
                    detalle_de_orden,
                ])
                total_total += dato.get_total()

            lista_datos.append(['Total', separador_de_miles(total_total)])

            titulos = ['Fecha', 'Proveedor', 'Total', 'Detalle']

            return listview_to_excel(lista_datos, 'ordenes_de_compras', titulos)

        return super(OrdenDeCompraListView, self).render_to_response(context, **response_kwargs)
示例#6
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_datos = []
            datos = self.get_queryset()
            for dato in datos:
                if dato.saldo != 0:
                    lista_datos.append([
                        dato.get_numero_de_factura(),
                        dato.proveedor.razon_social,
                        dato.fecha.strftime("%d/%m/%Y"),
                        dato.fecha_de_vencimiento.strftime("%d/%m/%Y"),
                        separador_de_miles(dato.total),
                        separador_de_miles(dato.saldo),
                    ])

            titulos = [
                'Factura', 'Proveedor', 'Emision', 'Vencimiento', 'Monto',
                'Saldo'
            ]
            return listview_to_excel(lista_datos, 'Compras', titulos)
        return super(PagosPendientesListView,
                     self).render_to_response(context, **response_kwargs)
示例#7
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_datos = []
            datos = self.get_queryset()
            total_total = 0
            total_pagado = 0
            total_saldo = 0
            for dato in datos:
                lista_datos.append([
                    dato.get_numero_de_factura(),
                    dato.fecha_de_emision.strftime("%d/%m/%Y"),
                    dato.fecha_de_vencimiento.strftime("%d/%m/%Y"),
                    separador_de_miles(dato.total),
                    separador_de_miles(dato.pagado),
                    separador_de_miles(dato.saldo),
                ])
                total_total += dato.total
                total_pagado += dato.pagado
                total_saldo += dato.saldo

            lista_datos.append([
                'Totales', '', '',
                separador_de_miles(total_total),
                separador_de_miles(total_pagado),
                separador_de_miles(total_saldo)
            ])

            titulos = [
                'Nro. Factura', 'Fecha Emision', 'Fecha Vencimiento', 'Total',
                'Pagado', 'Saldo'
            ]

            filename = "cobros_%s" % dato.cliente.nombre
            return listview_to_excel(lista_datos, filename, titulos)

        return super(EstadoDeCuentaListView,
                     self).render_to_response(context, **response_kwargs)
示例#8
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_datos = []
            datos = self.get_queryset().exclude(estado=ANULADO)
            for dato in datos:
                ots = DetalleDeVenta.objects.filter(venta=dato)
                otsConCambios = DetalleDeVenta2.objects.filter(venta=dato)
                ordenes = ' '
                for ot in ots:
                    ordenes += '[' + str(
                        ot.orden_de_trabajo_id) + '] ' + ot.descripcion + ', '

                for otConCambio in otsConCambios:
                    ordenes += '[' + str(
                        otConCambio.detalle_orden_de_trabajo.
                        orden_de_trabajo_id
                    ) + '] ' + otConCambio.descripcion + '; '

                if dato.estado != 'A':
                    lista_datos.append([
                        dato.get_numero_de_factura(),
                        dato.cliente.razon_social,
                        dato.fecha_de_emision.strftime("%d/%m/%Y"),
                        dato.fecha_de_vencimiento.strftime("%d/%m/%Y"),
                        separador_de_miles(dato.total),
                        separador_de_miles(dato.saldo), dato.estado, ordenes
                    ])

            titulos = [
                'Factura', 'Cliente', 'Emision', 'Vencimiento', 'Monto',
                'Saldo', 'Estado', 'Ordenes de trabajo'
            ]
            return listview_to_excel(lista_datos, 'Ventas', titulos)

        return super(VentaListView,
                     self).render_to_response(context, **response_kwargs)
示例#9
0
    def render_to_response(self, context, **response_kwargs):
        if 'excel' in self.request.GET.get('excel', ''):
            lista_recibos = []
            recibos = self.get_queryset()
            total_anticipos = 0
            total_retenciones = 0
            total_efectivo = 0
            total_cheques = 0
            total_transferencias = 0
            total_giros = 0
            total_notas_de_credito = 0
            total_tarjetas_de_credito = 0
            total_tarjetas_de_debito = 0
            total_otros = 0
            total_del_dia = 0

            for recibo in recibos:
                facturas_del_recibo = DetalleDeRecibo.objects.filter(
                    recibo=recibo)
                facturas = ' '
                for factura in facturas_del_recibo:
                    facturas += factura.factura.get_numero_de_factura() + ' - '

                pagos_del_recibo = DetalleDeRecibo2.objects.filter(
                    recibo=recibo)
                anticipo = 0
                retencion = 0
                efectivo = 0
                cheque = 0
                transferencia = 0
                giro = 0
                tarjeta_de_credito = 0
                tarjeta_de_debito = 0
                otro = 0
                nota_de_credito = 0
                banco = ' '
                cheque_nro = ''
                for pago in pagos_del_recibo:
                    if pago.medio_de_pago == 8:
                        anticipo = pago.monto
                    if pago.medio_de_pago == 5:
                        retencion = pago.monto
                    if pago.medio_de_pago == 0:
                        efectivo = pago.monto
                    if pago.medio_de_pago == 1:
                        transferencia = pago.monto
                    if pago.medio_de_pago == 2:
                        giro = pago.monto
                    if pago.medio_de_pago == 7:
                        tarjeta_de_credito = pago.monto
                    if pago.medio_de_pago == 6:
                        tarjeta_de_debito = pago.monto
                    if pago.medio_de_pago == 9:
                        otro = pago.monto
                    if pago.medio_de_pago == 4:
                        nota_de_credito = pago.monto
                    if pago.medio_de_pago == 3:
                        cheque = pago.monto
                        if pago.cheque:
                            banco = pago.cheque.banco.nombre
                            cheque_nro = pago.cheque.numero

                if recibo.estado != 'A':
                    lista_recibos.append([
                        recibo.numero,
                        recibo.fecha.strftime("%d/%m/%Y"),
                        recibo.cliente.nombre,
                        facturas,
                        separador_de_miles(anticipo),
                        separador_de_miles(retencion),
                        separador_de_miles(efectivo),
                        separador_de_miles(transferencia),
                        separador_de_miles(giro),
                        separador_de_miles(tarjeta_de_credito),
                        separador_de_miles(tarjeta_de_debito),
                        separador_de_miles(otro),
                        separador_de_miles(nota_de_credito),
                        separador_de_miles(cheque),
                        banco,
                        cheque_nro,
                    ])
                    total_anticipos += anticipo
                    total_retenciones += retencion
                    total_efectivo += efectivo
                    total_transferencias += transferencia
                    total_giros += giro
                    total_notas_de_credito += nota_de_credito
                    total_tarjetas_de_credito += tarjeta_de_credito
                    total_tarjetas_de_debito += tarjeta_de_debito
                    total_otros += otro
                    total_cheques += cheque
            total_del_dia = total_anticipos + total_retenciones + total_efectivo + total_cheques + \
                            total_transferencias + total_giros + total_notas_de_credito + \
                            total_tarjetas_de_credito + total_tarjetas_de_debito + total_otros

            lista_recibos.append([])
            lista_recibos.append([
                '', '', '', 'TOTALES:',
                separador_de_miles(total_anticipos),
                separador_de_miles(total_retenciones),
                separador_de_miles(total_efectivo),
                separador_de_miles(total_transferencias),
                separador_de_miles(total_giros),
                separador_de_miles(total_tarjetas_de_credito),
                separador_de_miles(total_tarjetas_de_debito),
                separador_de_miles(total_otros),
                separador_de_miles(total_notas_de_credito),
                separador_de_miles(total_cheques)
            ])
            lista_recibos.append(
                ['', '', 'TOTAL DEL DIA:',
                 separador_de_miles(total_del_dia)])
            titulos = [
                'Nro de Recibo', 'Fecha', 'Cliente', 'Facturas', 'Anticipo',
                'Retencion', 'Efectivo', 'Transferencias', 'Giros',
                'Tarjetas de credito', 'Tarjetas de debito', 'Otros',
                'Notas de credito', 'Cheque', 'Banco', 'Nro de cheque'
            ]
            return listview_to_excel(lista_recibos, 'recibos_emitidos',
                                     titulos)

        return super(ReciboListView,
                     self).render_to_response(context, **response_kwargs)