add filter lokasi and bop to purchase order

This commit is contained in:
giovanni
2026-04-08 14:24:04 +07:00
parent b58e9a10b1
commit 450d1e8cee
@@ -316,12 +316,30 @@ func (s *purchaseService) GetAll(c *fiber.Ctx, params *validation.Query) ([]enti
WHERE pi.purchase_id = purchases.id WHERE pi.purchase_id = purchases.id
AND LOWER(COALESCE(p.name, '')) LIKE ? 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, 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 WHERE pi.purchase_id = purchases.id
AND LOWER(COALESCE(p.name, '')) LIKE ? 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, like,
like, like,
like,
like,
) )
} }