Advertisement
GLASHATAY_007

Untitled

Jan 11th, 2023
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. create table ksp_110123 as
  2. with prot as
  3. (Select
  4.     purchasenumber,
  5.     max(cnt_all)cnt_all,
  6.     max(cnt_adm)cnt_adm
  7. From(    
  8.     Select
  9.         purchasenumber,
  10.         protocolnumber,
  11.         Count(*) cnt_all,
  12.         sum(case when admitted is not null then 1 else 0 end) cnt_adm
  13.     From dwh_protocol_demand_nrpz_acgz
  14.     Group By purchasenumber, protocolnumber
  15.     )s
  16. Group By purchasenumber),
  17. fin as (
  18. Select
  19.   lot_id,
  20.   min(case when fin.type=1 then fin.year else null end) first_year   -- первый год планового фин
  21.  ,max(case when fin.type=1 then fin.year else null end)  last_year-- последний год планового финас
  22.  ,sum(case when fin.type=1 then fin.finsum else null end) finsum_plan  -- 44 плановое финансирования по контракту
  23.  ,sum(case when fin.type=2 then fin.finsum else null end) finsum_fact -- 45 фактическое финансирования по контракту
  24.  --,LISTAGG(case when fin.type=1 then fin.finsource else null end , '; ') WITHIN GROUP (ORDER BY lot_id) finsource
  25.  -- ,LISTAGG(case when fin.type=1 then fin.description else null end , '; ') WITHIN GROUP (ORDER BY lot_id) description
  26.  ,max(case when fin.targetexpenseitemcode in (select targetexpenseitemcode from dwh_targetexpenseitemcode_aip) then 1 else 0 end) aip_flag -- 50 признак АИП (проверить)
  27. from dwh_contract_fin_kgntv fin
  28. Group by lot_id
  29. ),
  30. descrip as
  31. (select
  32.     lotuuid,
  33.     lISTAGG(fundkind , '; ') WITHIN GROUP (ORDER BY lotuuid) description
  34. from
  35. (select  distinct lotuuid,fundkind  from dwh_lot_fin_kgntv)
  36. group by lotuuid
  37. )
  38. Select
  39.     row_number ( ) over ( partition by 1 order by 1 ) rn,
  40.    -- row_number ( ) over (order by c.contractrnk) rn_rnk,
  41.     c.contractrnk,-- 1 рнк
  42.     p.f_year year, -- 2 год бюджета, к которому относятся ассигнования (вместо года размещения процедуры (requestyear) берем год финансирования контракта.
  43.     fin.first_year first_fin_cont_year,-- 3 год первого финансирования по контракту
  44.     fin.last_year, -- год последнего финансирования контракта
  45.     c.requestyear f_year -- 5 год плана размещения
  46.     ,c.finsource --6 источники финансирования
  47.     ,descrip.description
  48.     ,case
  49.         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
  50.         else null
  51.     end uo_org -- 8 уполномоченный орган
  52.     ,cons.orgtitle c_org -- 10 наименование организации разместившей извещение
  53.     ,c.customerinn -- 11 заказчик инн организации
  54.     ,c.customername-- 12 заказчик наименование  
  55.     ,c.grbsname-- 13 ГРБС название
  56.     ,gr.FSHORTTITLE-- 14 ГРБС сокращенное
  57.     ,c.contractnoticenumber -- 15 номер извещения
  58.     ,p.date_notice_published -- 16 дата размещения извещения о закупке
  59.     ,case
  60.         when  p.fordertypename = 'Закупка у единственного поставщика' and p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся запроса котировок в соответствии частями 1 и 3 статьи 79 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  61.                                 then 'Запрос котировок в электронной форме'
  62.         when p.fordertypename = 'Закупка у единственного поставщика' and p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся двухэтапного конкурса в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  63.                 then 'Двухэтапный конкурс в электронной форме'
  64.         when p.fordertypename = 'Закупка у единственного поставщика' and p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимися открытого конкурса в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  65.                 then 'Открытый конкурс в электронной форме'
  66.         when p.fordertypename = 'Закупка у единственного поставщика' and p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся электронного аукциона в соответствии частями 1 – 3.1 статьи 71 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  67.                 then 'Аукцион в электронной форме'
  68.         when p.fordertypename = 'Закупка у единственного поставщика' and p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимися конкурса с ограниченным участием в соответствии с частями 1 и 7 статьи 55 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  69.                 then 'Конкурс с ограниченным участием в электронной форме'
  70.         when p.fordertypename = 'Закупка у единственного поставщика' and p.oneexec = 'Часть 1 пункт 25 статьи 93 -  Закупка вследствие признания несостоявшимся запроса предложений в соответствии с частью 18 статьи 83 Федерального закона решения об осуществлении закупки у единственного поставщика (подрядчика, исполнителя)'
  71.                 then 'Запрос предложений в электронной форме'
  72.         else p.fordertypename end   fordertypename -- 17 способо закупки на этапе размещения извещения
  73.     ,prot.cnt_all -- 18 количество поданных заявок
  74.     ,prot.cnt_adm -- 19 количество учавствующих заявок
  75.     ,c.contractsigndate -- 20 дата заключения контракта
  76.     ,c.contractsubject -- 21 наименование объекта закупки
  77.     ,c.contractrejectdate -- 22 дата расторжения контракта
  78.     ,case when c.contractoneexecreason  like 'Часть 1 пункт 25 статьи 93%' then 'Закупка у единственного поставщика' else c.ordertypename end ordertypename -- 23 соп
  79.     ,p.f_productprice -- 24 нмцк
  80.     ,c.contractsigningprice -- 25 первоначальная цена
  81.     ,c.contractfullprice -- 26 текущая цена
  82.     ,c.contractplaneexecdate -- 27 планируемая дата окончания исполнения контракта
  83.     ,c.contractactualexecdate -- 28 фактическая дата исполнения контракта
  84.     ,c.supplierinn -- 29 поставщик инн
  85.     ,c.suppliername -- 30 поставщик наименование
  86.     ,case when c.contractoneexecreason is not null then 1 else 0 end oneexec_flag -- 31 признак заключения контракта с ед поставщиком
  87.     ,c.contractoneexecreason -- 32 причина заключения контракта с ед поставщиком
  88.     ,case when (c.contractrejectreason is not null or c.contractrejectdate is not null) then 1 else 0 end reject_flag -- 33 признак расторжения контракта
  89.     ,c.contractrejectreason -- 34 основания расторжения контракта
  90.     ,case when p.placement ='Централизованная закупка' then 1 else 0 end central -- признак централизованной закупки
  91.     ,p.joflag -- 36 признак совместных торгов
  92.     ,c.suppliercriminal -- 37 учреждение и предприятие уголовно-исполнительной системы
  93.     ,c.supplierinvalid -- 38 организация инвалидов
  94.     ,c.suppliersmp -- 39 смп
  95.     ,c.suppliersmpsonco -- 40 сонко
  96.     ,case when penalty.contractid is not null then 1 else 0 end penalty_flag -- 41 признак применения штрафных санкций
  97.     ,penalty.sum_ -- 42 сумма начисленных санкций
  98.     ,penalty.pen_pay_sum_ -- 43 сумма оплаченных санкций
  99.     ,fin.finsum_plan -- 44 плановое финансирования по контракту
  100.     ,fin.finsum_fact -- 45 фактическое финансирования по контракту
  101.     ,c.is_concluded_in_e_shop -- 46 признак заключения контркта в ЭМ
  102.     ,case
  103.         when pp.REJECTION_ESHOP_ID=1 then 'Не могу или не хочу разбираться в работе подсистемы Электронный магазин'
  104.         when pp.REJECTION_ESHOP_ID=2 then 'Не подходит типовой контракт на поставку товара'
  105.         when pp.REJECTION_ESHOP_ID=3 then 'Уже заключен контракт на бумаге'
  106.         when pp.REJECTION_ESHOP_ID=4 then 'Свой вариант'
  107.         else null
  108.     end cause -- 47 причин6а отказа от перехода в ЭМ
  109.     ,c.contractmodification -- 48 причина изменений условий контракта/договора
  110.     ,nvl(to_char(pea.plnm_name2),to_char(pea.plnm_name)) nmck_type -- метод определения и обоснования НМЦК
  111.     ,fin.aip_flag -- 50 признак АИП (проверить)
  112.     ,case when c.perc_size is not null or c.perc_rub_size is not null then 1 else 0 end subpodr_flag -- 51 признак наличия субподрпяда
  113.     ,c.perc_size -- 52 объем привлеченных к исполнению субподр %
  114.     ,c.perc_rub_size -- 53 объем привлеченных к исполнению субподр руб
  115.     ,p.ADVANCE_PAY_AMOUNT -- 54 размер аванса %
  116.     ,p.advance_hand_amount -- 55 размер аванса руб
  117.      From dwh_contract_kgntv c
  118. Inner join dwh_procedures_kgntv p   on p.lotuuid = c.lotid and extract(year from c.contractsigndate)=2022
  119. Inner join dwh_organization_kgntv o on o.id = c.customerid
  120. Inner join fin on c.lotid=fin.lot_id
  121. Inner join descrip on descrip.lotuuid=c.lotid
  122. Left Join dwh_procedures_cons_kgntv cons on cons.lotuuid = p.Joint_procedure_id
  123. Left join ksp_grbs_shotname gr  on gr.KGNTVID = c.grbsid
  124. left join DWH_PROCEDURES_DETAILED_KGNTV pp on pp.lotuuid=c.lotid
  125. left join dwh_organization_kgntv o_u    on o_u.id = p.uo_orgid
  126. Left Join prot on prot.purchasenumber = c.contractnoticenumber
  127. left join cuba.dwh_lot_kgntv_ext_attr_1 pea on pea.lot_id = p.lotuuid
  128. left join(select
  129.             contractid,
  130.             listagg(list_, '; ') within group (order by contractid) pen,
  131.             sum(nvl(amount,0))sum_
  132.             ,sum(nvl(penalty_pay_sum,0)) pen_pay_sum_
  133.           from (select
  134.                     distinct id contractid,
  135.                     case
  136.                         when reason_id in (1,3) then 'Исполнитель'  when reason_id in (2,4) then 'Заказчик'
  137.                         else null
  138.                     end  list_
  139.                     ,amount
  140.                     ,penalty_pay_sum
  141.                 from dwh_contract_penalty_kgntv
  142.                 )group by contractid
  143.         )penalty on penalty.contractid = c.contractid  
  144. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement