Advertisement
aadddrr

Untitled

Feb 3rd, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Adrian, Feb 1 2017
  2.  
  3. CREATE OR REPLACE FUNCTION r_barcode_warranty(character varying, bigint, bigint, bigint, character varying, bigint)
  4.   RETURNS SETOF refcursor AS
  5. $BODY$
  6. DECLARE
  7.     pRefHeader          REFCURSOR := 'refHeader';
  8.     pRefDetail          REFCURSOR := 'refDetail';
  9.    
  10.     pSessionId          ALIAS FOR $1;
  11.     pTenantId           ALIAS FOR $2;
  12.     pUserId             ALIAS FOR $3;
  13.     pRoleId             ALIAS FOR $4;
  14.     pDatetime           ALIAS FOR $5;
  15.    
  16.     pDoId               ALIAS FOR $6;
  17.    
  18.     vEmptyString        character varying := '';
  19.     vZero               bigint := 0;
  20.    
  21. BEGIN
  22.    
  23.     Open pRefHeader FOR
  24.     SELECT 1;
  25.     RETURN NEXT pRefHeader;
  26.    
  27.     Open pRefDetail FOR
  28.         EXECUTE '
  29.             SELECT f_get_product_code(A.product_id)||''#''||F.serial_number AS qr_code,
  30.                 f_get_product_code(A.product_id) AS model, F.serial_number AS serial_number,
  31.                 D.warranty_type_name AS warranty_type_name,
  32.                 $3 AS upgrade,
  33.                 $3 AS help,
  34.                 $4 AS time,
  35.                 $3 AS location,
  36.                 $3 AS support
  37.             FROM sl_do_item A
  38.             INNER JOIN sl_so_item B ON B.so_item_id = A.ref_id AND B.product_id = A.product_id
  39.             INNER JOIN sl_so_warranty_item C ON C.so_item_id = B.so_item_id
  40.             INNER JOIN m_warranty_type D ON D.warranty_type_id = C.warranty_type_id
  41.             INNER JOIN sl_do_product E ON E.do_item_id = A.do_item_id
  42.             INNER JOIN in_product_balance F ON F.product_balance_id = E.product_balance_id
  43.             WHERE A.do_id = $1 AND A.tenant_id = $2  
  44.             'USING pDoId, pTenantId, vEmptyString, vZero;
  45.     RETURN NEXT pRefDetail ;
  46.    
  47. END;
  48. $BODY$
  49.   LANGUAGE plpgsql VOLATILE
  50.   COST 100
  51.   ROWS 1000;
  52. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement