From 17342f5d3bb94af501a58bb682f66843b5a1cb41 Mon Sep 17 00:00:00 2001
From: "aag(OpenERP),apa(OpenERP)" <>
Date: Thu, 22 Apr 2010 18:21:53 +0530
Subject: [PATCH] [IMP]:stock:Improved SQL view report.(Picking)
bzr revid: apa@tinyerp.com-20100422125153-qtnyphc0i6ea2o2x
---
addons/stock/report/report_stock_picking.py | 53 +++++++-----
.../report/report_stock_picking_view.xml | 84 ++++++++-----------
2 files changed, 68 insertions(+), 69 deletions(-)
diff --git a/addons/stock/report/report_stock_picking.py b/addons/stock/report/report_stock_picking.py
index 2fe450d60de..d4ddd0509d2 100644
--- a/addons/stock/report/report_stock_picking.py
+++ b/addons/stock/report/report_stock_picking.py
@@ -26,38 +26,51 @@ class report_stock_picking(osv.osv):
_description = "Stock Picking Report"
_auto = False
_columns = {
- 'name': fields.char('Year',size=64,required=False, readonly=True),
+ 'year': fields.char('Year',size=64,required=False, readonly=True),
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True),
+ 'day': fields.char('Day', size=128, readonly=True),
'reference': fields.char('Reference', size=64, select=True),
- 'nbr': fields.integer('# of Orders', readonly=True),
+ 'nbr': fields.integer('# of Lines', readonly=True),
+ 'partner_id':fields.many2one('res.partner', 'Partner', readonly=True),
+ 'product_id': fields.many2one('product.product', 'Product', readonly=True),
+ 'product_qty': fields.float('# of Products', readonly=True),
+ 'date': fields.date('Date', readonly=True),
+ 'avg_days_to_deliver': fields.float('Avg Days to Deliver', digits=(16,2), readonly=True, group_operator="avg",
+ help="Number of Avg Days to deliver"),
'origin': fields.char('Origin', size=64),
- 'order_date':fields.date('Order Date'),
'state': fields.selection([('draft', 'Draft'),('auto', 'Waiting'),('confirmed', 'Confirmed'),('assigned', 'Available'),('done', 'Done'),('cancel', 'Cancelled')], 'State'),
'type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal'), ('delivery', 'Delivery')], 'Shipping Type', required=True),
- 'address_id': fields.many2one('res.partner.address', 'Partner'),
- 'expected_date': fields.date('Expected Date'),
-
}
def init(self, cr):
tools.drop_view_if_exists(cr, 'report_stock_picking')
cr.execute("""
create or replace view report_stock_picking as (
select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.name as reference,
- c.origin,
- c.state,
- c.type,
- c.address_id,
- to_date(to_char(c.date, 'MM-dd-YYYY'),'MM-dd-YYYY') as order_date,
- to_date(to_char(c.min_date, 'MM-dd-YYYY'),'MM-dd-YYYY') as expected_date,
- count(*) as nbr
- from
- stock_picking c
- group by to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'),c.name,c.origin,c.date,c.state,c.type,c.address_id,c.min_date
+ min(sm.id) as id,
+ to_char(sp.create_date, 'YYYY') as year,
+ to_char(sp.create_date, 'MM') as month,
+ to_char(sp.create_date, 'YYYY-MM-DD') as day,
+ sp.address_id as partner_id,
+ to_date(to_char(sp.create_date, 'MM-dd-YYYY'),'MM-dd-YYYY') as date,
+ count(sm.id) as nbr,
+ sm.product_id,
+ sum(sm.product_qty) as product_qty,
+ sp.type,
+ sp.name as reference,
+ sp.origin,
+ avg(extract('epoch' from (sp.date_done-sp.create_date)))/(3600*24) as avg_days_to_deliver,
+ sp.state
+ from stock_move as sm
+ left join stock_picking as sp ON (sm.picking_id=sp.id)
+ group by sp.type,
+ sp.create_date,
+ sm.product_id,
+ sp.address_id,
+ sp.name,
+ sp.origin,
+ sp.state
+
)""")
report_stock_picking()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/stock/report/report_stock_picking_view.xml b/addons/stock/report/report_stock_picking_view.xml
index 3cb407a9ccb..c7a82ebc863 100644
--- a/addons/stock/report/report_stock_picking_view.xml
+++ b/addons/stock/report/report_stock_picking_view.xml
@@ -11,32 +11,22 @@
tree
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
-
- report.stock.picking.form
- report.stock.picking
- form
-
-
-
-
report.stock.picking.graph
@@ -44,8 +34,9 @@
graph
-
+
+
@@ -57,38 +48,33 @@
-
-
+
+
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -100,7 +86,7 @@
tree,graph
- {'search_default_State': 1}
+ {'search_default_Partner': 1,'search_default_month': 1}