create or replace procedure yspay_transactionflow is
begin
--新增
INSERT INTO app_trans_info ati
(
  ati.ID,                 -- ID
  ati.TRANSTIME,          -- 订单上送时间
  ati.TRANSDATE,          -- 订单上送日期
  ati.SENDDATE,           -- 交易上送时间
  ati.MERCHANTCODE,       -- 商户编号
  ati.TRANSAMT,           -- 交易金额
  ati.RESPONSECODE,       -- 通道响应码
  ati.SEARCH_TRANS_CODE,  -- 交易类型 
  ati.APPFEE,             -- 附加费
  ati.ORDERID,            -- 订单号关联订单表
  ati.CHANNELNO,          -- 通道编号
  ati.SYS_ORDERID,        -- 通道流水编号
  ati.RESPONSE,           -- 响应结果
  ati.PAYMENTTYPE,        -- 0--线上支付(余额);1--线下支付(刷卡)
  ati.APPSN,              -- App流水号
  ati.QS_ERROR_CODE,      -- 清算错误码
  ati.BATCHNO,            -- 代付批次
  ati.SERIALNO            -- 代付流水

SELECT
  (SELECT TRUNC( DBMS_RANDOM.VALUE(10000000, 99999999) ) FROM dual) AS id,--随机生成一个8位数的ID
  (SELECT TRUNC( DBMS_RANDOM.VALUE(100000, 999999) ) FROM dual) AS TRANSTIME,--生成订单上送时间
  (select to_char(sysdate,'yyyyMMdd') from dual) AS TRANSDATE,   --生成订单上送日期
  (select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual) AS SENDDATE, --生成交易上送时间
  pdm.MERC_ID AS MERCHANTCODE,     -- 商户编号
  pdm.FACTAMOUNT AS TRANSAMT,  -- 交易金额
  '0001' AS RESPONSECODE,          -- 通道响应码
  'A019' AS SEARCH_TRANS_CODE,          -- 交易类型
  pdm.ADDFEE AS APPFEE,      -- 附加费
  pdm.ORDERNUM AS ORDERID,    -- 订单号
  'YS53' AS CHANNELNO,          --通道编号
  (SELECT TRUNC( DBMS_RANDOM.VALUE(100000000000, 999999999999) ) FROM dual) AS SYS_ORDERID,-- 通道流水编号 
  'A0001' AS RESPONSE,    -- 响应结果
  '0' AS PAYMENTTYPE,     -- 0--线上支付(余额);1--线下支付(刷卡)
  'A180516400016' AS APPSN,--改
  '00' AS QS_ERROR_CODE,  -- 清算错误码
  (SELECT TRUNC( DBMS_RANDOM.VALUE(10000000, 99999999) ) FROM dual) AS BATCHNO,--代付批次
  '0012500016' AS SERIALNO -- 代付流水
FROM  
  PMS_DRAW_MONEY pdm;
--新增
INSERT INTO pms_app_trans_info pati 

  pati.ID,              -- ID
  pati.PAYMENTTYPE,     -- 支付方式 
  pati.TRADETYPE,       -- 交易类型
  pati.TRADETIME,       -- 交易时间
  pati.ORDERID,         -- 交易号
  pati.PAYAMOUNT,       -- 交易金额
  pati.BANKCARDNAME,    -- 银行卡名称
  pati.MERCNAME,        -- 账户名称
  pati.BANKNAME,        -- 银行名称
  pati.PAYEENAME,       -- 收款人姓名
  pati.MERCID,          -- 商户id
  pati.POUNDAGE,        -- 手续费
  pati.FACTAMOUNT,      -- 实际到商户帐户金额
  pati.RESPONSESTATE,   -- 状态
  pati.FIELD1,          -- 支付方式编码
  pati.FIELD2,          -- 交易类型编码
  pati.FILED3,          -- 银行卡号
  pati.PORTORDERID,     -- 接口订单号
  pati.FINISHTIME,      -- 订单完成时间
  pati.EXTENDS1,        -- 费率
  pati.EXTENDS3,        -- 提款方式
  pati.EXTENDS5,        -- 交易状态码
  pati.EXTENDS8

SELECT 
    (SELECT TRUNC( DBMS_RANDOM.VALUE(10000000, 99999999) ) FROM dual) AS ID,--随机生成一个8位数的ID
    '账户余额' AS PAYMENTTYPE,      -- 支付方式 
    '提款' AS TRADETYPE,          -- 交易类型
    (select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual) AS TRADETIME, --交易时间
    pdm.ORDERNUM AS ORDERID, -- 交易号
    pdm.PAYAMOUNT AS PAYAMOUNT,  -- 交易金额
    pdm.BANKNAME AS BANKCARDNAME, -- 银行卡名称
    pdm.SHORTNAME AS MERCNAME,    -- 账户名称
    pdm.BANKNAME AS BANKNAME,   -- 银行名称
    pdm.SHORTNAME AS PAYEENAME,   -- 收款人姓名
    pdm.MERC_ID AS MERCID,                -- 商户id
    pdm.ADDFEE AS POUNDAGE,       -- 手续费
    pdm.FACTAMOUNT AS FACTAMOUNT, -- 实际到商户帐户金额
    '交易失败'  AS RESPONSESTATE,
    '0' AS FIELD1,          -- 支付方式编码
    '5' AS FIELD2,          -- 交易类型编码
    pdm.CLR_MERC AS FILED3, -- 银行卡号
    pdm.ORDERNUM AS PORTORDERID,  -- 接口订单号
    (select to_char(sysdate,'yyyyMMddHH24miss') from dual) AS FINISHTIME, --订单完成时间
    '0' AS  EXTENDS1,   -- 费率
    '0' AS  EXTENDS3,   -- 提款方式
    '3' AS EXTENDS5,    -- 交易状态码
    '0' AS EXTENDS8
FROM
  PMS_DRAW_MONEY pdm;
exception
WHEN OTHERS THEN
  rollback;
END yspay_transactionflow;