12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- # -*- coding: utf-8 -*-
- from openerp.http import request as r
- def get_sale_order_line():
- query = '''
- SELECT
- sale_line.id,
- sale.id,
- sale.name,
- sale.date_order,
- ARRAY[CAST(company.id AS VARCHAR),company.name] as company,
- ARRAY[CAST(partner.id AS VARCHAR), partner.name] AS partner,
- product.name_template,
- ARRAY[CAST(brand.id AS VARCHAR), brand.name] AS brand,
- ARRAY[CAST(category.id AS VARCHAR), category.name] AS category,
- sale_line.price_unit,
- sale_line.product_uos_qty,
- sale_line.discount,
- (array_agg(distinct tax.amount)) AS tax,
- (array_agg(distinct attr_rel.att_id)) AS attr_rel,
- (array_agg(distinct attr.id)) AS attr,
- (array_agg(distinct attr_value.name)) AS attr_value,
- ARRAY[CAST(sale_line.salesman_id AS VARCHAR), salesman.name] AS salesman,
- ARRAY[CAST(store.id AS VARCHAR), store.name] AS store
- FROM sale_order_line AS sale_line
- LEFT JOIN sale_order AS sale
- ON sale.id = sale_line.order_id
- LEFT JOIN res_partner AS partner
- ON partner.id = sale.partner_id
- LEFT JOIN product_product AS product
- ON product.id = sale_line.product_id
- LEFT JOIN product_template AS protemplate
- ON protemplate.id = product.product_tmpl_id
- LEFT JOIN product_category AS category
- ON category.id = protemplate.categ_id
- LEFT JOIN product_attribute_value_product_product_rel AS attr_rel
- ON attr_rel.prod_id = product.id
- LEFT JOIN product_attribute_value AS attr_value
- ON attr_value.id = attr_rel.att_id
- LEFT JOIN product_attribute AS attr
- ON attr.id = attr_value.attribute_id
- LEFT JOIN sale_order_tax AS sale_tax
- ON sale_tax.order_line_id = sale_line.id
- LEFT JOIN account_tax AS tax
- ON tax.id = sale_tax.tax_id
- LEFT JOIN res_users AS users
- ON users.id = sale_line.salesman_id
- LEFT JOIN res_partner AS salesman
- ON salesman.id = users.partner_id
- LEFT JOIN res_company AS company
- ON company.id = sale_line.company_id
- LEFT JOIN stock_warehouse AS warehouse
- ON warehouse.id = sale.warehouse_id
- LEFT JOIN res_store AS store
- ON store.id = warehouse.store_id
- LEFT JOIN product_brand AS brand
- ON brand.id = protemplate.product_brand_id
- WHERE sale_line.state = 'draft'
- GROUP BY
- sale.id,
- sale_line.id,
- sale.name,
- company.id,
- sale.date_order,
- partner.id,
- product.name_template,
- brand.id,
- category.id,
- salesman.id,
- store.id
- '''
- r.cr.execute(query)
- return [
- {
- 'sale_line_id': j[0],
- 'sale_id': j[1],
- 'sale_name':j[2],
- 'sale_date': j[3],
- 'company': j[4],
- 'partner': j[5],
- 'product_name':j[6],
- 'brand':j[7],
- 'category':j[8],
- 'price_unit': j[9],
- 'qty':j[10],
- 'discount':j[11],
- 'tax':j[12],
- 'attribute_rel':j[13],
- 'attribute':j[14],
- 'attribute_value':j[15],
- 'salesman':j[16],
- 'store':j[17]
- } for j in r.cr.fetchall()
- ]
|