ADD NEW REPORT

This commit is contained in:
Elvis 2023-06-05 14:09:29 -05:00
parent c540a5d948
commit a36ec5edec
5 changed files with 1347 additions and 0 deletions

View File

@ -23,6 +23,7 @@ def register():
service_order.OrderLine,
service_order.OrderPayment,
service_order.Move,
service_order.DetailedBillingAnalysisStart,
invoice.InvoiceLaboratoryOrder,
invoice.Invoice,
invoice.InvoiceLine,
@ -41,7 +42,9 @@ def register():
Pool.register(
service_order.CreateInvoice,
service_order.PrintServiceOrder,
service_order.DetailedBillingAnalysisWizard,
module='laboratory', type_='wizard')
Pool.register(
service_order.ServiceOrderReport,
service_order.DetailedBillingAnalysisReport,
module='laboratory', type_='report')

File diff suppressed because it is too large Load Diff

View File

@ -954,3 +954,55 @@ class Move(metaclass=PoolMeta):
models = super()._get_origin()
models.append('laboratory.order.payment')
return models
class DetailedBillingAnalysisStart(ModelView):
'detailed billing analysis Start'
__name__ = 'laboratory.detailed_billing_analysis.start'
start_date = fields.Date('Start Date')
end_date = fields.Date('End Date')
class DetailedBillingAnalysisWizard(Wizard):
'detailed billing analysis Wizard'
__name__ = 'laboratory.detailed_billing_analysis'
start = StateView('laboratory.detailed_billing_analysis.start',
'laboratory.detailed_billing_analysis_start_view_form', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Ok', 'print_', 'tryton-ok', default=True),
])
print_ = StateReport('laboratory.detailed_billing_analysis.report')
def do_print_(self, action):
data = {
'start_date': self.start.start_date,
'end_date': self.start.end_date,
}
return action, data
def transition_print_(self):
return 'end'
class DetailedBillingAnalysisReport(Report):
"DetailedBillingAnalysis Report"
__name__ = 'laboratory.detailed_billing_analysis.report'
@classmethod
def get_context(cls, records, header, data):
report_context = super().get_context(records, header, data)
pool = Pool()
user = pool.get('res.user')(Transaction().user)
Invoice = pool.get('account.invoice')
invoice_dom = [
('invoice_date', '>=', data['start_date']),
('invoice_date', '<=', data['end_date']),
('state', 'not in', ['rejected', 'draft']),
]
invoices = Invoice.search(invoice_dom)
report_context['invoices'] = invoices
report_context['start_date'] = data['start_date']
report_context['end_date'] = data['end_date']
report_context['company'] = user.company
return report_context

View File

@ -149,6 +149,26 @@ this repository contains the full copyright notices and license terms. -->
<field name="model">laboratory.order,-1</field>
<field name="action" ref="service_order_receip"/>
</record>
<!-- Detailed Billing Analysis report -->
<record model="ir.ui.view" id="detailed_billing_analysis_start_view_form">
<field name="model">laboratory.detailed_billing_analysis.start</field>
<field name="type">form</field>
<field name="name">detailed_billing_analysis_report_form</field>
</record>
<record model="ir.action.wizard" id="wizard_detailed_billing_analysis">
<field name="name">Detailed Billing Analysis</field>
<field name="wiz_name">laboratory.detailed_billing_analysis</field>
</record>
<record model="ir.action.report" id="report_detailed_billing_analysis_print">
<field name="name">Detailed Billing Analysis</field>
<field name="model"></field>
<field name="report_name">laboratory.detailed_billing_analysis.report</field>
<field name="report">laboratory/detailed_billing_analysis.fods</field>
<field name="translatable">False</field>
</record>
<menuitem name="Detailed Billing Analysis Report" sequence="60" parent="laboratory.menu_reports"
id="menu_wizard_detailed_billing_analysis_report"
action="wizard_detailed_billing_analysis"/>
<!-- <menuitem parent="laboratory.menu_reports" action="wizard_order_indicators"
id="menu_order_indicators" icon="tryton-print"/> -->

View File

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="start_date"/>
<field name="start_date"/>
<label name="end_date"/>
<field name="end_date"/>
</form>