浏览代码

commit sale_report_partner

sebas 8 年之前
父节点
当前提交
3b1f9c4499
共有 4 个文件被更改,包括 28 次插入20 次删除
  1. 1 1
      sale_partner_view.xml
  2. 25 17
      sale_report_partner.py
  3. 二进制
      sale_report_partner.pyc
  4. 2 2
      salepartner_filter_view.xml

+ 1 - 1
sale_partner_view.xml

@@ -49,6 +49,6 @@
 		<menuitem name="Listado de Cliente en ventas por Monto" id="id_menu_registro_salepartner"
             parent="menu_sale_ofsalepart" action="action_mysalepartner_tree_view" sequence="1"/> -->
 
-		<menuitem id="menu_sale_ofsalepart" name="Listado de Cliente en ventas por Montos" parent="base.next_id_64" groups="base.group_sale_salesman" sequence="7" action="action_mysalepartner_tree_view"/>
+		<menuitem id="menu_sale_ofsalepart" name="Listado de cliente por ultima venta" parent="base.next_id_64" groups="base.group_sale_salesman" sequence="7" action="action_mysalepartner_tree_view"/>
 	</data>
 </openerp>

+ 25 - 17
sale_report_partner.py

@@ -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()

二进制
sale_report_partner.pyc


+ 2 - 2
salepartner_filter_view.xml

@@ -17,7 +17,7 @@
         <field name="user_id" eval="False"/>
         <field name="context">{'group_by':['date:month','partner_id']}</field>
     </record>
-	
+
 	<record id="filter_tpos_report_salespersons1" model="ir.filters">
         <field name="name">Por Mes/Vendedor</field>
         <field name="model_id">sale.partner.model</field>
@@ -36,7 +36,7 @@
                 <field name="partner_id"/>
                 <group expand="0" string="Agrupar por">
                     <filter string="Ordenar Mes" context="{'group_by':'date:month'}" help="Ordered date of the sales order"/>
-					<filter string="Vendedor" name="User" context="{'group_by':'user_id'}"/>
+					          <filter string="Vendedor" name="User" context="{'group_by':'user_id'}"/>
                 </group>
             </search>
         </field>