Advertisement
GLASHATAY_007

Untitled

Mar 29th, 2023
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. drop table ksp_29_03_23;
  2. create table ksp_29_03_23 as
  3. WITH prot AS
  4. (SELECT
  5.     purchasenumber,
  6.     MAX(cnt_all)cnt_all,
  7.     MAX(cnt_adm)cnt_adm
  8. From(    
  9.     SELECT
  10.         purchasenumber,
  11.         protocolnumber,
  12.         COUNT(*) cnt_all,
  13.         SUM(CASE WHEN admitted IS NOT NULL THEN 1 ELSE 0 END) cnt_adm
  14.     FROM dwh_protocol_demand_nrpz_acgz
  15.     GROUP BY purchasenumber, protocolnumber
  16.     )s
  17. GROUP BY purchasenumber),
  18. fin AS (
  19. SELECT
  20.   lot_id,
  21.   fin.budget_type,
  22.   fin.targetexpenseitemcode,
  23.   MIN(CASE WHEN fin.TYPE=1 THEN fin.YEAR ELSE NULL END) first_year   -- первый год планового фин
  24.  ,MAX(CASE WHEN fin.TYPE=1 THEN fin.YEAR ELSE NULL END)  last_year-- последний год планового финас
  25.  ,SUM(CASE WHEN fin.TYPE=1 THEN fin.finsum ELSE NULL END) finsum_plan  -- 44 плановое финансирования по контракту
  26.  ,SUM(CASE WHEN fin.TYPE=2 THEN fin.finsum ELSE NULL END) finsum_fact -- 45 фактическое финансирования по контракту
  27.  ,MAX(CASE WHEN fin.targetexpenseitemcode IN (SELECT targetexpenseitemcode FROM dwh_targetexpenseitemcode_aip) THEN 1 ELSE 0 END) aip_flag -- 50 признак АИП (проверить)
  28. FROM dwh_contract_fin_kgntv fin
  29. Where fin.Targetexpenseitemcode in (Select DISTINCT targetexpenseitemcode from dwh_targetexpenseitemcode_2020)
  30. and fin.YEAR>2019
  31. GROUP BY lot_id,fin.budget_type, fin.targetexpenseitemcode
  32. )
  33.  
  34. SELECT
  35.     row_number ( ) OVER ( PARTITION BY 1 ORDER BY 1 ) rn,
  36.    -- row_number ( ) over (order by c.contractrnk) rn_rnk,
  37.    fin.lot_id,
  38.     c.contractrnk,-- 1 рнк
  39.     p.f_year YEAR, -- 2 год бюджета, к которому относятся ассигнования (вместо года размещения процедуры (requestyear) берем год финансирования контракта.
  40.     fin.first_year first_fin_cont_year,-- 3 год первого финансирования по контракту
  41.     fin.last_year, -- год последнего финансирования контракта
  42.     c.requestyear f_year -- 5 год плана размещения
  43.     ,c.finsource --6 источники финансирования
  44.     ,fin.budget_type -- 7 тип бюджетных средств
  45.      ,fin.targetexpenseitemcode -- 8 код целевой статьи
  46.     ,CASE
  47.         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) THEN o_u.full_name
  48.         ELSE NULL
  49.     END uo_org -- 10 уполномоченный орган
  50.     ,cons.inn -- 11 ИНН организации разместившей извещение
  51.     ,cons.orgtitle c_org -- 12 наименование организации разместившей извещение
  52.     ,c.customerinn -- 13 заказчик инн организации
  53.     ,c.customername-- 14 заказчик наименование  
  54.     ,c.grbsname-- 15 ГРБС название
  55.     ,gr.FSHORTTITLE-- 16 ГРБС сокращенное
  56.     ,coalesce ( p.reqnum,c.contractnoticenumber)contractnoticenumber  -- 17 номер извещения
  57.     ,p.date_notice_published -- 18 дата размещения извещения о закупке
  58.     ,CASE
  59.         WHEN  p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся запроса котировок в соответствии частями 1 и 3 статьи 79 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  60.                                 THEN 'Запрос котировок в электронной форме'
  61.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся двухэтапного конкурса в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  62.                 THEN 'Двухэтапный конкурс в электронной форме'
  63.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимися открытого конкурса в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  64.                 THEN 'Открытый конкурс в электронной форме'
  65.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся электронного аукциона в соответствии частями 1 – 3.1 статьи 71 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  66.                 THEN 'Аукцион в электронной форме'
  67.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимися конкурса с ограниченным участием в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  68.                 THEN 'Конкурс с ограниченным участием в электронной форме'
  69.         WHEN p.fordertypename = 'Закупка у единственного поставщика' AND p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся запроса предложений в соответствии с частью 18 статьи 83 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  70.                 THEN 'Запрос предложений в электронной форме'
  71.         ELSE p.fordertypename END   fordertypename -- 19 способо закупки на этапе размещения извещения
  72.     --,prot.cnt_all -- 18 количество поданных заявок
  73.     --,prot.cnt_adm -- 19 количество учавствующих заявок
  74.     ,c.contractsigndate -- 20 дата заключения контракта
  75.     ,c.contractsubject -- 21 наименование объекта закупки
  76.     ,c.contractrejectdate -- 22 дата расторжения контракта
  77.     ,CASE WHEN c.contractoneexecreason  LIKE 'Часть 1 пункт 25 статьи 93%' THEN 'Закупка у единственного поставщика' ELSE c.ordertypename END ordertypename -- 23 соп
  78.     ,p.f_productprice -- 24 нмцк
  79.     ,c.contractsigningprice -- 25 первоначальная цена
  80.     ,c.contractfullprice -- 26 текущая цена
  81.     ,c.contractplaneexecdate -- 27 планируемая дата окончания исполнения контракта
  82.     ,c.contractactualexecdate -- 28 фактическая дата исполнения контракта
  83.     ,c.supplierinn -- 29 поставщик инн
  84.     ,c.suppliername -- 30 поставщик наименование
  85.     ,CASE WHEN c.contractoneexecreason IS NOT NULL THEN 1 ELSE 0 END oneexec_flag -- 31 признак заключения контракта с ед поставщиком
  86.     ,c.contractoneexecreason -- 32 основание заключения контракта с ед поставщиком
  87.     ,c.stagetitle -- 33  статус контракта
  88.     ,c.contractrejectreason -- 34 основания расторжения контракта
  89.     ,CASE WHEN p.placement ='Централизованная закупка' THEN 1 ELSE 0 END central -- признак централизованной закупки
  90.     ,p.joflag -- 36 признак совместных торгов
  91.     ,c.supply_impossible -- 37 признак невозможно определить количество
  92.     ,c.suppliercriminal -- 38 учреждение и предприятие уголовно-исполнительной системы
  93.     ,c.supplierinvalid -- 39 организация инвалидов
  94.     ,c.suppliersmp -- 40 смп
  95.     ,c.suppliersmpsonco -- 41 сонко
  96.     ,CASE WHEN penalty.contractid IS NOT NULL THEN 1 ELSE 0 END penalty_flag -- 42 признак применения штрафных санкций
  97.     ,penalty.sum_ -- 43 сумма начисленных санкций
  98.     ,penalty.pen_pay_sum_ -- 44 сумма оплаченных санкций
  99.     ,fin.finsum_plan -- 45 плановое финансирования по контракту
  100.     ,fin.finsum_fact -- 46 фактическое финансирования по контракту
  101.     ,c.is_concluded_in_e_shop -- 47 признак заключения контркта в ЭМ
  102.     ,c.contractmodification -- 48 причина изменений условий контракта/договора
  103.     ,pea.nmck_type -- 49 метод определения и обоснования НМЦК
  104.     ,fin.aip_flag -- 50 признак АИП (проверить)
  105.     ,CASE WHEN c.perc_size IS NOT NULL OR c.perc_rub_size IS NOT NULL THEN 1 ELSE 0 END subpodr_flag -- 51 признак наличия субподрпяда
  106.     ,c.perc_size -- 52 объем привлеченных к исполнению субподр %
  107.     ,c.perc_rub_size -- 53 объем привлеченных к исполнению субподр руб
  108.     ,p.ADVANCE_PAY_AMOUNT -- 54 размер аванса %
  109.     ,p.advance_hand_amount -- 55 размер аванса руб
  110.     ,fp.np_code_name -- 56 Наименование федерального проекта
  111.     ,fp.fp_code_name -- 57 Наименование нациоанльного проекта
  112.      FROM dwh_contract_kgntv c
  113. INNER JOIN dwh_procedures_kgntv p   ON p.lotuuid = c.lotid AND EXTRACT(YEAR FROM c.contractsigndate)=2022
  114. INNER JOIN dwh_organization_kgntv o ON o.id = c.customerid
  115. JOIN fin ON c.lotid=fin.lot_id
  116. LEFT JOIN dwh_procedures_cons_kgntv cons ON cons.lotuuid = p.Joint_procedure_id
  117. LEFT JOIN ksp_grbs_shotname gr  ON gr.KGNTVID = c.grbsid
  118. LEFT JOIN DWH_PROCEDURES_DETAILED_KGNTV pp ON pp.lotuuid=c.lotid
  119. LEFT JOIN dwh_organization_kgntv o_u    ON o_u.id = p.uo_orgid
  120. LEFT JOIN prot ON prot.purchasenumber = c.contractnoticenumber
  121. Left JOin dwh_targetexpenseitemcode_2020 fp on fp.targetexpenseitemcode=fin.targetexpenseitemcode
  122. LEFT JOIN (
  123. select
  124. coalesce(l.lot_id,sovm.lot_id) lot_id,
  125. coalesce(l.plnm_name,l.plnm_name2,sovm.plnm_name) nmck_type
  126. from DWH_LOT_KGNTV_EXT_ATTR_1 l
  127. left join (select
  128.             m.plnm_name,
  129.             coalesce(l.lot_id,m.lot_id,to_number(p.lotuuid)) lot_id,
  130.             coalesce(p.MORD_FLAG,m.MORD_FLAG)
  131.             from DWH_LOT_KGNTV_EXT_ATTR_1 l
  132.             left join dwh_procedures_kgntv p on p.lotuuid = l.lot_id and p.MORD_FLAG = 'D' --
  133.             left join
  134.                (select
  135.                 coalesce(gm.plnm_name,gm.plnm_name2) plnm_name,
  136.                 coalesce(l.lot_id,gm.lot_id,to_number(p.lotuuid)) lot_id, --p.lotuuid
  137.                 coalesce(p.MORD_FLAG,gm.MORD_FLAG) MORD_FLAG
  138.                 from DWH_LOT_KGNTV_EXT_ATTR_1 l
  139.                     left join
  140.                         (select l.*,MORD_FLAG
  141.                          from DWH_LOT_KGNTV_EXT_ATTR_1 l
  142.                             left join dwh_procedures_kgntv p on p.lotuuid = l.lot_id
  143.                          where MORD_FLAG is null
  144.                         ) gm on gm.lot_id = l.joint_procedure_id
  145.                     left join dwh_procedures_kgntv p on p.lotuuid = l.lot_id and p.MORD_FLAG = 'M'
  146.                     where
  147.                     l.joint_procedure_id is not null
  148.                   )m on m.lot_id = p.LOT_CONS_M) sovm on sovm.lot_id = l.lot_id) pea ON pea.lot_id = p.lotuuid
  149. LEFT join(SELECT
  150.             contractid,
  151.             listagg(list_, '; ') within GROUP (ORDER BY contractid) pen,
  152.             SUM(nvl(amount,0))sum_
  153.             ,SUM(nvl(penalty_pay_sum,0)) pen_pay_sum_
  154.           FROM (SELECT
  155.                     DISTINCT id contractid,
  156.                     CASE
  157.                         WHEN reason_id IN (1,3) THEN 'Исполнитель'  WHEN reason_id IN (2,4) THEN 'Заказчик'
  158.                         ELSE NULL
  159.                     END  list_
  160.                     ,amount
  161.                     ,penalty_pay_sum
  162.                 FROM dwh_contract_penalty_kgntv
  163.                 )GROUP BY contractid
  164.         )penalty ON penalty.contractid = c.contractid
  165.  --      where fin.lot_id='4017866'
  166.  ;
  167.  
Tags: ksp_np_2903
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement