summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/purchasing_job.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/purchasing_job.py')
-rw-r--r--indoteknik_custom/models/purchasing_job.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/indoteknik_custom/models/purchasing_job.py b/indoteknik_custom/models/purchasing_job.py
index 18235d47..43da2458 100644
--- a/indoteknik_custom/models/purchasing_job.py
+++ b/indoteknik_custom/models/purchasing_job.py
@@ -38,5 +38,52 @@ class PurchasingJob(models.Model):
def generate_request_po(self):
# print(1)
+ # TODO create document automatic purchase
for job in self:
print(job.product_id.name)
+
+
+class OutstandingSales(models.Model):
+ _name = 'v.sales.outstanding'
+ _auto = False
+ _rec_name = 'move_id'
+
+ id = fields.Integer()
+ move_id = fields.Many2one('stock.move', string='Move')
+ picking_id = fields.Many2one('stock.picking', string='Picking')
+ product_id = fields.Many2one('product.product', string='Product')
+ sale_id = fields.Many2one('sale.order', string='Sale')
+ sale_line_id = fields.Many2one('sale.order.line', string='Sale Line')
+ partner_id = fields.Many2one('res.partner', string='Partner')
+ partner_invoice_id = fields.Many2one('res.partner', string='Invoice Partner')
+ salesperson_id = fields.Many2one('res.users', string='Salesperson')
+ origin = fields.Char(string='Origin')
+ salesperson = fields.Char(string='Sales Name')
+ item_code = fields.Char(string='Item Code')
+ product = fields.Char(string='Product')
+ outgoing = fields.Float(string='Outgoing')
+ brand = fields.Char(string='Brand')
+ invoice_partner = fields.Char(string='Invoice Partner')
+
+ def init(self):
+ tools.drop_view_if_exists(self.env.cr, self._table)
+ self.env.cr.execute("""
+ CREATE OR REPLACE VIEW v_sales_outstanding AS (
+ select sm.id, sm.id as move_id, sp.id as picking_id, sm.product_id, so.id as sale_id,
+ sol.id as sale_line_id, rp.id as partner_id, so.user_id as salesperson_id, so.partner_invoice_id,
+ sp.origin, rp2.name as salesperson, coalesce(pp.default_code, pt.default_code) as item_code, pt.name as product,
+ sm.product_uom_qty as outgoing, xm.x_name as brand, rp.name as invoice_partner
+ from stock_move sm
+ join stock_picking sp on sp.id = sm.picking_id
+ join sale_order_line sol on sol.id = sm.sale_line_id
+ join sale_order so on so.id = sol.order_id
+ join res_partner rp on rp.id = so.partner_invoice_id
+ join res_users ru on ru.id = so.user_id
+ join res_partner rp2 on rp2.id = ru.partner_id
+ join product_product pp on pp.id = sm.product_id
+ join product_template pt on pt.id = pp.product_tmpl_id
+ left join x_manufactures xm on xm.id = pt.x_manufacture
+ where sp.state in ('draft', 'waiting', 'confirmed', 'assigned')
+ and sp.name like '%OUT%'
+ )
+ """)