Пример #1
0
def billings_pdf(request, id):
    billing_id = int(id)
    billing = Billing.objects.get(id=billing_id)
    articles = Article.objects.filter(billing_id=billing_id)
    get_sum_total_of_billing(billing_id)
    company = Company.objects.get(pk=billing.company_id)

    code = get_code_control(billing)
    qr_text = build_string_qr(billing)

    literal_amount = num2words(int(billing.total_billing), lang='es')
    decimal_amount = get_decimal_amount(billing_id)

    limit_date = billing.register_date + timedelta(days=90)

    html_string = render_to_string('billings/pdf.html', {
        'pagesize': 'letter',
        'company': company,
        'billing': billing,
        'instance_model': Billing,
        'instance_model_b': Article,
        'articles': articles,
        'code_control': code,
        'qr_text': qr_text,
        'literal_amount': literal_amount,
        'decimal_amount': decimal_amount,
        'limit_date': limit_date,
    }, context_instance=RequestContext(request))

    return build_pdf(html_string)
Пример #2
0
def book_sales_pdf(request, id):
    book_sale_id = int(id)
    book_sale = ReportsBilling.objects.get(id=book_sale_id)
    company = Company.objects.get(pk=book_sale.company_id)

    start_date = book_sale.start_date
    end_date = book_sale.end_date
    is_book_sales = True

    if book_sale.type == TYPE_BOOKS[0][0]:
        billings = Billing.objects.filter(company_id=company.id, register_date__range=(start_date, end_date),
                                          is_sale=True)
    else:
        billings = Billing.objects.filter(company_id=company.id, register_date__range=(start_date, end_date),
                                          is_sale=False)
        is_book_sales = False

    total_partial = billings.aggregate(Sum('total_billing'))

    html_string = render_to_string('book_sales/pdf.html', {
        'pagesize': 'Letter landscape',
        'company': company,
        'billings': billings,
        'instance_model': Billing,
        'instance_model_b': Article,
        'book_sale': book_sale,
        'is_book_sales': is_book_sales,
        'total_partial': total_partial['total_billing__sum']

    }, context_instance=RequestContext(request))

    return build_pdf(html_string)
Пример #3
0
def reports_pdf(request, id):
    report_id = int(id)
    report = Report.objects.get(id=report_id)
    billings = Billing.objects.none
    start_date = report.start_date
    end_date = report.end_date
    is_reports = True
    companies = Company.objects.all()
    total = 0
    companies_total = {}

    for company in companies:
        billings = Billing.objects.filter(company_id=company.id, register_date__range=(start_date, end_date),
                                          is_sale=True)
        total_partial = billings.aggregate(Sum('total_billing'))
        total_sum = total_partial['total_billing__sum']

        if total_sum:
            total += total_sum
            key = str(company.id)
            companies_total[key] = total_sum

    html_string = render_to_string('reports/pdf.html', {
        'pagesize': 'Letter landscape',
        'billings': billings,
        'instance_model': Company,
        'report': report,
        'is_reports': is_reports,
        'companies': companies,
        'companies_total': companies_total,
        'total': total

    }, context_instance=RequestContext(request))

    return build_pdf(html_string)