GoodERP
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

63 rindas
2.2KB

  1. from odoo import tools
  2. from odoo import models, fields
  3. class ReportLotStatus(models.Model):
  4. _name = 'report.lot.status'
  5. _description = '批次余额表'
  6. _auto = False
  7. code = fields.Char('编码')
  8. goods = fields.Char('商品')
  9. uom = fields.Char('单位')
  10. uos = fields.Char('辅助单位')
  11. lot = fields.Char('批号')
  12. attribute_id = fields.Many2one('attribute', '属性')
  13. status = fields.Char('状态')
  14. warehouse = fields.Char('仓库')
  15. date = fields.Date('日期')
  16. qty = fields.Float('数量', digits='Quantity')
  17. uos_qty = fields.Float('辅助数量', digits='Quantity')
  18. cost = fields.Float('单价', digits='Amount')
  19. amount = fields.Float('金额', digits='Amount')
  20. def init(self):
  21. cr = self._cr
  22. tools.drop_view_if_exists(cr, 'report_lot_status')
  23. cr.execute(
  24. """
  25. create or replace view report_lot_status as (
  26. SELECT MIN(line.id) as id,
  27. goods.code as code,
  28. goods.name as goods,
  29. goods.cost as cost,
  30. goods.cost * sum(line.qty_remaining) as amount,
  31. uom.name as uom,
  32. uos.name as uos,
  33. line.lot as lot,
  34. line.attribute_id as attribute_id,
  35. '在库' as status,
  36. wh.name as warehouse,
  37. max(line.date) as date,
  38. sum(line.qty_remaining) as qty,
  39. sum(line.uos_qty_remaining) as uos_qty
  40. FROM wh_move_line line
  41. LEFT JOIN goods goods ON line.goods_id = goods.id
  42. LEFT JOIN uom uom ON goods.uom_id = uom.id
  43. LEFT JOIN uom uos ON goods.uos_id = uos.id
  44. LEFT JOIN warehouse wh ON line.warehouse_dest_id = wh.id
  45. WHERE line.lot IS NOT NULL
  46. AND line.qty_remaining > 0
  47. AND wh.type = 'stock'
  48. AND line.state = 'done'
  49. GROUP BY goods.code, goods, uom, uos, lot, attribute_id, warehouse, goods.cost
  50. ORDER BY goods, lot, warehouse
  51. )
  52. """)
上海开阖软件有限公司 沪ICP备12045867号-1