Advertisement
aadddrr

cb_submit_payment_order_cb

Sep 30th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Function: cb_submit_payment_order_cb(bigint, character varying, character varying)
  2.  
  3. -- DROP FUNCTION cb_submit_payment_order_cb(bigint, character varying, character varying);
  4.  
  5. CREATE OR REPLACE FUNCTION cb_submit_payment_order_cb(bigint, character varying, character varying)
  6.   RETURNS void AS
  7. $BODY$
  8. DECLARE
  9.     pTenantId           ALIAS FOR $1;
  10.     pSessionId          ALIAS FOR $2;
  11.     pProcessNo          ALIAS FOR $3;
  12.  
  13.     vProcessId              bigint;
  14.     vPOCbId                 bigint;
  15.     vUserId                 bigint;
  16.     vDatetime               character varying(14);
  17.    vFlagNo              character varying(1);
  18.    vEmptyValue          character varying(1);
  19.    vEmptyId             bigint;
  20.    vStatusRelease       character varying(1);
  21. BEGIN
  22.     vFlagNo := 'N';
  23.    vEmptyValue  := ' ';
  24.    vEmptyId := -99;
  25.    vStatusRelease := 'R';
  26.  
  27.     SELECT A.process_message_id INTO vProcessId
  28.     FROM t_process_message A
  29.     WHERE A.tenant_id = pTenantId AND
  30.         A.process_name = 'cb_submit_payment_order_cb' AND
  31.         A.process_no = pProcessNo;
  32.        
  33.     SELECT CAST(A.process_parameter_value AS bigint) INTO vPOCbId
  34.     FROM t_process_parameter A
  35.     WHERE A.process_message_id = vProcessId AND
  36.         A.process_parameter_key = 'paymentOrderId';
  37.    
  38.     SELECT CAST(A.process_parameter_value AS bigint) INTO vUserId
  39.     FROM t_process_parameter A
  40.     WHERE A.process_message_id = vProcessId AND
  41.         A.process_parameter_key = 'userId';
  42.  
  43.     SELECT CAST(A.process_parameter_value AS character varying(14)) INTO vDatetime
  44.     FROM t_process_parameter A
  45.     WHERE A.process_message_id = vProcessId AND
  46.         A.process_parameter_key = 'datetime';
  47.    
  48.    INSERT INTO cb_trx_cashbank_balance
  49.    (tenant_id, ou_id, doc_type_id, payment_id, payment_doc_no,
  50.   payment_doc_date, payment_remark, partner_id, partner_bank_id, curr_code,
  51.   amount, due_date, flg_payment, ref_doc_type_id, ref_id,
  52.   version, create_datetime, create_user_id, update_datetime, update_user_id)
  53.   SELECT A.tenant_id, A.ou_id, A.doc_type_id, A.payment_order_id, A.doc_no,
  54.       A.doc_date, A.remark, A.partner_id, A.partner_bank_id, A.curr_code,
  55.       SUM(B.add_amount), A.due_date, vFlagNo, vEmptyId, vEmptyId,
  56.       0, vDatetime, vUserId, vDatetime, vUserId
  57.   FROM cb_payment_order A, cb_payment_order_cost B
  58.   WHERE A.payment_order_id = vPOCbId
  59.     AND A.payment_order_id = b.payment_order_id
  60.   GROUP BY A.tenant_id, A.ou_id, A.doc_type_id, A.payment_order_id, A.doc_no, A.doc_date, A.remark, A.partner_id, A.partner_bank_id, A.curr_code, A.due_date;
  61.  
  62.   UPDATE cb_payment_order SET status_doc = vStatusRelease, update_datetime = vDatetime, update_user_id = vUserId
  63.   WHERE payment_order_id = vPOCbId;
  64.  
  65. END;   
  66. $BODY$
  67.   LANGUAGE plpgsql VOLATILE
  68.   COST 100;
  69. ALTER FUNCTION cb_submit_payment_order_cb(bigint, character varying, character varying)
  70.   OWNER TO sts;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement