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.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/indoteknik_custom/models/purchasing_job.py b/indoteknik_custom/models/purchasing_job.py
index 6276d554..ea8f9298 100644
--- a/indoteknik_custom/models/purchasing_job.py
+++ b/indoteknik_custom/models/purchasing_job.py
@@ -48,9 +48,10 @@ class PurchasingJob(models.Model):
SELECT
pol.product_id,
po.user_id,
- ROW_NUMBER() OVER (PARTITION BY pol.product_id ORDER BY po.create_date DESC) AS order_rank
+ ROW_NUMBER() OVER (PARTITION BY po.partner_id ORDER BY po.create_date DESC) AS order_rank
FROM purchase_order po
RIGHT JOIN purchase_order_line pol ON pol.order_id = po.id
+ LEFT JOIN res_partner rp ON rp.id = po.partner_id
)
SELECT
pmp.product_id AS id,
@@ -65,7 +66,11 @@ class PurchasingJob(models.Model):
pmp.action,
MAX(pjs.status_apo) AS status_apo,
MAX(pjs.note) AS note,
- MAX(po.user_id) AS purchase_representative_id
+ CASE
+ WHEN sub.vendor_id = 5571 THEN 27
+ WHEN sub.vendor_id = 9688 THEN 397
+ ELSE (CASE WHEN RANDOM() < 0.5 THEN 397 ELSE 1036 END)
+ END AS purchase_representative_id
FROM v_procurement_monitoring_by_product pmp
LEFT JOIN purchasing_job_state pjs ON pjs.purchasing_job_id = pmp.product_id
LEFT JOIN (
@@ -76,9 +81,9 @@ class PurchasingJob(models.Model):
LEFT JOIN sale_order_line sol ON sol.id = vso.sale_line_id
LEFT JOIN res_partner rp ON rp.id = sol.vendor_id
) AS sub ON sub.product_id = pmp.product_id
- LEFT JOIN latest_purchase_orders po ON po.product_id = pmp.product_id AND po.order_rank = 1
+ LEFT JOIN latest_purchase_orders po ON po.product_id = pmp.product_id
WHERE pmp.action = 'kurang'
- AND sub.vendor_id <> 1
+ AND sub.vendor_id IS NOT NULL
GROUP BY
pmp.product_id,
pmp.brand,