Advertisement
GLASHATAY_007

ksp0108

Aug 1st, 2023
652
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DROP TABLE ksp_01_08_23;
  2. CREATE TABLE ksp_01_08_23 AS
  3. WITH
  4. fins AS (
  5.         SELECT
  6.           lot_id,
  7.           MIN(CASE WHEN fin.TYPE=1 THEN fin.YEAR ELSE NULL END) first_year   -- первый год планового фин
  8.          ,MAX(CASE WHEN fin.TYPE=1 THEN fin.YEAR ELSE NULL END)  last_year-- последний год планового финас
  9.          ,SUM(CASE WHEN fin.TYPE=1 THEN fin.finsum ELSE NULL END) finsum_plan  -- 44 плановое финансирования по контракту
  10.          ,SUM(CASE WHEN fin.TYPE=2 THEN fin.finsum ELSE NULL END) finsum_fact -- 45 фактическое финансирования по контракту
  11.         FROM dwh_contract_fin_kgntv fin
  12.         GROUP BY lot_id
  13.         )
  14. SELECT
  15.     fins.lot_id,
  16.     c.contractrnk,-- 1 рнк
  17.     /*
  18.     fins.first_year first_fin_cont_year,-- 2 год первого финансирования по контракту
  19.     fins.last_year, -- 3 год последнего финансирования контракта
  20.     */
  21.     CASE WHEN fin.TYPE=1 THEN fin.YEAR ELSE NULL END fin_plan_year,-- 2 год планового финансирования по контракту
  22.     CASE WHEN fin.TYPE=2 THEN fin.YEAR ELSE NULL END fin_fact_year,-- 2 год фактического финансирования по контракту
  23.     fin.finsource --4 источники финансирования
  24.     ,CASE
  25.         WHEN o_u.id IN (503,1407,2710,2229,2703,1409,2709,508,1898,2702,988,2711,504,509,500,1897,1411,1408,1412,1728,592) THEN o_u.full_name
  26.         ELSE NULL
  27.     END uo_org -- 5 уполномоченный орган
  28.     ,COALESCE(cons.inn,o_u.inn) AS inn -- 6 ИНН организации разместившей извещение
  29.     ,COALESCE(cons.orgtitle, o_u.full_name)AS c_org -- 7 наименование организации разместившей извещение*/
  30.     ,c.customerinn -- 8 заказчик инн организации
  31.     ,c.customername-- 9 заказчик наименование  
  32.     ,c.grbsname-- 10 ГРБС название
  33.     ,COALESCE ( p.reqnum,c.contractnoticenumber)contractnoticenumber  -- 11 номер извещения
  34.     ,p.date_notice_published -- 12 дата размещения извещения о закупке
  35.     ,CASE
  36.         WHEN  p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся запроса котировок в соответствии частями 1 и 3 статьи 79 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  37.                                 THEN 'Запрос котировок в электронной форме'
  38.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся двухэтапного конкурса в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  39.                 THEN 'Двухэтапный конкурс в электронной форме'
  40.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимися открытого конкурса в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  41.                 THEN 'Открытый конкурс в электронной форме'
  42.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся электронного аукциона в соответствии частями 1 – 3.1 статьи 71 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  43.                 THEN 'Аукцион в электронной форме'
  44.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимися конкурса с ограниченным участием в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  45.                 THEN 'Конкурс с ограниченным участием в электронной форме'
  46.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся запроса предложений в соответствии с частью 18 статьи 83 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  47.                 THEN 'Запрос предложений в электронной форме'
  48.         ELSE p.fordertypename END   fordertypename -- 13 способо закупки на этапе размещения извещения
  49.     ,TRUNC(c.contractsigndate)contractsigndate -- 14 дата заключения контракта
  50.     ,c.contractsubject -- 15 наименование объекта закупки
  51.     ,CASE
  52.         WHEN c.contractoneexecreason  LIKE 'Часть 1 пункт 25 статьи 93%' THEN 'Закупка у единственного поставщика'
  53.         ELSE c.ordertypename
  54.     END ordertypename -- 16 соп
  55.     ,p.f_productprice -- 17 нмцк
  56.     ,c.contractsigningprice -- 18 первоначальная цена
  57.     ,c.contractfullprice -- 19 текущая цена
  58.     ,c.contractplaneexecdate -- 20 планируемая дата окончания исполнения контракта
  59.     ,c.contractactualexecdate -- 21 фактическая дата исполнения контракта
  60.     ,c.supplierinn -- 22 поставщик инн
  61.     ,c.suppliername -- 23 поставщик наименование
  62.     ,c.contractoneexecreason -- 24 основание заключения контракта с ед поставщиком
  63.     ,c.contractrejectdate -- 25 дата расторжения контракта
  64.     ,c.contractrejectbase -- 26 основание расторжения контракта
  65.     ,CASE
  66.         WHEN p.placement ='Централизованная закупка' THEN 1
  67.         ELSE 0
  68.     END central -- 27 признак централизованной закупки
  69.     ,p.joflag -- 28 признак совместных торгов
  70.     ,c.supply_impossible -- 29 признак невозможно определить количество
  71.     ,penalty.sum_ -- 30 сумма начисленных санкций
  72.     ,penalty.pen_pay_sum_ -- 31 сумма оплаченных санкций
  73.     ,CASE
  74.         WHEN fin.TYPE=1 THEN fin.finsum
  75.         ELSE NULL
  76.     END finsum_plan -- 32 плановое финансирования по контракту
  77.     ,CASE
  78.         WHEN fin.TYPE=2 THEN fin.finsum
  79.         ELSE NULL
  80.     END finsum_fact -- 33 фактическое финансирования по контракту
  81.     ,pea.nmck_type -- 34 метод определения и обоснования НМЦК
  82.     ,c.perc_size -- 35 объем привлеченных к исполнению субподр %
  83.     ,c.perc_rub_size -- 36 объем привлеченных к исполнению субподр руб
  84.     ,p.ADVANCE_PAY_AMOUNT -- 37 размер аванса %
  85.     ,p.advance_hand_amount -- 38 размер аванса руб
  86.      FROM dwh_contract_kgntv c
  87. Inner Join dwh_procedures_kgntv p ON p.lotuuid = c.lotid  AND TRUNC(contractsigndate) BETWEEN TO_DATE ('01.01.22', 'dd.mm.yy') AND TO_DATE ('30.06.23','dd.mm.yy')
  88. inner Join dwh_contract_fin_kgntv fin ON c.lotid=fin.lot_id
  89. inner join fins ON c.lotid=fins.lot_id
  90. Left Join dwh_organization_kgntv o ON o.id = c.customerid
  91. Left Join dwh_procedures_cons_kgntv cons ON cons.lotuuid = p.Joint_procedure_id
  92. Left Join dwh_organization_kgntv o_u    ON o_u.id = p.uo_orgid
  93. Left Join (SELECT
  94.             COALESCE(l.lot_id,sovm.lot_id) lot_id,
  95.             COALESCE(l.plnm_name,l.plnm_name2,sovm.plnm_name) nmck_type
  96.           FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  97.           Left Join (SELECT
  98.                         m.plnm_name,
  99.                         COALESCE(l.lot_id,m.lot_id,TO_NUMBER(p.lotuuid)) lot_id,
  100.                         COALESCE(p.MORD_FLAG,m.MORD_FLAG)
  101.                     FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  102.                     Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'D' --
  103.                     Left Join(SELECT
  104.                                 COALESCE(gm.plnm_name,gm.plnm_name2) plnm_name,
  105.                                 COALESCE(l.lot_id,gm.lot_id,TO_NUMBER(p.lotuuid)) lot_id, --p.lotuuid
  106.                                 COALESCE(p.MORD_FLAG,gm.MORD_FLAG) MORD_FLAG
  107.                               FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  108.                               Left Join(SELECT
  109.                                             l.*,
  110.                                             MORD_FLAG
  111.                                         FROM DWH_LOT_KGNTV_EXT_ATTR_1 l
  112.                                         Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id
  113.                                         WHERE MORD_FLAG IS NULL
  114.                                         ) gm ON gm.lot_id = l.joint_procedure_id
  115.                                Left Join dwh_procedures_kgntv p ON p.lotuuid = l.lot_id AND p.MORD_FLAG = 'M'
  116.                                WHERE l.joint_procedure_id IS NOT NULL
  117.                               )m ON m.lot_id = p.LOT_CONS_M) sovm ON sovm.lot_id = l.lot_id
  118.             ) pea ON pea.lot_id = p.lotuuid
  119. Left Join(SELECT
  120.             contractid,
  121.             listagg(list_, '; ') within GROUP (ORDER BY contractid) pen,
  122.             SUM(NVL(amount,0))sum_
  123.             ,SUM(NVL(penalty_pay_sum,0)) pen_pay_sum_
  124.           FROM (SELECT DISTINCT
  125.                     id contractid,
  126.                     CASE
  127.                         WHEN reason_id IN (1,3) THEN 'Исполнитель'  WHEN reason_id IN (2,4) THEN 'Заказчик'
  128.                         ELSE NULL
  129.                     END  list_
  130.                     ,amount
  131.                     ,penalty_pay_sum
  132.                 FROM dwh_contract_penalty_kgntv
  133.                 )GROUP BY contractid
  134.         )penalty ON penalty.contractid = c.contractid
  135.  ;
  136.  DELETE FROM ksp_01_08_23 WHERE joflag<>1 OR central<>1 ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement