|
@@ -25,26 +25,34 @@ class sale_partner_model(osv.osv):
|
|
|
_order = 'total_facturado asc'
|
|
|
|
|
|
def init(self, cr):
|
|
|
- tools.sql.drop_view_if_exists(cr, 'sale_partner_model')
|
|
|
+ tools.sql.drop_view_if_exists(cr,'sale_partner_model')
|
|
|
cr.execute("""
|
|
|
CREATE OR REPLACE VIEW sale_partner_model AS (
|
|
|
- SELECT a.id AS id,
|
|
|
- c.partner_id AS partner_id,
|
|
|
- a.name,
|
|
|
- a.street AS street,
|
|
|
- a.email AS email,
|
|
|
- a.mobile AS mobile,
|
|
|
- a.phone AS phone,
|
|
|
- c.price_total AS total_facturado,
|
|
|
- p.user_id as user_id,
|
|
|
- c.date AS date
|
|
|
- FROM res_partner a
|
|
|
+ SELECT row_number() over (ORDER BY a.id)as id,
|
|
|
+ c.partner_id AS partner_id,
|
|
|
+ a.name,
|
|
|
+ a.street AS street,
|
|
|
+ a.email AS email,
|
|
|
+ a.mobile AS mobile,
|
|
|
+ a.phone AS phone,
|
|
|
+ c.price_total AS total_facturado,
|
|
|
+ lls.user_id as user_id,
|
|
|
+ c.date AS date
|
|
|
+ FROM res_partner a
|
|
|
left join sale_order p on p.partner_id=a.id
|
|
|
- LEFT JOIN(select s.partner_id AS partner_id, sum(l.product_uom_qty * l.price_unit) as price_total, MAX(l.create_date) AS date
|
|
|
- from sale_order_line as l
|
|
|
- left join sale_order s on s.id=l.order_id
|
|
|
- group by partner_id) c on c.partner_id=a.id
|
|
|
- WHERE a.customer= True and c.price_total>0
|
|
|
+ LEFT JOIN( select pa.id AS partner_id, sum(lp.amount_total) as price_total, MAX(lp.create_date) AS date
|
|
|
+ from sale_order lp
|
|
|
+ left join res_partner pa on (pa.id=lp.partner_id)
|
|
|
+ group by pa.id ) c on (c.partner_id = a.id)
|
|
|
+ --usuraio
|
|
|
+ left join ( SELECT sl.user_id, sl.partner_id FROM sale_order sl
|
|
|
+ left join sale_order so on (so.create_date = (SELECT MAX(sll.create_date) as date
|
|
|
+ FROM sale_order sll WHERE sll.partner_id=sl.partner_id group by sll.partner_id))
|
|
|
+ where sl.create_date =so.create_date
|
|
|
+ group by sl.user_id, sl.partner_id) lls on (lls.partner_id = a.id)
|
|
|
+ WHERE a.customer= True and c.price_total>0
|
|
|
+ GROUP BY a.id, c.partner_id, a.name, a.street, a.email, a.mobile, a.phone, c.price_total, lls.user_id, c.date
|
|
|
+ order by c.partner_id
|
|
|
)
|
|
|
""")
|
|
|
sale_partner_model()
|