Spaces:
Running
Running
File size: 1,305 Bytes
1e111cb 9798804 1e111cb 9798804 1e111cb 9798804 1e111cb 9798804 1e111cb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | -- FUNCTION: trans.get_stock_summary(character varying, character varying, character varying)
-- DROP FUNCTION IF EXISTS trans.get_stock_summary(character varying, character varying, character varying);
CREATE OR REPLACE FUNCTION trans.get_stock_summary(
p_merchant_id character varying,
p_warehouse_id character varying DEFAULT NULL::character varying,
p_sku character varying DEFAULT NULL::character varying)
RETURNS TABLE(stock_id uuid, warehouse_id character varying, catalogue_id uuid, sku character varying, batch_no character varying, qty_on_hand numeric, qty_reserved numeric, qty_available numeric, uom character varying, last_updated_at timestamp without time zone)
LANGUAGE 'plpgsql'
COST 100
VOLATILE PARALLEL UNSAFE
ROWS 1000
AS $BODY$
BEGIN
RETURN QUERY
SELECT s.stock_id, s.warehouse_id, s.catalogue_id, s.sku, s.batch_no,
s.qty_on_hand, s.qty_reserved, s.qty_available, s.uom, s.last_updated_at
FROM trans.scm_stock s
WHERE s.merchant_id = p_merchant_id
AND (p_warehouse_id IS NULL OR s.warehouse_id = p_warehouse_id)
AND (p_sku IS NULL OR s.sku = p_sku)
ORDER BY s.sku, s.batch_no;
END;
$BODY$;
ALTER FUNCTION trans.get_stock_summary(character varying, character varying, character varying)
OWNER TO trans_owner;
|