diff --git a/pos_sale_report/report/pos_sale_report.py b/pos_sale_report/report/pos_sale_report.py index 626aa21..2b66183 100644 --- a/pos_sale_report/report/pos_sale_report.py +++ b/pos_sale_report/report/pos_sale_report.py @@ -16,6 +16,10 @@ class PosSaleReport(models.Model): date = fields.Date(string='Order Date', readonly=True) product_id = fields.Many2one( 'product.product', string='Product Variant', readonly=True) + product_categ_id = fields.Many2one( + 'product.category', string='Product Category', readonly=True) + pos_categ_id = fields.Many2one( + 'pos.category', string='Point of Sale Category', readonly=True) product_tmpl_id = fields.Many2one( 'product.template', string='Product', readonly=True) company_id = fields.Many2one( @@ -28,6 +32,8 @@ class PosSaleReport(models.Model): select = """SELECT min(sol.id)*-1 AS id, so.date_order::date AS date, sol.product_id AS product_id, + pt.categ_id AS product_categ_id, + pt.pos_categ_id AS pos_categ_id, pp.product_tmpl_id AS product_tmpl_id, so.company_id AS company_id, 'Sale Order' AS origin, @@ -35,9 +41,10 @@ class PosSaleReport(models.Model): FROM sale_order_line sol LEFT JOIN sale_order so ON so.id = sol.order_id LEFT JOIN product_product pp ON pp.id = sol.product_id + LEFT JOIN product_template pt ON pt.id = pp.product_tmpl_id WHERE so.state NOT IN ('draft', 'sent', 'cancel') GROUP BY so.date_order, sol.product_id, pp.product_tmpl_id, - so.company_id + so.company_id, pt.categ_id, pt.pos_categ_id """ return select @@ -45,6 +52,8 @@ class PosSaleReport(models.Model): select = """SELECT min(pol.id) AS id, po.date_order::date AS date, pol.product_id AS product_id, + pt.categ_id AS product_categ_id, + pt.pos_categ_id AS pos_categ_id, pp.product_tmpl_id AS product_tmpl_id, po.company_id AS company_id, 'Point of Sale' AS origin, @@ -52,9 +61,10 @@ class PosSaleReport(models.Model): FROM pos_order_line pol LEFT JOIN pos_order po ON po.id = pol.order_id LEFT JOIN product_product pp ON pp.id = pol.product_id + LEFT JOIN product_template pt ON pt.id = pp.product_tmpl_id WHERE po.state IN ('paid', 'done', 'invoiced') GROUP BY po.date_order, pol.product_id, pp.product_tmpl_id, - po.company_id + po.company_id, pt.categ_id, pt.pos_categ_id """ return select diff --git a/pos_sale_report/report/pos_sale_report_view.xml b/pos_sale_report/report/pos_sale_report_view.xml index e9d8a8b..cac99b9 100644 --- a/pos_sale_report/report/pos_sale_report_view.xml +++ b/pos_sale_report/report/pos_sale_report_view.xml @@ -17,6 +17,8 @@ + +