安徽直连缴款程序包

包头

create or replace package TEDI_AH_TAX_PAYMENT_PKG is

  -- Author  : CHENGM56
  -- Created : 2022/9/21 15:08:06
  -- Purpose : 安徽直连缴款程序包
  /*===============================================================
  *    Program Name:   TCM_TP_PKG.MAIN
  *    Author      :   CHENGM56
  *    Date        :   2022-09-21
  *    Purpose     :   税企直连-缴款模块数据集成入口
  *    Parameters  :
  *             In       P_INTERFACE_ID VARCHAR2    接口实例表id
  *             Out      p_result_code  NUMBER      返回码:0-成功 1-失败  
  *                      p_result_msg   VARCHAR2    返回错误信息
  *
  *    Update History
  *    Version    Date               Name                      Description
  *    --------  ----------  ---------------------------  --------------------
  *     V1.0     2022-09-21  CHENGM56                     Creation
  * ===============================================================*/
  PROCEDURE PRO_PAYMENT_REC_STATUS(P_REQUEST_ID   IN VARCHAR2 /* 请求ID */,
                                   P_ZSUUID       IN VARCHAR2 /*征收uuid*/,
                                   P_TAX_AMOUNT   IN NUMBER   /*金额*/,
                                   P_RESULT_CODE  OUT NUMBER /* 返回码:0-成功 1-失败 */,
                                   P_RESULT_MSG   OUT VARCHAR2 /* 返回错误信息 */);

end TEDI_AH_TAX_PAYMENT_PKG;

包体

