diff options
Diffstat (limited to 'fixco_custom/models/reordering_rule.py')
| -rw-r--r-- | fixco_custom/models/reordering_rule.py | 53 |
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 ) """) + |
