pos_order.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # -*- coding: utf-8 -*-
  2. from openerp.http import request as r
  3. def get_pos_order_widget():
  4. user_store = r.env.user.store_id.id
  5. user_id = r.env.user.id
  6. validate = '''
  7. SELECT EXISTS(
  8. SELECT table_name
  9. FROM information_schema.columns
  10. WHERE table_schema='public'
  11. AND table_name='pos_order')
  12. '''
  13. query = '''
  14. SELECT pos.create_date, pos.name, pos.partner_id, pos.user_id, SUM(line.price_subtotal_incl) as amount
  15. FROM pos_order as pos
  16. LEFT JOIN res_store_journal_rel as journal
  17. ON journal.journal_id = pos.sale_journal
  18. LEFT JOIN pos_order_line AS line
  19. ON line.order_id = pos.id
  20. --LEFT JOIN res_partner AS partner
  21. --ON partner.id = pos.partner_id
  22. WHERE TO_CHAR(pos.date_order,'YYYY-MM') = TO_CHAR(current_date,'YYYY-MM')
  23. AND journal.store_id = ''' + str(user_store) + ''' AND pos.user_id = ''' + str(user_id) + '''
  24. GROUP BY pos.create_date, pos.partner_id, pos.user_id, pos.name
  25. '''
  26. r.cr.execute(validate)
  27. for j in r.cr.fetchall():
  28. band = j[0]
  29. if band == True:
  30. r.cr.execute(query)
  31. return [
  32. {
  33. 'date': j[0],
  34. 'name': j[1],
  35. 'customer_id': j[2],
  36. 'user_id': j[3],
  37. 'amount': j[4],
  38. } for j in r.cr.fetchall()
  39. ]
  40. else:
  41. return []