summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/sale_monitoring.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/sale_monitoring.py')
-rwxr-xr-xindoteknik_custom/models/sale_monitoring.py34
1 files changed, 32 insertions, 2 deletions
diff --git a/indoteknik_custom/models/sale_monitoring.py b/indoteknik_custom/models/sale_monitoring.py
index ad15e0c2..107d5296 100755
--- a/indoteknik_custom/models/sale_monitoring.py
+++ b/indoteknik_custom/models/sale_monitoring.py
@@ -21,12 +21,42 @@ class SaleMonitoring(models.Model):
status = fields.Char(string="Status")
po_number = fields.Char(string="PO Number")
qty_reserved = fields.Integer(string="Qty Reserved")
- note = fields.Char(string="Note", compute='compute_note')
+ note_so_line = fields.Selection([
+ ('eta', 'ETA'),
+ ('info_sales', 'Info Sales'),
+ ('info_vendor', 'Info Vendor'),
+ ('penggabungan', 'Penggabungan'),
+ ], string="Note", compute='compute_note')
+ note = fields.Char(string="Note Detail", compute='compute_note_detail')
+ purchase_representative_id = fields.Many2one('res.users', string="Purchase Representative", readonly=True, compute='compute_purchase_representative')
+
+ def compute_purchase_representative(self):
+ for sale in self:
+ po = self.env['purchase.order'].search([
+ ('sale_order_id', '=', sale.sale_order_id.id),
+ ('user_id', '!=', False)
+ ])
+
+ user_id = False
+
+ if po:
+ user_id = po[0].user_id
+
+ sale.purchase_representative_id = user_id
def compute_note(self):
for sale in self:
lines = self.env['sale.order.line'].search([
('order_id', '=', sale.sale_order_id.id),
+ ('note', '!=', False)
+ ], limit=1)
+
+ sale.note_so_line = lines.note
+
+ def compute_note_detail(self):
+ for sale in self:
+ lines = self.env['sale.order.line'].search([
+ ('order_id', '=', sale.sale_order_id.id),
('note_procurement', '!=', False)
])
@@ -51,12 +81,12 @@ class SaleMonitoring(models.Model):
SUM(smd.qty_so_invoiced) AS qty_so_invoiced,
sum(smd.qty_reserved) as qty_reserved,
CASE
- when sum(qty_so_invoiced) = sum(qty_so) then 'Invoiced'
when sum(qty_so_delivered) = sum(qty_so) then 'Delivered'
when sum(qty_reserved) >= sum(qty_so) then 'Siap kirim'
when sum(qty_po) + sum(qty_reserved) - sum(qty_po_received) < sum(qty_so) then 'Belum/Kurang PO'
when sum(qty_po_received) = 0 then 'Belum terima'
when sum(qty_po_received) < sum(qty_po) then 'Terima sebagian'
+ when sum(qty_so_invoiced) = sum(qty_so) then 'Invoiced'
END AS status,
get_po_number(smd.sale_order_id) as po_number
FROM sale_monitoring_detail smd