Spaces:
Running
Running
| -- FUNCTION: trans.get_stock_ledger(character varying, character varying, character varying, integer) | |
| -- DROP FUNCTION IF EXISTS trans.get_stock_ledger(character varying, character varying, character varying, integer); | |
| CREATE OR REPLACE FUNCTION trans.get_stock_ledger( | |
| p_merchant_id character varying, | |
| p_sku character varying DEFAULT NULL::character varying, | |
| p_batch_no character varying DEFAULT NULL::character varying, | |
| p_limit integer DEFAULT 100) | |
| RETURNS TABLE(ledger_id uuid, warehouse_id character varying, catalogue_id uuid, sku character varying, batch_no character varying, txn_type character varying, qty numeric, uom character varying, ref_type character varying, ref_id uuid, ref_no character varying, remarks text, created_by character varying, created_at timestamp without time zone) | |
| LANGUAGE 'plpgsql' | |
| COST 100 | |
| VOLATILE PARALLEL UNSAFE | |
| ROWS 1000 | |
| AS $BODY$ | |
| BEGIN | |
| RETURN QUERY | |
| SELECT l.ledger_id, l.warehouse_id, l.catalogue_id, l.sku, l.batch_no, | |
| l.txn_type, l.qty, l.uom, l.ref_type, l.ref_id, l.ref_no, | |
| l.remarks, l.created_by, l.created_at | |
| FROM trans.scm_stock_ledger l | |
| WHERE l.merchant_id = p_merchant_id | |
| AND (p_sku IS NULL OR l.sku = p_sku) | |
| AND (p_batch_no IS NULL OR l.batch_no = p_batch_no) | |
| ORDER BY l.created_at DESC | |
| LIMIT p_limit; | |
| END; | |
| $BODY$; | |
| ALTER FUNCTION trans.get_stock_ledger(character varying, character varying, character varying, integer) | |
| OWNER TO trans_owner; | |