49
49
def _get_details(self, cr, uid, data, context={}):
50
self._get_library_query(cr, uid, data, context={})
51
50
pool = pooler.get_pool(cr.dbname)
52
51
fiscalyear_obj = pool.get('account.fiscalyear')
53
52
user = pooler.get_pool(cr.dbname).get('res.users').browse(cr, uid, uid, context=context)
73
72
ids = reports.search(cr, uid, [('name','=','Produccion planta'),('report_name', '=', 'report.production.plant.graphics'),('report_rml','ilike','.jrxml')], context=context)
74
73
dat = reports.write(cr, uid, ids[0], {'jasper_output':'pdf'})
77
def _get_library_query(self, cr, uid, data, context={}):
79
CREATE OR REPLACE FUNCTION get_production_plant(location_id integer, fiscalyear character varying)
80
RETURNS SETOF "record" AS
89
fiscal_year integer[];
91
array_dim integer := 0;
92
fiscalyear_id integer := 0;
93
fiscalyear_name varchar := '';
96
fiscal_year := fiscalyear;
97
array_dim := array_upper(fiscal_year, 1);
98
month_name := ARRAY['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'];
99
WHILE array_dim >= indx
101
fiscalyear_id := fiscal_year[indx];
102
FOR r3 IN EXECUTE 'SELECT name FROM account_fiscalyear WHERE id = '||fiscalyear_id||' '
104
fiscalyear_name := r3.name;
106
FOR r IN EXECUTE 'SELECT pp.id, pp.default_code, ppp.sequence
107
FROM production_plant_product ppp
108
LEFT JOIN product_product pp ON (ppp.product_id = pp.id)
109
WHERE ppp.type = ''fp'' AND ppp.plant_id = '|| location_id ||'
110
ORDER BY ppp.sequence;'
113
FOR r1 IN EXECUTE 'SELECT ap.id AS period_id, ap.name AS period_name, COALESCE(pp.id, 0) AS production_id
114
FROM account_period ap
115
LEFT JOIN production_plant pp ON (ap.id = pp.period_id AND pp.location_id = '|| location_id ||')
116
WHERE ap.fiscalyear_id = '|| fiscalyear_id ||' ORDER BY ap.id;'
118
FOR r2 IN EXECUTE 'SELECT COALESCE(SUM(ppp.pqty_'||r.sequence||'), 0) AS producto
119
FROM production_plant_production ppp WHERE ppp.production_id = '||quote_literal(r1.production_id)||';'
121
r2 = (r.sequence, r.id, r.default_code, fiscalyear_id, fiscalyear_name, r1.period_id, i, month_name[i], r1.production_id, (r2.producto/1000));
132
LANGUAGE 'plpgsql' VOLATILE;