diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-08-15 18:35:48 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-08-15 18:35:48 +0700 |
| commit | cbcf8d34bdc4d0ac2c47184dc46a3393d43bf145 (patch) | |
| tree | 99eeb9932968207f651fff58db84a08e3fa478d5 /indoteknik_custom/models/sum_sale_monitoring.py | |
| parent | 3ea9850077463648743e0ae87966687dd63c378e (diff) | |
add sum_sale_monitoring
Diffstat (limited to 'indoteknik_custom/models/sum_sale_monitoring.py')
| -rwxr-xr-x | indoteknik_custom/models/sum_sale_monitoring.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/indoteknik_custom/models/sum_sale_monitoring.py b/indoteknik_custom/models/sum_sale_monitoring.py new file mode 100755 index 00000000..bb392bcf --- /dev/null +++ b/indoteknik_custom/models/sum_sale_monitoring.py @@ -0,0 +1,32 @@ +from odoo import fields, models, api, tools + +class SumSaleMonitoring(models.Model): + _name = 'sum.sale.monitoring' + _auto = False + _rec_name = 'sale_order_id' + + date_order = fields.Datetime(string="Date Order") + sale_order_id = fields.Many2one("sale.order", string="Sale Order") + qty_so = fields.Integer(string="Qty SO") + qty_po = fields.Integer(string="Qty PO") + qty_po_received = fields.Integer(string="Qty PO Received") + qty_so_delivered = fields.Integer(string="Qty SO Delivered") + qty_so_invoiced = fields.Integer(string="Qty SO Invoiced") + status = fields.Char(string="Status") + + def init(self): + tools.drop_view_if_exists(self.env.cr, self._table) + self.env.cr.execute(""" + select sm.date_order, sm.sale_order_id, sum(sm.qty_so) as qty_so, sum(sm.qty_po) as qty_po, + sum(sm.qty_po_received) as qty_received, sum(sm.qty_so_delivered) as qty_delivered, sum(sm.qty_so_invoiced) as qty_invoiced, + case + when sum(qty_po) <> sum(qty_so) and sum(qty_po) <= 0 then 'Belum PO sama sekali' + when sum(qty_po) <> sum(qty_so) then 'Belum PO full' + when sum(qty_po_received) <> sum(qty_po) and sum(qty_po_received) <= 0 then 'Belum Received sama sekali' + when sum(qty_po_received) <> sum(qty_po) then 'Belum Received full' + when sum(qty_so_delivered) <> sum(qty_so) and sum(qty_so_delivered) <= 0 then 'SIAP KIRIM' + when sum(qty_so_delivered) <> sum(qty_so) then 'KIRIM SISANYA' + else 'Belum Invoiced' end as status + from sale_monitoring sm + group by sm.date_order, sm.sale_order_id + """ % self._table)
\ No newline at end of file |
