Advertisement
amirkenesbay

ОбрабЗаявПоЗВ_620101_v2

Nov 30th, 2022
1,551
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 8.51 KB | None | 0 0
  1. WITH status_map AS (
  2.     SELECT 2 AS KEY, 12 AS VALUE FROM dual
  3. ), source_map AS (
  4.     SELECT 8 AS KEY, 7 AS VALUE FROM dual
  5.     UNION
  6.     SELECT 9, 6 FROM dual
  7. ), type_map AS (
  8.     SELECT 3 AS KEY, 1 AS VALUE FROM dual
  9.     UNION
  10.     SELECT 4, 2 FROM dual
  11.     UNION
  12.     SELECT 5, 3 FROM dual
  13. ) SELECT *
  14.  
  15. FROM
  16.  (
  17. SELECT
  18.                 DDRF.R_DECL_DEB_REFUND_ID   AS DECL_DEB_REFUND_ID,
  19.                 DDRF.STATUS_DECL            AS DECL_STATUS,
  20.                 DDRF.TYPE_REQ               AS TYPE_REQ,
  21.                 DDRF.DATE_DECL              AS DATE_DECL,
  22.                 DDRF.DATE_TAKING            AS DATE_TAKING,
  23.                 DDRF.AMOUNT                 AS AMOUNT,
  24.                 DDRF.CBE                    AS CBE,
  25.                 DDRF.ERROR_DESC             AS ERROR_DESC,
  26.                 DDRF.SRC_DECL               AS SRC_DECL,
  27.                 DDRF.SOURCE_SYSTEM          AS SOURCE_SYSTEM,
  28.                 DDRF.NUM_DECLARATION        AS NUM_DECLARATION,
  29.                 DDRF.BANK_ACCOUNT_RET       AS BANK_ACCOUNT_RET,
  30.                 TP_DECL.RNN                 AS TP_SRC_RNN,
  31.                 TP_DECL.IIN_BIN             AS TP_SRC_IIN_BIN,
  32.                 TP_DECL.NAME_R              AS TP_SRC_NAME_R,
  33.                 tp_decl.name_k              AS tp_src_name_k,
  34.                 TP_DECL.NAME_E              AS TP_SRC_NAME_E,
  35.                 KBK_SRC.KBK_CODE            AS KBK_SRC_CODE,
  36.                 OPER_TYPE_SRC.PAYMENT_CODE  AS OPER_TYPE_SRC_CODE,
  37.                 oper_type_src.name_r        AS oper_type_src_name_r,
  38.                 OPER_TYPE_SRC.NAME_K        AS OPER_TYPE_SRC_NAME_K,
  39.                 KBK_DST.KBK_CODE            AS KBK_DST_CODE,
  40.                 OPER_TYPE_DST.PAYMENT_CODE  AS OPER_TYPE_DST_CODE,
  41.                 OPER_TYPE_DST.NAME_R        AS OPER_TYPE_DST_NAME_R,
  42.                 OPER_TYPE_DST.NAME_K        AS OPER_TYPE_DST_NAME_K,
  43.                 TAX_ORG_DST.NAME_R          AS TAX_ORG_DST_NAME_R,
  44.                 tax_org_dst.name_k          AS tax_org_dst_name_k,
  45.                 NVL(bank.bik, bank.head_bik) AS bank_dst_bic,
  46.                 DEBCR.NAME_R                AS DEBCR_NAME_R,
  47.                 debcr.name_k                AS debcr_name_k,
  48.                 ddrf.statement_type         AS statement_type,
  49.                 PERSON.LAST_NAME_R || ' ' || PERSON.FIRST_NAME_K || ' ' || PERSON.MIDDLE_NAME_R  AS employee_name_r,
  50.                 person.last_name_k || ' ' || person.first_name_k || ' ' || person.middle_name_k  AS employee_name_k,
  51.                 (SELECT COUNT(1) FROM R_DECL_DEB_REF_RETURN_DOC doc WHERE doc.r_decl_deb_refund_id = DDRF.R_DECL_DEB_REFUND_ID) AS all_docs_cnt,
  52.                 (SELECT COUNT(1) FROM R_DECL_DEB_REF_RETURN_DOC doc WHERE doc.r_decl_deb_refund_id = DDRF.R_DECL_DEB_REFUND_ID AND doc.status = 1) AS downloaded_docs_cnt,
  53.                 TAX_ORG_SRC.CODE_NK         AS CODE_NK_SRC,
  54.                 TAX_ORG_SRC.CODE_TPK        AS CODE_TPK_SRC,
  55.                 TAX_ORG_DST.CODE_NK         AS CODE_NK_DST,
  56.                 TAX_ORG_DST.CODE_TPK        AS CODE_TPK_DST
  57.  
  58. FROM            R_DECL_DEB_REFUND DDRF
  59. INNER JOIN      M_KBK KBK_SRC                       ON DDRF.M_KBK_SRC_ID                  = KBK_SRC.M_KBK_ID
  60. INNER JOIN      M_OPERATION_TYPE OPER_TYPE_SRC      ON DDRF.M_OPERATION_TYPE_SRC_ID       = OPER_TYPE_SRC.M_OPERATION_TYPE_ID
  61. LEFT OUTER JOIN M_KBK KBK_DST                       ON DDRF.M_KBK_DST_ID                  = KBK_DST.M_KBK_ID
  62. LEFT OUTER JOIN M_OPERATION_TYPE OPER_TYPE_DST      ON DDRF.M_OPERATION_TYPE_DST_ID       = OPER_TYPE_DST.M_OPERATION_TYPE_ID
  63. LEFT OUTER JOIN M_TAX_ORG_ADM_INFO TAX_ORG_ADM_DST  ON DDRF.M_TAX_ORG_ADM_INFO_DST_ID     = TAX_ORG_ADM_DST.M_TAX_ORG_ADM_INFO_ID
  64. LEFT OUTER JOIN M_TAX_ORG TAX_ORG_DST               ON TAX_ORG_ADM_DST.M_TAX_ORG_ID      = TAX_ORG_DST.M_TAX_ORG_ID
  65. LEFT OUTER JOIN (SELECT bank.m_bank_id, MAX(bank.bik) AS bik, MAX(head_bank.bik) AS head_bik
  66.                 FROM m_bank bank
  67.                 left outer join r_tax_payer   tp        ON bank.r_tax_payer_id          = tp.r_tax_payer_id
  68.                 left outer join r_tp_main     tp_main   ON tp.r_tp_main_id              = tp_main.r_tp_main_id
  69.                 left outer join m_bank        head_bank ON tp_main.r_tax_payer_head_id  = head_bank.r_tax_payer_id
  70.                 GROUP BY bank.m_bank_id) bank       ON ddrf.m_bank_id                     = bank.m_bank_id
  71. INNER JOIN      V_TP_NAME_INFO TP_DECL              ON DDRF.R_TAX_PAYER_DECLARANT_ID      = TP_DECL.R_TAX_PAYER_ID
  72. INNER JOIN      M_BASE_DEB_CR DEBCR                 ON DDRF.M_BASE_DEB_CR_ID              = DEBCR.M_BASE_DEB_CR_ID
  73. left outer join m_tax_org_adm_info adm_src          ON ddrf.M_TAX_ORG_ADM_INFO_SRC_ID     = adm_src.m_tax_org_adm_info_id
  74. LEFT OUTER JOIN M_TAX_ORG TAX_ORG_SRC               ON adm_src.M_TAX_ORG_ID               = TAX_ORG_SRC.M_TAX_ORG_ID
  75. left outer join (SELECT MIN(r_decl_deb_ref_hist_id) AS r_decl_deb_ref_hist_id,
  76.                         r_decl_deb_refund_id        AS r_decl_deb_refund_id
  77.                  FROM r_decl_deb_ref_hist
  78.                  WHERE operator_create != -1 AND status_decl IN (1,2,3,4)
  79.                  GROUP BY r_decl_deb_refund_id) h1  ON ddrf.r_decl_deb_refund_id          = h1.r_decl_deb_refund_id
  80. left outer join r_decl_deb_ref_hist hist            ON h1.r_decl_deb_ref_hist_id          = hist.R_DECL_DEB_REF_HIST_ID
  81. LEFT OUTER JOIN R_USER RUSER                        ON hist.OPERATOR_CREATE               = RUSER.R_USER_ID
  82. left outer join r_person person                     ON ruser.r_person_id                  = person.r_person_id
  83.  WHERE tp_decl.r_tax_payer_id = 19372754 AND ddrf.source_system IN (5, 2, 1, 7, 6) AND (DDRF.m_tax_org_frmd_id IN (SELECT MT.M_TAX_ORG_ID FROM M_TAX_ORG MT START WITH MT.M_TAX_ORG_ID = 383 CONNECT BY MT.PARENT_TAX_ORG_ID = PRIOR M_TAX_ORG_ID AND MT.IS_ACTIVE = 1)  OR adm_src.M_TAX_ORG_ID IN (SELECT MT.M_TAX_ORG_ID FROM M_TAX_ORG MT START WITH MT.M_TAX_ORG_ID = 383 CONNECT BY MT.PARENT_TAX_ORG_ID = PRIOR M_TAX_ORG_ID AND MT.IS_ACTIVE = 1)) AND ddrf.statement_type IN (1, 3, 2)
  84. UNION ALL
  85.     SELECT
  86.         req.r_decl_deb_refund_id,
  87.         statusMap.VALUE             AS STATUS_DECL,
  88.         req.type_req,
  89.         req.decl_date,
  90.         req.create_date,
  91.         NULL                        AS AMOUNT,
  92.         NULL                        AS CBE,
  93.         req.error_desc,
  94.         req.src_decl,
  95.         sourceMap.VALUE             AS SOURCE_SYSTEM,
  96.         NULL                        AS NUM_DECLARATION,
  97.         NULL                        AS BANK_ACCOUNT_RET,
  98.         tp_decl.rnn,
  99.         tp_decl.iin_bin,
  100.         tp_decl.name_r,
  101.         tp_decl.name_k,
  102.         tp_decl.name_e,
  103.         NULL                        AS KBK_SRC_CODE,
  104.         NULL                        AS OPER_TYPE_SRC_CODE,
  105.         NULL                        AS OPER_TYPE_SRC_NAME_R,
  106.         NULL                        AS OPER_TYPE_SRC_NAME_K,
  107.         NULL                        AS KBK_DST_CODE,
  108.         NULL                        AS OPER_TYPE_DST_CODE,
  109.         NULL                        AS OPER_TYPE_DST_NAME_R,
  110.         NULL                        AS OPER_TYPE_DST_NAME_K,
  111.         NULL                        AS TAX_ORG_DST_NAME_R,
  112.         NULL                        AS TAX_ORG_DST_NAME_K,
  113.         NULL                        AS BANK_DST_BIC,
  114.         NULL                        AS DEBCR_NAME_R,
  115.         NULL                        AS DEBCR_NAME_K,
  116.         typeMap.VALUE               AS STATEMENT_TYPE,
  117.         NULL                        AS EMPLOYEE_NAME_R,
  118.         NULL                        AS EMPLOYEE_NAME_K,
  119.         0                           AS ALL_DOCS_CNT,
  120.         0                           AS DOWNLOADED_DOCS_CNT,
  121.         NULL                        AS CODE_NK_SRC,
  122.         NULL                        AS CODE_TPK_SRC,
  123.         NULL                        AS CODE_NK_DST,
  124.         NULL                        AS CODE_TPK_DST
  125.     FROM
  126.         r_decl_deb_refund_req req
  127.     JOIN v_tp_name_info tp_decl ON req.r_tax_payer_id = tp_decl.r_tax_payer_id
  128.     JOIN status_map statusMap ON statusMap.key = req.status_decl
  129.     JOIN source_map sourceMap ON sourceMap.key = req.src_decl
  130.     JOIN type_map typeMap ON typeMap.key = req.type_req
  131.     LEFT JOIN m_tax_org_adm_info adm_src ON adm_src.m_tax_org_id = req.m_tax_org_id
  132.  WHERE tp_decl.r_tax_payer_id = 19372754 AND sourceMap.VALUE IN (5, 2, 1, 7, 6) AND (req.m_tax_org_id = 383 OR adm_src.M_TAX_ORG_ID IN (SELECT MT.M_TAX_ORG_ID FROM M_TAX_ORG MT START WITH MT.M_TAX_ORG_ID = 383 CONNECT BY MT.PARENT_TAX_ORG_ID = PRIOR M_TAX_ORG_ID AND MT.IS_ACTIVE = 1))
  133. ) ORDER BY tp_src_iin_bin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement