Spaces:
Running
Running
File size: 1,253 Bytes
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 31 32 33 34 35 | -- FUNCTION: trans.release_stock_reservation(character varying, character varying, character varying, character varying, numeric, uuid, character varying)
-- DROP FUNCTION IF EXISTS trans.release_stock_reservation(character varying, character varying, character varying, character varying, numeric, uuid, character varying);
CREATE OR REPLACE FUNCTION trans.release_stock_reservation(
p_merchant_id character varying,
p_warehouse_id character varying,
p_sku character varying,
p_batch_no character varying,
p_qty numeric,
p_ref_id uuid,
p_created_by character varying)
RETURNS boolean
LANGUAGE 'plpgsql'
COST 100
VOLATILE PARALLEL UNSAFE
AS $BODY$
BEGIN
-- Update stock reservation
UPDATE trans.scm_stock
SET qty_reserved = GREATEST(qty_reserved - p_qty, 0),
qty_available = qty_on_hand - GREATEST(qty_reserved - p_qty, 0),
last_updated_at = NOW()
WHERE merchant_id = p_merchant_id
AND warehouse_id = p_warehouse_id
AND sku = p_sku
AND batch_no = p_batch_no;
RETURN TRUE;
END;
$BODY$;
ALTER FUNCTION trans.release_stock_reservation(character varying, character varying, character varying, character varying, numeric, uuid, character varying)
OWNER TO trans_owner;
|