From 450d1e8ceed6cd8de055c921d222ce7810d7fbd7 Mon Sep 17 00:00:00 2001 From: giovanni Date: Wed, 8 Apr 2026 14:24:04 +0700 Subject: [PATCH] add filter lokasi and bop to purchase order --- .../purchases/services/purchase.service.go | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/internal/modules/purchases/services/purchase.service.go b/internal/modules/purchases/services/purchase.service.go index 3617ceff..0b360b1e 100644 --- a/internal/modules/purchases/services/purchase.service.go +++ b/internal/modules/purchases/services/purchase.service.go @@ -316,12 +316,30 @@ func (s *purchaseService) GetAll(c *fiber.Ctx, params *validation.Query) ([]enti WHERE pi.purchase_id = purchases.id AND LOWER(COALESCE(p.name, '')) LIKE ? ) + OR EXISTS ( + SELECT 1 + FROM purchase_items pi + JOIN warehouses w ON w.id = pi.warehouse_id + JOIN locations l ON l.id = w.location_id + WHERE pi.purchase_id = purchases.id + AND LOWER(COALESCE(l.name, '')) LIKE ? + ) + OR EXISTS ( + SELECT 1 + FROM purchase_items pi + JOIN expense_nonstocks en ON en.id = pi.expense_nonstock_id + JOIN expenses e ON e.id = en.expense_id + WHERE pi.purchase_id = purchases.id + AND LOWER(COALESCE(e.reference_number, '')) LIKE ? + ) )`, like, like, like, like, like, + like, + like, ) } @@ -387,12 +405,30 @@ func (s *purchaseService) GetAll(c *fiber.Ctx, params *validation.Query) ([]enti WHERE pi.purchase_id = purchases.id AND LOWER(COALESCE(p.name, '')) LIKE ? ) + OR EXISTS ( + SELECT 1 + FROM purchase_items pi + JOIN warehouses w ON w.id = pi.warehouse_id + JOIN locations l ON l.id = w.location_id + WHERE pi.purchase_id = purchases.id + AND LOWER(COALESCE(l.name, '')) LIKE ? + ) + OR EXISTS ( + SELECT 1 + FROM purchase_items pi + JOIN expense_nonstocks en ON en.id = pi.expense_nonstock_id + JOIN expenses e ON e.id = en.expense_id + WHERE pi.purchase_id = purchases.id + AND LOWER(COALESCE(e.reference_number, '')) LIKE ? + ) )`, like, like, like, like, like, + like, + like, ) }