create or replace package body TEDI_AH_TAX_PAYMENT_PKG is

  -- Author  : CHENGM56
  -- Created : 2022/9/21 15:08:06
  -- Purpose : 安徽直连缴款程序包
  /*===============================================================
  *    Program Name:   TCM_TP_PKG.MAIN
  *    Author      :   CHENGM56
  *    Date        :   2022-09-21
  *    Purpose     :   税企直连-缴款
  *    Parameters  :
  *             In       P_INTERFACE_ID VARCHAR2    接口实例表id
  *             Out      p_result_code  NUMBER      返回码:0-成功 1-失败  
  *                      p_result_msg   VARCHAR2    返回错误信息
  *
  *    Update History
  *    Version    Date               Name                      Description
  *    --------  ----------  ---------------------------  --------------------
  *     V1.0     2022-09-21  CHENGM56                     Creation 
  * ===============================================================*/

  PROCEDURE PRO_PAYMENT_REC_STATUS(P_REQUEST_ID   IN VARCHAR2 /* 请求ID */,
                                   P_ZSUUID       IN VARCHAR2 /*征收uuid*/,
                                   P_TAX_AMOUNT   IN NUMBER   /*金额*/,
                                   P_RESULT_CODE  OUT NUMBER /* 返回码:0-成功 1-失败 */,
                                   P_RESULT_MSG   OUT VARCHAR2 /* 返回错误信息 */) AS
    P_PROC_NAME       VARCHAR2(128) := 'TEDI_AH_TAX_PAYMENT_PKG.PRO_PAYMENT_REC_STATUS'; --获取此过程名,记录日志用
    L_EFFECT_ROW_NUM  NUMBER ;       -- 记录操作的行数
    TIS_MSG           VARCHAR2(300); -- 记录说明
    CNT               NUMBER;
    V_TAXPAYER_NO     VARCHAR2(20);
    V_TAXPAYER_NAME   VARCHAR2(200);
    V_CREATED_BY      VARCHAR2(100);
    V_LAST_UPDATED_BY VARCHAR2(100);
    
  BEGIN
    P_RESULT_CODE := 0; /* 返回码:0-成功 1-失败 */
    P_RESULT_MSG  := '';

    /*程序开始*/
    PKG_TAX.PROC_LOG_DEBUG(P_REQUEST_ID,
                           '1.程序' ||P_PROC_NAME||'开始',
                           P_RESULT_CODE,
                           P_RESULT_MSG,
                           P_PROC_NAME);
                           
    -- 获取参数
    SELECT S.TAXPAYER_NO,
           S.TAXPAYER_NAME,
           S.CREATED_BY,
           S.LAST_UPDATED_BY
      INTO V_TAXPAYER_NO,
           V_TAXPAYER_NAME,
           V_CREATED_BY,
           V_LAST_UPDATED_BY
      FROM TBM_OUT_PAY_INFO S -- 纳税人未清缴信息业务表
     WHERE S.ZSUUID = P_ZSUUID
       AND S.REQUEST_ID = P_REQUEST_ID
      ;
    
    -- 先判断是否存在
    SELECT COUNT(*)
      INTO CNT
      FROM TBM_PAYMENT_REC_QUERY T -- 缴款记录查询表
     WHERE T.ZSUUID = P_ZSUUID
       AND T.REQUEST_ID = P_REQUEST_ID
    ;
    IF CNT = 0 THEN
    -- 将数据插入 缴款记录查询表
    INSERT INTO TBM_PAYMENT_REC_QUERY(ID,
                                      REQUEST_ID,
                                      TAXPAYER_NO,
                                      TAXPAYER_NAME,
                                      YZPZXH,
                                      YZPZMXXH,
                                      YZPZZLDM,
                                      YJSE,
                                      ZSXMDM,
                                      ZSPMDM,
                                      ZSPMMC,
                                      SKSSQQ,
                                      SKSSQZ,
                                      YBTSE,
                                      NSSBRQ,
                                      SBFSDM,
                                      JKQX,
                                      ZNJLREXT,
                                      ZNORJFKORLXEXT,
                                      ZSUUID,
                                      SKSXDM,
                                      SKZLDM,
                                      YZFSRQ,
                                      SKSSSWJGDM,
                                      CZLXDM,
                                      PAYMENT_TIME,
                                      PAYMENT_STATUS_CODE,
                                      PAYMENT_STATUS_DESC,
                                      OPRA_DESC,
                                      DEBIT_RETURN_CODE,
                                      PAGE_PRP_INFO_DESC,
                                      CREATED_BY,
                                      CREATION_DATE,
                                      LAST_UPDATED_BY,
                                      LAST_UPDATE_DATE)
      SELECT TBM_PAYMENT_REC_QUERY_S.NEXTVAL,
             P_REQUEST_ID,
             V_TAXPAYER_NO,
             V_TAXPAYER_NAME,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             V_CREATED_BY,
             SYSDATE,
             V_LAST_UPDATED_BY,
             SYSDATE
        FROM TBM_OUT_PAY_INFO A
       WHERE A.ZSUUID = P_ZSUUID
         AND A.REQUEST_ID = P_REQUEST_ID
         ;
         
         END IF;
    
    --程序结束
    PKG_TAX.PROC_LOG_DEBUG(P_REQUEST_ID,
                           '2.程序' || P_PROC_NAME || '结束',
                           P_RESULT_CODE,
                           P_RESULT_MSG,
                           P_PROC_NAME);
  EXCEPTION
    WHEN PKG_TAX.MIDEA_LOGGED_EXCEPTION THEN
      /*释放资源,如游标,临时表;回滚事务*/
      P_RESULT_CODE := 1; /*传递给ETL_TOOL非0错误代码*/
      P_RESULT_MSG  := '调用子过程发生异常,请参考详细的步骤日志';
      RETURN;
    WHEN OTHERS THEN
      /*释放资源,如游标,临时表;回滚事务*/
      P_RESULT_CODE := 1; /*传递给ETL_TOOL非0错误代码*/
      P_RESULT_MSG  := '[Error Code:' ||
                       TO_CHAR(SQLCODE) ||
                       '].SQLERRM:' || SQLERRM;
  END PRO_PAYMENT_REC_STATUS;

end TEDI_AH_TAX_PAYMENT_PKG;
select distinct regexp_substr('123,456,789,123',
                     '[^,]+',
                     1,
                     level,
                     'i') as cnt
  from dual
connect by level <= regexp_count('123,456,789,123'/*p_exclude_category_code*/,',') + 1
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务