summaryrefslogtreecommitdiff
path: root/fixco_custom/models/reordering_rule.py
diff options
context:
space:
mode:
Diffstat (limited to 'fixco_custom/models/reordering_rule.py')
-rw-r--r--fixco_custom/models/reordering_rule.py53
1 files changed, 39 insertions, 14 deletions
diff --git a/fixco_custom/models/reordering_rule.py b/fixco_custom/models/reordering_rule.py
index 107d40b..f1e0f9d 100644
--- a/fixco_custom/models/reordering_rule.py
+++ b/fixco_custom/models/reordering_rule.py
@@ -86,23 +86,48 @@ class ReorderingRule(models.Model):
vmsbm.min_stock,
vmsbm.buffer_stock,
vmsbm.vendor_id,
+
+ -- FINAL ONHAND (boleh override di sini)
COALESCE(SUM(sq.quantity), 0.0) AS qty_onhand,
+
vmsbm.incoming_qty AS qty_incoming,
- vmsbm.diff_stock AS diff_stock,
- vmsbm.stock_status AS stock_status
- FROM
- view_manage_stock_below_min vmsbm
- LEFT JOIN
- stock_quant sq ON sq.product_id = vmsbm.product_id AND sq.location_id = 55
+
+ -- DIFF STOCK FINAL
+ (
+ COALESCE(SUM(sq.quantity), 0.0)
+ + vmsbm.incoming_qty
+ - vmsbm.min_stock
+ ) AS diff_stock,
+
+ -- FINAL STOCK STATUS
+ CASE
+ WHEN (
+ COALESCE(SUM(sq.quantity), 0.0)
+ + vmsbm.incoming_qty
+ ) < vmsbm.min_stock
+ THEN 'MINUS STOCK'
+
+ WHEN (
+ COALESCE(SUM(sq.quantity), 0.0)
+ + vmsbm.incoming_qty
+ ) <= (vmsbm.min_stock + vmsbm.buffer_stock)
+ THEN 'LOW STOCK'
+
+ ELSE 'READY STOCK'
+ END AS stock_status
+
+ FROM view_buffer_stock_below_min vmsbm
+ LEFT JOIN stock_quant sq
+ ON sq.product_id = vmsbm.product_id
+ AND sq.location_id = 55
GROUP BY
- vmsbm.id,
- vmsbm.product_id,
- vmsbm.min_stock,
- vmsbm.buffer_stock,
- vmsbm.vendor_id,
- vmsbm.incoming_qty,
- vmsbm.diff_stock,
- vmsbm.stock_status
+ vmsbm.id,
+ vmsbm.product_id,
+ vmsbm.min_stock,
+ vmsbm.buffer_stock,
+ vmsbm.vendor_id,
+ vmsbm.incoming_qty
)
""")
+