minor fix report

This commit is contained in:
wilson gomez 2021-09-18 11:03:55 -05:00
parent 67eb94f8aa
commit 52b03307f0
2 changed files with 25 additions and 30 deletions

55
sale.py
View File

@ -14,6 +14,7 @@ from trytond.report import Report
from trytond.i18n import gettext
from .exceptions import PayValidationError, ProductionValidationWarning
from trytond.modules.sale_pos_frontend.sale import SaleSquareBox
from operator import itemgetter
KIND = [
('', ''),
@ -374,14 +375,6 @@ class SaleSquareBoxGlobalReport(Report):
balance_statements.append(st['balance'])
lst_statements.append(st)
statement_cash_before, = Statement.search_read([
('sale_device.shop', '=', data['shop']),
('journal.kind', '=', 'cash'),
('create_date', '<', cash['create_date']),
], fields_names=fields_statement,
limit=1, order=[('create_date', 'DESC')])
statement_cash_before = cls.get_stament_cash(statement_cash_before)
dom_invoices = [
('company', '=', data['company']),
('invoice_date', '=', data['date']),
@ -389,37 +382,39 @@ class SaleSquareBoxGlobalReport(Report):
('shop', '=', data['shop']),
('turn', '=', int(data['turn']))
]
fields_inv = ['number', 'invoice_type', 'total_amount', 'state', 'payment_term.payment_type', 'sales.residual_amount']
fields_inv = ['number', 'invoice_type', 'total_amount', 'state',
'payment_term.payment_type', 'sales.residual_amount',
'payment_term.rec_name', 'party.name', 'reference']
invoices = Invoice.search_read(dom_invoices, fields_names=fields_inv)
group_invoices = {'pos': [], 'pos_invoices': [],
'electronic': [], 'electronic_invoices': [],
'cancelled': [], 'cancelled_invoices': []}
pos = []
electronic = []
cancelled = []
credits = []
cash_by_pay = []
invs = []
pos_append = pos.append
electronic_append = electronic.append
cancelled_append = cancelled.append
credits_append = credits.append
invs_append = invs.append
for invoice in invoices:
if invoice['sales.'][0]['residual_amount'] > 0:
if invoice['payment_term.']['payment_type'] == '2':
credits.append(invoice['sales.'][0]['residual_amount'])
else:
cash_by_pay.append(invoice['sales.'][0]['residual_amount'])
residual_amount = invoice['sales.'][0]['residual_amount']
if residual_amount > 0:
invoice['residual_amount'] = residual_amount
credits_append(residual_amount)
invs_append(invoice)
if invoice['state'] == 'cancelled':
group_invoices['cancelled'].append(invoice['total_amount'])
group_invoices['cancelled_invoices'].append(invoice)
cancelled_append((invoice['total_amount'], invoice))
elif invoice['invoice_type'] == '1':
group_invoices['electronic'].append(invoice['total_amount'])
group_invoices['electronic_invoices'].append(invoice)
electronic_append(invoice['total_amount'])
else:
group_invoices['pos'].append(invoice['total_amount'])
group_invoices['pos_invoices'].append(invoice)
pos_append(invoice['total_amount'])
report_context['total_sale'] = sum(group_invoices['pos']) + sum(group_invoices['electronic'])
report_context['group_invoices'] = group_invoices
report_context['statement_cash_before'] = statement_cash_before
report_context['total_sale'] = sum(pos) + sum(electronic)
report_context['pos'] = sum(pos)
report_context['electronic'] = sum(electronic)
report_context['cash'] = cls.get_stament_cash(cash)
report_context['credits'] = sum(credits)
report_context['cash_by_pay'] = sum(cash_by_pay)
report_context['invoice_credits'] = invs
report_context['statements'] = lst_statements
report_context['balance_statements'] = balance_statements
report_context['data'] = data

Binary file not shown.