Advertisement
GLASHATAY_007

Untitled

Apr 3rd, 2024
532
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. TRUNCATE TABLE kgz_purchase_uo;
  2. INSERT INTO kgz_purchase_uo
  3. -- 1 block
  4. SELECT
  5.     p.requestid,
  6.     p.lotuuid,
  7.     p.pg_ikz,
  8.     p.pg_rn,
  9.     p.reqnum,
  10.     p.f_productprice,
  11.     p.final_price,
  12.     TRUNC(p.date_notice_published)date_notice_published,
  13.     p.lotstage,
  14.     p.reqstage,
  15.     p.fordertypename,
  16.     TO_CHAR(p.lotsubject)lotsubject,
  17.     o.inn,
  18.     o.full_name,
  19.     p.grbstitle,
  20.     NULL kgz_reqnum,
  21.    o.inn AS c_inn -- 6 ИНН организации разместившей извещение
  22.    ,o.full_name AS c_org -- 7 наименование организации разместившей извещение
  23.    ,p.joflag
  24.    ,pea.nmck_type --  метод определения и обоснования НМЦК
  25.    ,get_pg_year(p.pg_ikz)pg_year
  26.    ,1 TYPE
  27. FROM dwh_procedures_kgntv p
  28. Inner Join dwh_organization_kgntv o ON p.orgid=o.id
  29. Left Join (    SELECT
  30.                         COALESCE(l.lot_id,sovm.lot_id) lot_id,
  31.                         COALESCE(l.plnm_name,l.plnm_name2,sovm.plnm_name) nmck_type
  32.                  FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  33.                   Left Join (SELECT
  34.                                     m.plnm_name,
  35.                                     COALESCE(l.lot_id,m.lot_id,TO_NUMBER(p.lotuuid)) lot_id,
  36.                                     COALESCE(p.MORD_FLAG,m.MORD_FLAG)
  37.                                 FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  38.                                 Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'D' --
  39.                                 Left Join(SELECT
  40.                                             COALESCE(gm.plnm_name,gm.plnm_name2) plnm_name,
  41.                                             COALESCE(l.lot_id,gm.lot_id,TO_NUMBER(p.lotuuid)) lot_id, --p.lotuuid
  42.                                             COALESCE(p.MORD_FLAG,gm.MORD_FLAG) MORD_FLAG
  43.                                           FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  44.                                           Left Join( SELECT
  45.                                                         l.*,
  46.                                                         MORD_FLAG
  47.                                                      FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  48.                                                      Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id
  49.                                                      WHERE MORD_FLAG IS NULL
  50.                                                     ) gm ON gm.lot_id = l.joint_procedure_id
  51.                                   Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'M'
  52.                                   WHERE l.joint_procedure_id IS NOT NULL
  53.                                           )m ON m.lot_id = p.LOT_CONS_M
  54.                               ) sovm ON sovm.lot_id = l.lot_id
  55.                ) pea ON pea.lot_id = p.lotuuid
  56. WHERE 1=1
  57. AND TRUNC(p.date_notice_published)>'01.01.2023'
  58. --and p.pg_ikz like '24%'
  59. AND p.reqnum IS NOT NULL
  60. AND p.mord_flag='D'
  61. AND  p.uo_orgid IS NULL
  62. AND p.joflag <>1
  63. AND p.orgid NOT IN (1030,1894,2981,2167,1725,3097,1030)
  64. --order by p.f_productprice desc
  65. UNION
  66. -- 2 block
  67.  
  68. SELECT
  69.     DISTINCT
  70.     TO_CHAR(cons.requestid)requestid,
  71.     TO_CHAR(cons.lotuuid)lotuuid,
  72.     cons.pg_ikz,
  73.     cons.pg_rn,
  74.     cons.reqnum,
  75.     cons.f_productprice,
  76.     cons.final_price,
  77.     TRUNC(cons.date_notice_published)date_notice_published,
  78.     cons.lotstage,
  79.     cons.reqstage,
  80.     cons.fordertypename,
  81.     TO_CHAR(cons.lotsubject)lotsubject,
  82.     o.inn,
  83.     o.full_name,
  84.     cons.grbstitle,
  85.     CASE
  86.         WHEN p.uo_orgid=1412 THEN cons.reqnum
  87.         ELSE NULL
  88.     END kgs_reqnum,
  89.     o.inn AS inn -- 6 ИНН организации разместившей извещение
  90.    ,o.full_name AS c_org -- 7 наименование организации разместившей извещение
  91.    ,p.joflag
  92.    ,pea.nmck_type --  метод определения и обоснования НМЦК
  93.    ,get_pg_year(p.pg_ikz)pg_year
  94.    ,2
  95. FROM dwh_procedures_cons_kgntv cons
  96. Inner Join dwh_procedures_kgntv p ON cons.lotuuid = p.Joint_procedure_id
  97. Inner Join dwh_organization_kgntv o ON cons.orgid=o.id
  98. Left Join dwh_organization_kgntv o_u ON o_u.id = p.uo_orgid
  99. Left Join (SELECT
  100.                         COALESCE(l.lot_id,sovm.lot_id) lot_id,
  101.                         COALESCE(l.plnm_name,l.plnm_name2,sovm.plnm_name) nmck_type
  102.                  FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  103.                   Left Join (SELECT
  104.                                     m.plnm_name,
  105.                                     COALESCE(l.lot_id,m.lot_id,TO_NUMBER(p.lotuuid)) lot_id,
  106.                                     COALESCE(p.MORD_FLAG,m.MORD_FLAG)
  107.                                 FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  108.                                 Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'D' --
  109.                                 Left Join(SELECT
  110.                                             COALESCE(gm.plnm_name,gm.plnm_name2) plnm_name,
  111.                                             COALESCE(l.lot_id,gm.lot_id,TO_NUMBER(p.lotuuid)) lot_id, --p.lotuuid
  112.                                             COALESCE(p.MORD_FLAG,gm.MORD_FLAG) MORD_FLAG
  113.                                           FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  114.                                           Left Join( SELECT
  115.                                                         l.*,
  116.                                                         MORD_FLAG
  117.                                                      FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  118.                                                      Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id
  119.                                                      WHERE MORD_FLAG IS NULL
  120.                                                     ) gm ON gm.lot_id = l.joint_procedure_id
  121.                                   Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'M'
  122.                                   WHERE l.joint_procedure_id IS NOT NULL
  123.                                           )m ON m.lot_id = p.LOT_CONS_M
  124.                               ) sovm ON sovm.lot_id = l.lot_id
  125.                ) pea ON pea.lot_id = cons.lotuuid
  126. WHERE 1=1
  127. -- and coalesce(cons.pg_ikz, p.pg_ikz) like '24%'
  128. AND TRUNC(p.date_notice_published)>'01.01.2023'
  129. AND p.mord_flag='M'
  130. AND p.joflag=1
  131. AND p.orgid NOT IN (1030,1894,2981,2167,1725,3097,1030)
  132. UNION
  133. -- 3 block
  134. SELECT
  135.     p.requestid,
  136.     p.lotuuid,
  137.     p.pg_ikz,
  138.     p.pg_rn,
  139.     p.reqnum,
  140.     p.f_productprice,
  141.     p.final_price,
  142.     TRUNC(p.date_notice_published)date_notice_published,
  143.     p.lotstage,
  144.     p.reqstage,
  145.     p.fordertypename,
  146.     TO_CHAR(p.lotsubject)lotsubject,
  147.     o.inn,
  148.     o.full_name,
  149.     p.grbstitle,
  150.     CASE
  151.         WHEN p.uo_orgid=1412 THEN p.reqnum
  152.         ELSE NULL
  153.     END kgs_reqnum,
  154.     o.inn AS inn -- 6 ИНН организации разместившей извещение
  155.    ,o.full_name AS c_org -- 7 наименование организации разместившей извещение
  156.    ,p.joflag
  157.    ,pea.nmck_type --  метод определения и обоснования НМЦК
  158.    ,get_pg_year(p.pg_ikz)pg_year
  159.    ,3
  160. FROM dwh_procedures_kgntv p
  161. Inner Join dwh_organization_kgntv o ON p.uo_orgid=o.id
  162. Left Join (    SELECT
  163.                         COALESCE(l.lot_id,sovm.lot_id) lot_id,
  164.                         COALESCE(l.plnm_name,l.plnm_name2,sovm.plnm_name) nmck_type
  165.                  FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  166.                   Left Join (SELECT
  167.                                     m.plnm_name,
  168.                                     COALESCE(l.lot_id,m.lot_id,TO_NUMBER(p.lotuuid)) lot_id,
  169.                                     COALESCE(p.MORD_FLAG,m.MORD_FLAG)
  170.                                 FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  171.                                 Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'D' --
  172.                                 Left Join(SELECT
  173.                                             COALESCE(gm.plnm_name,gm.plnm_name2) plnm_name,
  174.                                             COALESCE(l.lot_id,gm.lot_id,TO_NUMBER(p.lotuuid)) lot_id, --p.lotuuid
  175.                                             COALESCE(p.MORD_FLAG,gm.MORD_FLAG) MORD_FLAG
  176.                                           FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  177.                                           Left Join( SELECT
  178.                                                         l.*,
  179.                                                         MORD_FLAG
  180.                                                      FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  181.                                                      Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id
  182.                                                      WHERE MORD_FLAG IS NULL
  183.                                                     ) gm ON gm.lot_id = l.joint_procedure_id
  184.                                   Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'M'
  185.                                   WHERE l.joint_procedure_id IS NOT NULL
  186.                                           )m ON m.lot_id = p.LOT_CONS_M
  187.                               ) sovm ON sovm.lot_id = l.lot_id
  188.                ) pea ON pea.lot_id = p.lotuuid
  189. WHERE 1=1
  190. --and p.pg_ikz like '24%'
  191. AND TRUNC(p.date_notice_published)>'01.01.2023'
  192. AND p.reqnum IS NOT NULL
  193. AND p.mord_flag='D'
  194. AND  p.uo_orgid IS NOT NULL
  195. AND p.placement='Централизованная закупка'
  196. AND p.joflag<>1
  197. AND p.orgid NOT IN (1030,1894,2981,2167,1725,3097,1030)
  198. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement