Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- drop table dwh_tenderPlan_19_opn_d;
- create table dwh_tenderPlan_19_opn_d as
- select * from dwh_tenderPlan_19_opn_d_v;
- drop table dwh_tenderPlan_19_pos_opn_d;
- create table dwh_tenderPlan_19_pos_opn_d as
- select * from dwh_tenderplan_19_pos_opn_d_v;
- --1 шаг генерации рейтинга эффективности
- ---ERC_19_SCHEDULE---DWH_TENDERPLAN_19_OPN_D DWH_TENDERPLAN_19_POS_OPN_D
- --drop table ERC_19_SCHEDULE;
- --create table ERC_19_SCHEDULE as
- select org_name, org_inn, org_spz,org_kgntv, plannumber, versionnumber, publishdate
- from (select
- sh.customer_fullname org_name,
- sh.customer_inn org_inn,
- sh.customer_regnum org_spz,
- org.id org_kgntv,
- sh.plannumber,
- sh.versionnumber,
- sh.publishdate,
- row_number() over (partition by sh.customer_regnum order by to_number(sh.versionnumber) desc, sh.publishdate desc) rn
- from dwh_tenderPlan_19_pos_opn_d sh
- join erc_dwh_organization_kgntv org on sh.customer_regnum = org.spz
- where sh.year = 2019
- and nvl(placingway_code,0) <>all('ZK44','ZKK44') --выключить все бумажные
- --and placingway_code <>all('ZK504','ZP504','OK504','OKU504')--не учитывать Электронные процедуры (открытый конкурс в электронной форме, конкурс с ограниченным участием в электронной форме, двухэтапный конкурс в электронной форме, запрос котировок в электронной форме, запрос предложений в электронной форме)
- and sh.publishdate< to_date('01.01.2020','DD.MM.YYYY')
- and org.id not in (3039,2913,31344,2998,3020,2901,3024,2994,7817,3774,29714, /*проверять новые ГУПЫ перед генерацией*/ /*select distinct org.full_name, org.id from dwh_tenderPlan_19_pos_opn_d sh join erc_dwh_organization_kgntv org on sh.customer_regnum = org.spz where lower(org.full_name) like '%гуп%' or lower(org.full_name) like '%унитар%';*/ --Прошу исключить 4 УМВД у администраций Красносельского, Кронштадтского, Петроградского, Петродворцового районов. Исключить Автономное учреждение Поликлиника № 40.
- 3127,3128,3132,3133,2147,3011,1556 )--Прошу исключить 4 УМВД у администраций Красносельского, Кронштадтского, Петроградского, Петродворцового районов. Исключить Автономное учреждение Поликлиника № 40. Детский Авангард
- and sh.plannumber not in ( '2019017220000180070001','2019017220000180030001','2019017220000180010001') /*select distinct org_name, plannumber, org_name_g from kris_19_list where org_type_ = 2;*/ -- решить вопрос с правилом запроса
- --по переданным полномочиям не учитываем 23.10.2019
- -- and org.inn not in (select * from inn0108)
- --or sh.plannumber='2019037220027060010001'
- )plan_
- where plan_.rn = 1;
- -----
- 2019017220000180060001-План График самого КОМИТЕТ ПО ЭНЕРГЕТИКЕ И ИНЖЕНЕРНОМУ ОБЕСПЕЧЕНИЮ ( без передачи полномочий)
- 2019017220000180030001 -переданы полномочия ГОСУДАРСТВЕННОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ "ТОПЛИВНО-ЭНЕРГЕТИЧЕСКИЙ КОМПЛЕКС САНКТ-ПЕТЕРБУРГА"
- 2019017220000180070001 -переданы полномочия САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ "ЛЕНСВЕТ"
- 2019017220000180010001 -переданы полномочия ГОСУДАРСТВЕННОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ "ВОДОКАНАЛ САНКТ-ПЕТЕРБУРГА"
- 3039- id Комитета по развитию предпринимательства и потребительского рынка Санкт-Петербурга ( В связи с ликвидацией с 01.08.2019 исключен из расчета по письму от Тереховой 07.02.2020)
- --drop table ERC_19_SCHEDULE_POS_modif;
- --create table ERC_19_SCHEDULE_POS_modif as
- with notice as
- (
- select p.ikz, p.versionnumber, p.placingway_name, p.plan_placement_date, p.purchasecanceled, rn
- from
- (select
- ikz,
- to_number(versionnumber) versionnumber,
- placingway_name,
- case when type_position = 'specialPurchase' then null
- else to_date('01'||case when length(pos.placing_month) = 1 then '0'||pos.placing_month else pos.placing_month end||'.'||pos.placing_year,'DD.MM.YYYY')
- end plan_placement_date,
- case when purchasecanceled is null then 0 else 1 end purchasecanceled,
- row_number() over (partition by ikz order by to_number(versionnumber)) rn
- from dwh_tenderPlan_19_pos_opn_d pos
- where pos.year = 2019 and pos.publishdate< to_date('01.01.2020','DD.MM.YYYY')
- --and placingway_code <>all('ZK504','ZP504','OK504','OKU504','ZK504','ZP504','OK504','OKU504')
- and type_position <> 'specialPurchase'
- )p
- )
- select n_f.ikz, n_f.versionnumber ver_from,n_s.versionnumber ver_to,
- case when n_f.placingway_name <> n_s.placingway_name then 1
- when n_f.plan_placement_date <> n_s.plan_placement_date then 1
- when n_f.purchasecanceled <> n_s.purchasecanceled then 1
- else 0 end modiff_all,
- case when n_f.placingway_name <> n_s.placingway_name then 1
- else 0 end modiff_sop,
- case when n_f.plan_placement_date <> n_s.plan_placement_date then 1
- else 0 end modiff_plan_date,
- case when n_f.purchasecanceled <> n_s.purchasecanceled then 1
- else 0 end modiff_canceled
- from notice n_f
- join notice n_s on n_f.ikz = n_s.ikz and n_f.rn+1 = n_s.rn;
- --2 шаг генерации рейтинга эффективности
- ---ERC_19_SCHEDULE_POS---
- --drop table ERC_19_SCHEDULE_POS;
- create table ERC_19_SCHEDULE_POS as
- select ORG_NAME,ORG_INN,ORG_SPZ,ORG_KGNTV,PLANNUMBER,VERSIONNUMBER,PUBLISHDATE,flah_act_version,TYPE_POSITION,POSITIONNUMBER,IKZ,IKZ_PP,PLAN_PLACEMENT_DATE,PLAN_EXECUTION_DATE,
- PURCHASEOBJECTINFO,PLACINGWAY_CODE,PLACINGWAY_NAME,FINANCE_TOTAL,PURCHASECANCELED,SPECIALPURCHASE_TYPE,FLAG_COMP,MODIFF_ALL
- from
- (select plan_.org_name, plan_.org_inn, plan_.org_spz,plan_.org_kgntv, plan_.plannumber,
- pos.versionnumber , pos.publishdate,
- case when plan_.versionnumber = pos.versionnumber and plan_.publishdate =pos.publishdate
- then 1 else 0 end flah_act_version, --plan_.versionnumber, plan_.publishdate,
- pos.type_position,
- pos.positionnumber,
- pos.ikz,
- pos.purchase_purchaseplanikz ikz_pp,
- case when type_position = 'specialPurchase' then null
- else to_date('01'||case when length(pos.placing_month) = 1 then '0'||pos.placing_month else pos.placing_month end||'.'||pos.placing_year,'DD.MM.YYYY') end plan_placement_date,
- case when type_position = 'specialPurchase' then null
- else to_date('01'||case when length(pos.execution_month) = 1 then '0'||pos.execution_month else pos.execution_month end||'.'||pos.execution_year,'DD.MM.YYYY') end plan_execution_date,
- pos.purchaseobjectinfo ,
- case when pos.placingway_code is null then 'EP44_Sp' else pos.placingway_code end placingway_code,
- case when pos.placingway_name is null then 'Особая закупка' else pos.placingway_name end placingway_name,
- to_number(replace (pos.finance_total,'.',','))finance_total,
- pos.purchasecanceled,
- pos.specialpurchase_type,
- case when pos.placingway_name not in ('Закупка у единственного поставщика (подрядчика, исполнителя)') then 1 else 0 end flag_comp,
- nvl(modiff_all,0) modiff_all,
- row_number() over (partition by pos.ikz order by to_number(pos.versionnumber) desc, pos.publishdate desc) rn
- from dwh_tenderPlan_19_pos_opn_d pos
- join erc_19_schedule plan_
- on plan_.org_name =pos.customer_fullname
- and plan_.org_inn =pos.customer_inn
- and plan_.org_spz =pos.customer_regnum
- and plan_.plannumber =pos.plannumber --and plan_.versionnumber =pos.versionnumber --and plan_.publishdate =pos.publishdate
- left join (select ikz, sum(modiff_all) modiff_all from ERC_19_SCHEDULE_POS_modif group by ikz)m on m.ikz = pos.ikz
- where pos.publishdate< to_date('01.01.2020','DD.MM.YYYY')
- /*where (pos.placingway_code not in ('ZA44','ZKKD44','ZKKU44','ZKB44','INM111') or pos.placingway_code is null)
- and (case when type_position = 'specialPurchase' then null
- else to_date('01'||case when length(pos.placing_month) = 1 then '0'||pos.placing_month else pos.placing_month end||'.'||pos.placing_year,'DD.MM.YYYY') end < to_date('01012020','DDMMYYYY')
- or type_position = 'specialPurchase')*/
- )p
- where p.rn = 1
- and p.flah_act_version = 1
- and p.placingway_code not in ('ZA44','ZKKD44','ZKKU44','ZKB44','INM111','ZKK44')
- and (p.plan_placement_date < to_date('01012020','DDMMYYYY') or type_position = 'specialPurchase');
- --2 шаг генерации рейтинга эффективности
- --3 шаг генерации рейтинга эффективности
- --ERC_START_NOTICE
- --*совместную закупку 0172200002517000165 учесть УО - не КГЗ, а Курортному району. Проверить наличие аналогов в 1 квартале*/
- --0172200002518000037
- /*
- select purchasenumber, max(docpublishdate), min(docpublishdate)
- from DWH_START_NOTICE_nrpz_cons
- where
- responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU')
- and purchasecode is not null
- --and purchasenumber = '0172200002517000165'
- and regnum = '01722000025'
- and docpublishdate>=to_date('01012020','DDMMYYYY')
- group by purchasenumber;
- select * from dwh_procedures_cons_kgntv
- where reqnum in ('0172200002518000097','0172200002518000037');
- select lc.actual, lc.lot_id, c.id, c.inn, c.full_name, c.oos_id
- from lot_customers lc
- join contragents c on c.id = lc.customer_id
- where lot_id in (1865554,1859552);
- */
- --drop table ERC_19_START_NOTICE;
- CREATE table ERC_19_START_NOTICE as
- select s.org_kgntv,
- s.org_kgntv_SCHEDULE,
- s.org_kgntv_NOTICE,
- case when st_hand.reqnum is not null then st_hand.org_kgntv_joflag else s.org_kgntv_joflag end org_kgntv_joflag,
- s.reqnum,
- s.PUBLISHDATE,
- s.sop_code,
- s.sop_name,
- s.org_spz,
- s.org_name,
- --s.uo_kgz,
- case when st_hand.reqnum is not null then st_hand.joflag_org_name else s.joflag_org_name end joflag_org_name,
- case when st_hand.reqnum is not null then st_hand.joflag_org_spz else s.joflag_org_spz end joflag_org_spz,
- s.joflag,
- s.STARTDATE,
- s.ENDDATE,
- s.MAXPRICE,
- s.MAXPRICE_all,
- s.CURRENCY,
- s.BIDDINGDATE,--Дата и время проведения аукциона в электронной форме
- s.OPENINGDATE,--Дата и время вскрытия конвертов, открытии доступа к электронным документам заявок участников
- s.SCORINGDATE,--Дата рассмотрения первых частей заявок учасников или Дата рассмотрения и оценки заявок на участие в конкурсе
- s.PREQUALIFICATION,--Дата и время предквалификационного отбора
- s.LOTNUMBER,
- s.pg_pos,
- s.flag_comp,
- s.ikz,
- s.pg,
- s.object_name,
- s.flag_cans,
- GREATEST(gr.cnt - 1, 0) cnt_modif,
- gr.date_max,
- case when st_hand.reqnum is not null then 1 else s.uo_kgz end flag_st_hand,
- row_number() over (partition by s.ikz,s.org_kgntv order by s.flag_cans, case when c.purchasenumber is not null then 1 else 0 end desc,case when p.purchasenumber is not null then 1 else 0 end desc,
- s.publishdate desc) purchasenumber_rn
- from
- (select sch.org_kgntv org_kgntv_SCHEDULE,
- org.id org_kgntv_NOTICE,
- org_joflag.id org_kgntv_joflag,
- nvl(org.id,sch.org_kgntv ) org_kgntv,
- st.PURCHASENUMBER reqnum,
- st.DOCPUBLISHDATE PUBLISHDATE,
- case when responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU','RA') then 1 else 0 end joflag,
- case when responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU','RA') then st.REGNUM else null end joflag_org_spz,
- case when responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU','RA') then st.FULLNAME else null end joflag_org_name,
- case when responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU','RA') then st.customer_regNum else st.REGNUM end org_spz,
- case when responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU','RA') then st.customer_FULLNAME else st.FULLNAME end org_name,
- st.CODEPLACINGWAY sop_code,
- st.NAMEPLACINGWAY sop_name,
- case when st.NAMEPLACINGWAY not in ('Закупка у единственного поставщика (подрядчика, исполнителя)') then 1 else 0 end flag_comp,
- st.STARTDATE,--Дата и время начала подачи заявок
- st.ENDDATE,--Дата и время окончания подачи заявок
- st.MAXPRICE,
- st.MAXPRICE_all,
- st.CURRENCY,
- st.BIDDINGDATE,--Дата и время проведения аукциона в электронной форме
- st.OPENINGDATE,--Дата и время вскрытия конвертов, открытии доступа к электронным документам заявок участников
- st.SCORINGDATE,--Дата рассмотрения первых частей заявок учасников или Дата рассмотрения и оценки заявок на участие в конкурсе
- st.PREQUALIFICATION,--Дата и время предквалификационного отбора
- nvl(st.LOTNUMBER,1) LOTNUMBER,
- st.POSITIONNUMBER pg_pos,
- st.PURCHASECODE ikz,
- st.TENDERPLAN pg,
- st.PURCHASEOBJECTINFO object_name,
- case when canc.purchasenumber is not null then 1 else 0 end flag_cans,
- case when responsibleRole in ('RA','ORA')and st.REGNUM = '01722000025'/*КГЗ*/ then 1 else null end uo_kgz,
- row_number() over
- (partition by
- st.PURCHASENUMBER,
- nvl(st.LOTNUMBER,1),
- case when responsibleRole in ('OAU','OCC','RA','OCS','OOA','OAI','ORA','OCU') then st.customer_regNum else st.REGNUM end -- берётся не СПЗ организатора а СПЗ участника
- order by st.DOCPUBLISHDATE desc) rn
- from DWH_START_NOTICE_nrpz_cons st
- left join erc_dwh_organization_kgntv org on case when responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU','RA') then st.customer_regNum else st.REGNUM end = org.spz --07.11.2019 добавлено 'RA'
- left join erc_dwh_organization_kgntv org_joflag on case when responsibleRole in ('OAU','OCC','OCS','OOA','OAI','ORA','OCU','RA') then st.REGNUM else null end = org_joflag.spz --07.11.2019 добавлено 'RA'
- join (select distinct ikz,ikz_pp, org_kgntv from ERC_19_SCHEDULE_POS /*where purchasecanceled is null*/ /*убрали 27/07/2017*/) sch on sch.ikz = st.purchasecode or sch.ikz_pp = st.purchasecode
- left join
- (select distinct purchasenumber
- from DWH_START_NOTICE_canc_nrpz
- )canc on canc.purchasenumber = st.PURCHASENUMBER
- where /*canc.purchasenumber is null *//*and st.purchasecode like '19%' and*/ st.DOCPUBLISHDATE <to_date('01012020','DDMMYYYY')
- ) s
- join
- (
- select purchasenumber reqnum,
- count ( distinct trunc(docpublishdate) ) cnt,
- max(docpublishdate) date_max
- from DWH_START_NOTICE_nrpz_cons
- where /*purchasecode like '19%' and*/ docpublishdate <to_date('01012020','DDMMYYYY')
- group by purchasenumber
- ) gr on gr.reqnum = s.reqnum
- left join
- ( select '0172200002518000037' reqnum, 2618 org_kgntv_joflag, 'ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ШКОЛА- ИНТЕРНАТ №16 ПУШКИНСКОГО РАЙОНА САНКТ-ПЕТЕРБУРГА' joflag_org_name, '03722001835'joflag_org_spz from dual
- union all
- select '0172200002519000147',1846,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "ГОРОДСКАЯ БОЛЬНИЦА № 40 КУРОРТНОГО РАЙОНА"','01722000025' from dual
- union all
- select '0172200002519000148',1412,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "ГОРОДСКАЯ БОЛЬНИЦА СВЯТОГО ВЕЛИКОМУЧЕНИКА ГЕОРГИЯ"','01722000025' from dual
- union all
- select '0172200002519000149',1412,'КОМИТЕТ ПО ГОСУДАРСТВЕННОМУ ЗАКАЗУ САНКТ-ПЕТЕРБУРГА','01722000025' from dual
- union all
- select '0172200002519000261',1412,'КОМИТЕТ ПО ГОСУДАРСТВЕННОМУ ЗАКАЗУ САНКТ-ПЕТЕРБУРГА','01722000025' from dual
- union all
- select '0372200000119000166',1769,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "ГОРОДСКАЯ МАРИИНСКАЯ БОЛЬНИЦА','03722000001' from dual
- union all
- select '0372200037619000099',1292,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "РОДИЛЬНЫЙ ДОМ №17','03722000376' from dual
- union all
- select '0372200037619000112',1292,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "РОДИЛЬНЫЙ ДОМ №17','03722000376' from dual
- union all
- select '0372200075119000101',933,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "ГОРОДСКАЯ СТОМАТОЛОГИЧЕСКАЯ ПОЛИКЛИНИКА № 33','03722000751' from dual
- union all
- select '0372200075119000093',933,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "ГОРОДСКАЯ СТОМАТОЛОГИЧЕСКАЯ ПОЛИКЛИНИКА № 33','03722000751' from dual
- union all
- select '0372200168119000307',345,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "КЛИНИЧЕСКАЯ ИНФЕКЦИОННАЯ БОЛЬНИЦА ИМ. С.П. БОТКИНА','03722001681' from dual
- union all
- select '0372200257619000068',1491,'САНКТ-ПЕТЕРБУРГСКОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ЗДРАВООХРАНЕНИЯ "БЮРО СУДЕБНО-МЕДИЦИНСКОЙ ЭКСПЕРТИЗЫ','03722002576' from dual
- )st_hand on st_hand.reqnum = s.reqnum
- left join (select distinct purchasenumber from DWH_PROTOCOL_nrpz) p on p.purchasenumber = s.reqnum
- left join (select distinct NOTIFICATIONNUMBER purchasenumber from dwh_contract_notice_nrpz) c on c.purchasenumber = s.reqnum
- where s.rn = 1;
- --delete from erc_19_start_notice where ikz= '172780514677478050100100190018425244' and org_kgntv = 2590;
- --3 шаг генерации рейтинга эффективности
- --4 шаг генерации рейтинга эффективности
- --ERC_19_LIST_NOTI
- --drop table erc_19_list;
- create table erc_19_list as
- select
- sch.ORG_NAME,
- sch.ORG_INN,
- sch.ORG_SPZ,
- sch.ORG_KGNTV,
- sch.PLANNUMBER,
- sch.VERSIONNUMBER,
- sch.PUBLISHDATE,
- sch.POSITIONNUMBER,
- sch.IKZ,
- sch.IKZ_PP,
- sch.PLAN_PLACEMENT_DATE,
- sch.PLAN_EXECUTION_DATE,
- sch.PURCHASEOBJECTINFO OBJECT_NAME,
- sch.PLACINGWAY_CODE SOP_CODE,
- sch.PLACINGWAY_NAME SOP_NAME,
- sch.FINANCE_TOTAL nmc_SCHEDULE,
- sch.PURCHASECANCELED,
- sch.SPECIALPURCHASE_TYPE,
- sch.FLAG_COMP,
- sch.MODIFF_ALL CNT_MODIF_PG,
- sch.flah_act_version,
- st.REQNUM,
- st.PUBLISHDATE PUBLISHDATE_REQNUM,
- st.SOP_CODE SOP_CODE_REQNUM,
- st.SOP_NAME SOP_NAME_REQNUM,
- st.JOFLAG_ORG_NAME,
- st.JOFLAG_ORG_SPZ,
- st.ORG_KGNTV_JOFLAG,
- st.JOFLAG,
- st.STARTDATE,
- st.ENDDATE,
- st.MAXPRICE nmc_REQNUM,
- st.MAXPRICE_ALL nmc_joflag,
- st.BIDDINGDATE,
- st.OPENINGDATE,
- st.SCORINGDATE,
- st.PREQUALIFICATION,
- st.LOTNUMBER,
- st.PG_POS POSITIONNUMBER_REQNUM,
- st.FLAG_COMP FLAG_COMP_REQNUM,
- st.IKZ IKZ_REQNUM,
- st.PG PLANNUMBER_REQNUM,
- st.OBJECT_NAME OBJECT_NAME_REQNUM,
- st.CNT_MODIF CNT_MODIF_REQNUM,
- st.flag_cans flag_cans_REQNUM,
- st.purchasenumber_rn,
- st.flag_st_hand
- from ERC_19_SCHEDULE_POS sch
- /*left*/ join ERC_19_START_NOTICE st on (sch.ikz = st.ikz/* or sch.ikz_pp = st.ikz*/)
- union all
- select
- sch.ORG_NAME,
- sch.ORG_INN,
- sch.ORG_SPZ,
- sch.ORG_KGNTV,
- sch.PLANNUMBER,
- sch.VERSIONNUMBER,
- sch.PUBLISHDATE,
- sch.POSITIONNUMBER,
- sch.IKZ,
- sch.IKZ_PP,
- sch.PLAN_PLACEMENT_DATE,
- sch.PLAN_EXECUTION_DATE,
- sch.PURCHASEOBJECTINFO OBJECT_NAME,
- sch.PLACINGWAY_CODE SOP_CODE,
- sch.PLACINGWAY_NAME SOP_NAME,
- sch.FINANCE_TOTAL nmc_SCHEDULE,
- sch.PURCHASECANCELED,
- sch.SPECIALPURCHASE_TYPE,
- sch.FLAG_COMP,
- sch.MODIFF_ALL CNT_MODIF_PG,
- sch.flah_act_version,
- st.REQNUM,
- st.PUBLISHDATE PUBLISHDATE_REQNUM,
- st.SOP_CODE SOP_CODE_REQNUM,
- st.SOP_NAME SOP_NAME_REQNUM,
- st.JOFLAG_ORG_NAME,
- st.JOFLAG_ORG_SPZ,
- st.ORG_KGNTV_JOFLAG,
- st.JOFLAG,
- st.STARTDATE, st.ENDDATE,
- st.MAXPRICE nmc_REQNUM,
- st.MAXPRICE_ALL nmc_joflag,
- st.BIDDINGDATE,
- st.OPENINGDATE,
- st.SCORINGDATE,
- st.PREQUALIFICATION,
- st.LOTNUMBER,
- st.PG_POS POSITIONNUMBER_REQNUM,
- st.FLAG_COMP FLAG_COMP_REQNUM,
- st.IKZ IKZ_REQNUM,
- st.PG PLANNUMBER_REQNUM,
- st.OBJECT_NAME OBJECT_NAME_REQNUM,
- st.CNT_MODIF CNT_MODIF_REQNUM,
- st.flag_cans flag_cans_REQNUM,
- st.purchasenumber_rn,
- st.flag_st_hand
- from ERC_19_SCHEDULE_POS sch
- /*left */join ERC_19_START_NOTICE st on (/*sch.ikz = st.ikz or */sch.ikz_pp = st.ikz and sch.ikz_pp <> sch.ikz)
- --where not (sch.PLANNUMBER = 2017037220021190010001 and sch.flah_act_version = 0 and sch.ikz_pp = '172781344635578130100100090008110244')
- union all
- select
- sch.ORG_NAME,
- sch.ORG_INN,
- sch.ORG_SPZ,
- sch.ORG_KGNTV,
- sch.PLANNUMBER,
- sch.VERSIONNUMBER,
- sch.PUBLISHDATE,
- sch.POSITIONNUMBER,
- sch.IKZ,
- sch.IKZ_PP,
- sch.PLAN_PLACEMENT_DATE,
- sch.PLAN_EXECUTION_DATE,
- sch.PURCHASEOBJECTINFO OBJECT_NAME,
- sch.PLACINGWAY_CODE SOP_CODE,
- sch.PLACINGWAY_NAME SOP_NAME,
- sch.FINANCE_TOTAL nmc_SCHEDULE,
- sch.PURCHASECANCELED,
- sch.SPECIALPURCHASE_TYPE,
- sch.FLAG_COMP,
- sch.MODIFF_ALL CNT_MODIF_PG,
- sch.flah_act_version,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
- from ERC_19_SCHEDULE_POS sch
- left join (select distinct ikz from ERC_19_START_NOTICE)st on st.ikz = sch.IKZ
- left join (select distinct ikz from ERC_19_START_NOTICE)st_p on st_p.ikz = sch.IKZ_PP
- where st.ikz is null and st_p.ikz is null and sch.flah_act_version = 1
- --4 шаг генерации рейтинга эффективности
- --5 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT_MESS
- -- ITOGOVAIA TABLICA !!!!!
- CREATE table ERC_19_CONTRACT_MESS as
- select cc.id,
- cc.contract_rnk,
- min(o.last_attempt) date_,
- min(case when o.success = true then o.last_attempt end) successdate
- from oos_messages o
- inner join cm_contracts cc on cc.lot_id = o.lot_id and cc.id = o.contract_id
- where o.type = 'contract' and cc.import_uuid is null --and cc.id>699751
- group by cc.id, cc.contract_rnk
- --5 шаг генерации рейтинга эффективности
- --6 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT
- --drop table ERC_19_CONTRACT;
- CREATE table ERC_19_CONTRACT as
- with notice as
- (
- select
- c.regnum rnk,
- c.NUMBER_ rnk_number,
- c.purchasecode ikz,
- c.signdate,
- c.publishdate,
- c.VERSIONNUMBER,
- c.NOTIFICATIONNUMBER,
- nvl(c.LOTNUMBER,1)LOTNUMBER,
- c.PLACING sop_code,
- case
- when c.PLACING in ('13013') then 'Запрос котировок в электронной форме'
- when c.PLACING in ('12011') then 'Аукцион в электронной форме'
- when c.PLACING in ('14013') then 'Запрос предложений в электронной форме'
- when c.PLACING in ('20000') or c.PLACING is null and c.SINGLECUSTOMER is not null then 'Закупка у единственного поставщика (подрядчика, исполнителя)'
- when c.PLACING in ('11013') then 'Открытый конкурс в электронной форме'
- when c.PLACING in ('11031') then 'Двухэтапный конкурс в электронной форме'
- when c.PLACING in ('13011') then 'Запрос котировок'
- when c.PLACING in ('11023') then 'Конкурс с ограниченным участием в электронной форме'
- when c.PLACING in ('30000') then 'Способ определения поставщика (подрядчика, исполнителя), установленный Правительством Российской Федерации в соответствии со статьей 111 Федерального закона'
- when c.PLACING in ('14011') then 'Запрос предложений'
- when c.PLACING in ('11011') then 'Открытый конкурс'
- when c.PLACING in ('11042') then 'Закрытый конкурс'
- when c.PLACING in ('11021') then 'Конкурс с ограниченным участием'
- when c.PLACING in ('12022') then 'закрытый аукцион'
- else null end sop_name,
- c.SINGLECUSTOMER,
- rs.name SINGLECUSTOMER_name,
- c.PROTOCOLDATE,
- c.PRICE,
- c.CURRENCY,
- case when c.CHANGETYPE_TAG = 'contractChange' then 1 else 0 end modif,
- c.changereason modif_reason,
- case when c.CURRENTCONTRACTSTAGE = 'E' then 'Исполнение'
- when c.CURRENTCONTRACTSTAGE = 'ET' then 'Исполнение прекращено'
- when c.CURRENTCONTRACTSTAGE = 'EC' then 'Исполнение завершено'
- when c.CURRENTCONTRACTSTAGE = 'IN' then 'Aннулировано'
- else null end stage,
- c.EXECUTIONPERIOD_START,
- c.EXECUTIONPERIOD_END,
- c.SUPPLIER_TYPE,
- c.SUPPLIER_FULLNAME,
- c.SUPPLIER_INN,
- c.SUPPLIER_KPP,
- c.PRODUCT_NAME object_name,
- c.CUSTOMER_FULLNAME org_name,
- c.CUSTOMER_INN org_inn,
- c.CUSTOMER_REGNUM org_spz,
- org.id org_kgntv_contract,
- n.org_kgntv org_kgntv_notice,
- nvl(n.joflag,0) joflag,
- nvl(s.org_kgntv, s_pp.org_kgntv) org_kgntv_schedule,
- nvl(s.placingway_name, s_pp.placingway_name) placingway_name,
- c.ID,
- c_ais.ikz ikz_ais,
- row_number() over (partition by c.regnum order by c.VERSIONNUMBER, c.publishdate) rn_first,
- row_number() over (partition by c.regnum order by c.VERSIONNUMBER desc, c.publishdate desc) rn_last
- from dwh_contract_notice_nrpz c
- /*left*/ join erc_dwh_organization_kgntv org on c.customer_regnum = org.spz
- left join contract_single_supp_reasons rs on rs.code_oos = c.SINGLECUSTOMER and rs.actual = 't'
- left join
- (select c.contractrnk rnk, min(p.pg_ikz ) ikz
- from erc_dwh_contract_kgntv_194_6 c
- join erc_dwh_procedures_kgntv_194_6 p on c.lotid = p.lotuuid
- group by c.contractrnk
- )c_ais on c_ais.rnk = c.regnum
- left join
- (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- max(joflag) joflag
- from erc_19_start_notice
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end
- ) n on n.reqnum = c.notificationnumber
- left join (select distinct ikz, org_kgntv, placingway_name from erc_19_schedule_pos /*where purchasecanceled is null*/) s on s.ikz = c.purchasecode
- left join (select distinct ikz_pp ikz, org_kgntv, placingway_name from erc_19_schedule_pos /*where purchasecanceled is null*/) s_pp on s_pp.ikz = c.purchasecode
- where c.name like '%contract'
- and --c.publishdate< to_date('17-01-2018','DD-MM-YYYY') and
- c.signdate<to_date('01012020','DDMMYYYY') and c.signdate>=to_date('01012019','DDMMYYYY') and coalesce(n.reqnum,s.ikz,s_pp.ikz) is not null)
- select
- n_first.rnk,
- n_first.rnk_number,
- n_first.ikz,
- n_first.ikz_ais,
- n_first.signdate,
- n_first.publishdate publishdate_first,
- n_last.publishdate publishdate_last,
- n_first.VERSIONNUMBER VERSIONNUMBER_first,
- n_last.VERSIONNUMBER VERSIONNUMBER_last,
- n_first.NOTIFICATIONNUMBER,
- n_first.LOTNUMBER,
- n_first.sop_name,
- case when n_first.SINGLECUSTOMER_name is null then n_last.SINGLECUSTOMER_name else n_first.SINGLECUSTOMER_name end SINGLECUSTOMER_name,
- n_first.PROTOCOLDATE,
- n_first.PRICE,
- n_last.PRICE PRICE_cur,
- n_first.CURRENCY,
- n_last.modif,
- n_last.modif_reason,
- nvl(c_proc.stage, n_last.stage) stage,
- --c_proc-(от стадии исполнения контракта)
- c_proc.executions_date,
- c_proc.rejected_date,
- c_proc.rejected_paid,
- c_proc.rejected_reason,
- c_proc.rejected_reason_name,
- c_proc.penalties_type,
- c_proc.penalties_party,
- c_proc.penalties_amount,
- n_first.EXECUTIONPERIOD_START,
- n_last.EXECUTIONPERIOD_END,
- n_first.SUPPLIER_TYPE,
- n_first.SUPPLIER_FULLNAME,
- n_first.SUPPLIER_INN,
- n_first.SUPPLIER_KPP,
- n_first.object_name,
- n_first.org_name,
- n_first.org_inn,
- n_first.org_spz,
- n_first.org_kgntv_contract,
- n_first.org_kgntv_notice,
- n_first.org_kgntv_schedule,
- coalesce(n_first.org_kgntv_contract,n_first.org_kgntv_schedule, n_first.org_kgntv_notice) org_kgntv,
- n_first.joflag,
- n_first.placingway_name,
- prot.protocoldate_publ,
- prot.protocoldate_SIGN,
- prot_one.protocoldate_publ protocoldate_one_publ,
- prot_one.protocoldate_SIGN protocoldate_one_SIGN,
- mess.successdate FIRSTNOTICEsuccesDATE,
- case when regexp_like(case when n_first.SINGLECUSTOMER_name is null then n_last.SINGLECUSTOMER_name else n_first.SINGLECUSTOMER_name end, '(^Часть 1 пункт (4|5|23|42|44|45|46) статьи 93)') then 0 else 1 end flag_16 ,
- nvl(cn.cnt_modif,0) cnt_modif,
- case when peva.PURCHASENUMBER is not null then 1 else 0 end flag_evasion
- from notice n_first
- join notice n_last on n_last.rn_last = 1 and n_first.rnk = n_last.rnk
- left join
- (select rnk, count(*) cnt_modif from
- (select distinct regnum rnk, VERSIONNUMBER , PUBLISHDATE
- from dwh_contract_notice_nrpz cn
- where cn.name like '%contract' and cn.publishdate< to_date('21-01-2020','DD-MM-YYYY') and cn.CHANGETYPE_TAG = 'contractChange' -- зачем мы делаем срез на 11 число = потому что контракт может быть подписан в нужной нам для отчета квартале а вот публикаци может выходить за эту дату для этого мы и берем 11.10.2018
- )
- group by rnk
- )cn on n_first.rnk = cn.rnk
- left join
- (select
- cp.regnum rnk,
- cp.publishdate,
- case
- when cp.rejected_date is not null then 'Исполнение прекращено'
- --when cp.executions_date is not null then 'Исполнение завершено'
- when cp.CURRENTCONTRACTSTAGE = 'E' then 'Исполнение'
- when cp.CURRENTCONTRACTSTAGE = 'ET' then 'Исполнение прекращено'
- when cp.CURRENTCONTRACTSTAGE = 'EC' then 'Исполнение завершено'
- when cp.CURRENTCONTRACTSTAGE = 'IN' then 'Aннулировано'
- else null end stage,
- case when cp.CURRENTCONTRACTSTAGE = 'E' then null else cp.executions_date end executions_date,
- cp.rejected_date,
- cp.rejected_paid,
- cp.rejected_reason,
- case when cp.rejected_reason = '1' then 'Соглашение сторон'
- when cp.rejected_reason = '2' then 'Судебный акт'
- when cp.rejected_reason = '3' then 'Односторонний отказ заказчика от исполнения контракта в соответствии с гражданским законодательством'
- when cp.rejected_reason = '4' then 'Односторонний отказ поставщика (подрядчика, исполнителя) от исполнения контракта в соответствии с гражданским законодательством'
- else null end rejected_reason_name,
- case when cp.penalties_type = 'F' then 'Штраф'
- when cp.penalties_type = 'I' then 'Пени'
- else null end penalties_type,
- case when cp.penalties_party = 'C' then 'Заказчик'
- when cp.penalties_party = 'S' then 'Поставщик'
- else null end penalties_party,
- cp.penalties_amount,
- row_number() over (partition by cp.regnum order by cp.publishdate desc) rn
- from dwh_contract_notice_nrpz cp
- left join (select distinct regnum, id from dwh_contract_notice_nrpz where name like '%contractProcedureCancel') canc_ on cp.id = canc_.id and cp.regnum = canc_.regnum
- where cp.name like '%contractProcedure' and canc_.id is null --and cp.publishdate<to_date('01012020','DDMMYYYY')
- )c_proc on c_proc.rn = 1 and c_proc.rnk = n_first.rnk
- left join
- (
- select to_char ( p.purchasenumber ) numb,
- max (case when pc.reqnum is not null then pc.publishdate else p.publishdate end) protocoldate_publ,
- max(p.SIGNDATE) protocoldate_SIGN
- from DWH_PROTOCOL_NRPZ p
- left join (select distinct purchasenumber, PROTOCOLNUMBER from DWH_PROTOCOL_NRPZ where type in ('ProtocolCancel','rotocolCancel'))canc on canc.protocolnumber = p.protocolnumber and canc.PURCHASENUMBER = p.PURCHASENUMBER
- left join erc_19_protocol_ch pc on p.purchasenumber = pc.reqnum and p.TYPE = pc.type
- where p.publishdate < to_date ( '01.01.2020', 'dd.MM.YYYY' ) and p.type in ('ProtocolEFSingleApp','ProtocolEFSinglePart','ProtocolZP','ProtocolZPFinal','ProtocolEF3','ProtocolZK','ProtocolOK2','ProtocolOKD5','ProtocolOKOU3','ProtocolZKAfterProlong') and canc.protocolnumber is null
- group by to_char ( p.purchasenumber )
- ) prot on prot.numb = n_first.NOTIFICATIONNUMBER
- left join
- (
- select to_char ( p.purchasenumber ) numb,
- max (case when pc.reqnum is not null then pc.publishdate else p.publishdate end) protocoldate_publ,
- max(p.SIGNDATE) protocoldate_SIGN
- from DWH_PROTOCOL_NRPZ p
- left join (select distinct purchasenumber, PROTOCOLNUMBER from DWH_PROTOCOL_NRPZ where type in ('ProtocolCancel','rotocolCancel'))canc on canc.protocolnumber = p.protocolnumber and canc.PURCHASENUMBER = p.PURCHASENUMBER
- left join erc_19_protocol_ch pc on p.purchasenumber = pc.reqnum and p.TYPE = pc.type
- where p.publishdate < to_date ( '01.01.2020', 'dd.MM.YYYY' ) and p.type in ('ProtocolOKOUSingleApp','ProtocolOKDSingleApp','ProtocolOKSingleApp','ProtocolZP','ProtocolZPFinal') and canc.protocolnumber is null
- group by to_char ( p.purchasenumber )
- ) prot_one on prot_one.numb = n_first.NOTIFICATIONNUMBER
- left join
- (
- select contract_rnk rnk,successdate --изменение с successdate на date_ от 14/08/2017 Терехова -- от 14.11 считать от успешной даты первой отправки сведений на ЕИС
- from erc_19_contract_mess
- where date_ < to_date('2020-01-01', 'YYYY-MM-DD')
- )mess on mess.rnk = n_first.rnk
- left join
- (select distinct PURCHASENUMBER
- from DWH_PROTOCOL_NRPZ
- where TYPE in('ProtocolDeviation', 'ProtocolEvasion') and PUBLISHDATE < TO_DATE('2020-01-01', 'YYYY-MM-DD')
- )peva on peva.PURCHASENUMBER = n_first.NOTIFICATIONNUMBER
- where n_first.rn_first = 1;
- --drop table erc_19_contract_all;
- create table erc_19_contract_all
- as select * from erc_19_contract;
- -- drop table erc_19_contract_del;
- create table erc_19_contract_del as
- select
- st.rnk,
- st.publishdate_first, st.ikz,ikz_ais, NOTIFICATIONNUMBER,
- row_number() over (partition by st.ikz order by st.publishdate_first desc) rn
- from erc_19_contract st
- join
- (select
- ikz,
- count(distinct rnk)
- from erc_19_contract
- where ikz is not null and nvl(placingway_name,' ') <>'Особая закупка'
- group by ikz
- having count(distinct rnk)>1
- )f on f.ikz = st.ikz;
- --6 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT
- -- !!!!! СНАЧАЛА изменить view : ERC_19_CONTRACT_add (даты и наименование таблиц на нужный квартал)
- --7 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT_1
- /*удалить все без связи в АИС ГЗ по ИКЗ*/
- delete from erc_19_contract where rnk in
- (select rnk from erc_19_contract_del where ikz_ais is null
- );
- /*Заменить ИКЗ контракта на ИКЗ из АИС ГЗ*/
- UPDATE erc_19_contract t set t.ikz = t.ikz_ais
- where t.rnk in
- (select cd.rnk --, cd.ikz ikz_from, cd.ikz_ais ikz_to, a.lotuuid, a.requestid --,a.ikz ikz_ais
- from erc_19_contract_del cd
- left join erc_19_contract_all ca on ca.ikz = cd.ikz_ais and cd.ikz<>cd.ikz_ais
- left join
- (select c.contractrnk rnk, min(p.lotuuid) lotuuid, min(p.requestid)requestid, min(p.pg_ikz ) ikz
- from erc_dwh_contract_kgntv_194_6 c
- join erc_dwh_procedures_kgntv_194_6 p on c.lotid = p.lotuuid
- group by c.contractrnk
- )a on a.rnk = cd.rnk
- where ca.ikz is null and cd.ikz_ais is not null and cd.ikz_ais<>cd.ikz
- );-- заменяются икз контрактов на икз из АИС ГЗ
- /*удаляем остальное*/
- delete from erc_19_contract where rnk in
- (select distinct
- st.rnk
- from erc_19_contract st
- join
- (select
- ikz,
- count(distinct rnk)
- from erc_19_contract
- where ikz is not null and nvl(placingway_name,' ') <>'Особая закупка'
- group by ikz
- having count(distinct rnk)>1
- )f on f.ikz = st.ikz
- );
- --drop table ERC_19_CONTRACT_plus;
- create table ERC_19_CONTRACT_plus as
- select * from ERC_19_CONTRACT;
- drop table ERC_19_CONTRACT;
- create table ERC_19_CONTRACT as
- select
- RNK,
- RNK_NUMBER,
- IKZ,
- SIGNDATE,
- PUBLISHDATE_FIRST,
- PUBLISHDATE_LAST,
- VERSIONNUMBER_FIRST,
- VERSIONNUMBER_LAST,
- NOTIFICATIONNUMBER,
- LOTNUMBER,
- SOP_NAME,
- to_char(SINGLECUSTOMER_NAME) SINGLECUSTOMER_NAME,
- PROTOCOLDATE,
- PRICE,
- PRICE_CUR,
- CURRENCY,
- MODIF,
- MODIF_REASON,
- STAGE,
- EXECUTIONS_DATE,
- REJECTED_DATE,
- REJECTED_PAID,
- REJECTED_REASON,
- REJECTED_REASON_NAME,
- PENALTIES_TYPE,
- PENALTIES_PARTY,
- PENALTIES_AMOUNT,
- EXECUTIONPERIOD_START,
- EXECUTIONPERIOD_END,
- SUPPLIER_TYPE,
- SUPPLIER_FULLNAME,
- SUPPLIER_INN,
- SUPPLIER_KPP,
- OBJECT_NAME,
- ORG_NAME,
- ORG_INN,
- ORG_SPZ,
- ORG_KGNTV_CONTRACT,
- ORG_KGNTV_NOTICE,
- ORG_KGNTV_SCHEDULE,
- ORG_KGNTV,
- JOFLAG,
- PLACINGWAY_NAME,
- PROTOCOLDATE_PUBL,
- PROTOCOLDATE_SIGN,
- PROTOCOLDATE_ONE_PUBL,
- PROTOCOLDATE_ONE_SIGN,
- FIRSTNOTICESUCCESDATE,
- FLAG_16,
- CNT_MODIF,
- flag_evasion,
- 'eis' type_
- from ERC_19_CONTRACT_plus
- union all
- select
- RNK,
- RNK_NUMBER,
- IKZ,
- SIGNDATE,
- null PUBLISHDATE_FIRST,
- null PUBLISHDATE_LAST,
- null VERSIONNUMBER_FIRST,
- null VERSIONNUMBER_LAST,
- NOTIFICATIONNUMBER,
- LOTNUMBER,
- SOP_NAME,
- SINGLECUSTOMER_NAME,
- PROTOCOLDATE,
- PRICE,
- PRICE_CUR,
- CURRENCY,
- null MODIF,
- MODIF_REASON,
- STAGE,
- EXECUTIONS_DATE,
- REJECTED_DATE,
- REJECTED_PAID,
- REJECTED_REASON,
- REJECTED_REASON_NAME,
- PENALTIES_TYPE,
- PENALTIES_PARTY,
- null PENALTIES_AMOUNT,
- null EXECUTIONPERIOD_START,
- EXECUTIONPERIOD_END,
- SUPPLIER_TYPE,
- SUPPLIER_FULLNAME,
- SUPPLIER_INN,
- SUPPLIER_KPP,
- OBJECT_NAME,
- ORG_NAME,
- ORG_INN,
- ORG_SPZ,
- ORG_KGNTV_CONTRACT,
- ORG_KGNTV_NOTICE,
- ORG_KGNTV_SCHEDULE,
- ORG_KGNTV,
- 0 JOFLAG,
- PLACINGWAY_NAME,
- PROTOCOLDATE_PUBL,
- PROTOCOLDATE_SIGN,
- PROTOCOLDATE_ONE_PUBL,
- PROTOCOLDATE_ONE_SIGN,
- FIRSTNOTICESUCCESDATE,
- FLAG_16,
- CNT_MODIF,
- flag_evasion,
- 'kg' type_
- from ERC_19_CONTRACT_add;
- --7 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT_1
- --8 шаг генерации рейтинга эффективности
- --ERC_19_LIST_CONTRACT
- --drop table erc_19_list_contract;
- create table erc_19_list_contract as
- select
- sch.ORG_NAME,sch.ORG_INN,sch.ORG_SPZ,sch.ORG_KGNTV,sch.PLANNUMBER,sch.VERSIONNUMBER,sch.PUBLISHDATE,sch.POSITIONNUMBER,sch.IKZ,sch.IKZ_PP,sch.PLAN_PLACEMENT_DATE,sch.PLAN_EXECUTION_DATE,sch.OBJECT_NAME,sch.SOP_CODE,sch.SOP_NAME,sch.nmc_SCHEDULE,sch.PURCHASECANCELED,sch.SPECIALPURCHASE_TYPE,sch.FLAG_COMP,sch.CNT_MODIF_PG,sch.REQNUM,sch.PUBLISHDATE_REQNUM,sch.SOP_CODE_REQNUM,sch.SOP_NAME_REQNUM,sch.JOFLAG_ORG_NAME,sch.JOFLAG_ORG_SPZ,sch.ORG_KGNTV_JOFLAG,sch.JOFLAG,sch.STARTDATE,sch.ENDDATE,sch.nmc_REQNUM,sch.nmc_joflag,sch.BIDDINGDATE,sch.OPENINGDATE,sch.SCORINGDATE,sch.PREQUALIFICATION,sch.LOTNUMBER,sch.POSITIONNUMBER_REQNUM,sch.FLAG_COMP_REQNUM,sch.IKZ_REQNUM,sch.PLANNUMBER_REQNUM,sch.OBJECT_NAME_REQNUM,sch.CNT_MODIF_REQNUM,sch.flag_cans_REQNUM,sch.purchasenumber_rn,sch.flag_st_hand,sch.flah_act_version,
- con.RNK,con.RNK_NUMBER,con.IKZ IKZ_con,con.SIGNDATE,con.PUBLISHDATE_FIRST PUBLISHDATE_con,con.PUBLISHDATE_LAST PUBLISHDATE_con_last,con.VERSIONNUMBER_FIRST VERSIONNUMBER_con,con.VERSIONNUMBER_LAST VERSIONNUMBER_con_last,con.NOTIFICATIONNUMBER reqnum_con,con.LOTNUMBER LOTNUMBER_con,con.SOP_NAME SOP_NAME_con,con.SINGLECUSTOMER_NAME oneex_con,con.PROTOCOLDATE PROTOCOLDATE_con,con.PRICE ck_first,con.PRICE_CUR ck_last,con.STAGE STAGE_con,con.EXECUTIONS_DATE,con.REJECTED_DATE,con.REJECTED_PAID,con.REJECTED_REASON,con.REJECTED_REASON_NAME,con.PENALTIES_TYPE,con.PENALTIES_PARTY,con.PENALTIES_AMOUNT,con.EXECUTIONPERIOD_END PLAN_EXECUTION_DATe_con,con.SUPPLIER_TYPE,con.SUPPLIER_FULLNAME,con.SUPPLIER_INN,con.SUPPLIER_KPP,con.OBJECT_NAME OBJECT_NAME_con,con.ORG_NAME ORG_NAME_con,con.ORG_INN ORG_INN_con,con.ORG_SPZ ORG_SPZ_con,con.ORG_KGNTV_CONTRACT,con.protocoldate_publ,con.protocoldate_SIGN,con.protocoldate_one_publ,con.protocoldate_one_SIGN,con.FIRSTNOTICEsuccesDATE,con.flag_16,con.CNT_MODIF CNT_MODIF_con,con.type_,con.flag_evasion
- from erc_19_list sch
- join
- (select
- con.RNK,con.RNK_NUMBER,con.IKZ,con.SIGNDATE,con.PUBLISHDATE_FIRST ,con.PUBLISHDATE_LAST ,con.VERSIONNUMBER_FIRST ,con.VERSIONNUMBER_LAST ,con.NOTIFICATIONNUMBER ,con.LOTNUMBER ,con.SOP_NAME ,to_char(con.SINGLECUSTOMER_NAME) SINGLECUSTOMER_NAME,con.PROTOCOLDATE ,con.PRICE ,con.PRICE_CUR ,con.STAGE ,con.EXECUTIONS_DATE,con.REJECTED_DATE,con.REJECTED_PAID,con.REJECTED_REASON,con.REJECTED_REASON_NAME,con.PENALTIES_TYPE,con.PENALTIES_PARTY,con.PENALTIES_AMOUNT,con.EXECUTIONPERIOD_END ,con.SUPPLIER_TYPE,con.SUPPLIER_FULLNAME,con.SUPPLIER_INN,con.SUPPLIER_KPP,con.OBJECT_NAME ,con.ORG_NAME ,con.ORG_INN ,con.ORG_SPZ ,con.ORG_KGNTV_CONTRACT,con.protocoldate_publ,con.protocoldate_SIGN,con.protocoldate_one_publ,con.protocoldate_one_SIGN,con.FIRSTNOTICEsuccesDATE,con.flag_16,con.CNT_MODIF, con.type_,con.flag_evasion
- from erc_19_contract con
- ) con
- on sch.joflag = 0
- and con.NOTIFICATIONNUMBER = sch.reqnum
- and con.lotnumber = sch.lotnumber
- union all
- select
- sch.ORG_NAME,sch.ORG_INN,sch.ORG_SPZ,sch.ORG_KGNTV,sch.PLANNUMBER,sch.VERSIONNUMBER,sch.PUBLISHDATE,sch.POSITIONNUMBER,sch.IKZ,sch.IKZ_PP,sch.PLAN_PLACEMENT_DATE,sch.PLAN_EXECUTION_DATE,sch.OBJECT_NAME,sch.SOP_CODE,sch.SOP_NAME,sch.nmc_SCHEDULE,sch.PURCHASECANCELED,sch.SPECIALPURCHASE_TYPE,sch.FLAG_COMP,sch.CNT_MODIF_PG,sch.REQNUM,sch.PUBLISHDATE_REQNUM,sch.SOP_CODE_REQNUM,sch.SOP_NAME_REQNUM,sch.JOFLAG_ORG_NAME,sch.JOFLAG_ORG_SPZ,sch.ORG_KGNTV_JOFLAG,sch.JOFLAG,sch.STARTDATE,sch.ENDDATE,sch.nmc_REQNUM,sch.nmc_joflag,sch.BIDDINGDATE,sch.OPENINGDATE,sch.SCORINGDATE,sch.PREQUALIFICATION,sch.LOTNUMBER,sch.POSITIONNUMBER_REQNUM,sch.FLAG_COMP_REQNUM,sch.IKZ_REQNUM,sch.PLANNUMBER_REQNUM,sch.OBJECT_NAME_REQNUM,sch.CNT_MODIF_REQNUM,sch.flag_cans_REQNUM,sch.purchasenumber_rn,sch.flag_st_hand,sch.flah_act_version,
- con.RNK,con.RNK_NUMBER,con.IKZ IKZ_con,con.SIGNDATE,con.PUBLISHDATE_FIRST PUBLISHDATE_con,con.PUBLISHDATE_LAST PUBLISHDATE_con_last,con.VERSIONNUMBER_FIRST VERSIONNUMBER_con,con.VERSIONNUMBER_LAST VERSIONNUMBER_con_last,con.NOTIFICATIONNUMBER reqnum_con,con.LOTNUMBER LOTNUMBER_con,con.SOP_NAME SOP_NAME_con,con.SINGLECUSTOMER_NAME oneex_con,con.PROTOCOLDATE PROTOCOLDATE_con,con.PRICE ck_first,con.PRICE_CUR ck_last,con.STAGE STAGE_con,con.EXECUTIONS_DATE,con.REJECTED_DATE,con.REJECTED_PAID,con.REJECTED_REASON,con.REJECTED_REASON_NAME,con.PENALTIES_TYPE,con.PENALTIES_PARTY,con.PENALTIES_AMOUNT,con.EXECUTIONPERIOD_END PLAN_EXECUTION_DATe_con,con.SUPPLIER_TYPE,con.SUPPLIER_FULLNAME,con.SUPPLIER_INN,con.SUPPLIER_KPP,con.OBJECT_NAME OBJECT_NAME_con,con.ORG_NAME ORG_NAME_con,con.ORG_INN ORG_INN_con,con.ORG_SPZ ORG_SPZ_con,con.ORG_KGNTV_CONTRACT,con.protocoldate_publ,con.protocoldate_SIGN,con.protocoldate_one_publ,con.protocoldate_one_SIGN,con.FIRSTNOTICEsuccesDATE,con.flag_16,con.CNT_MODIF CNT_MODIF_con,con.type_,con.flag_evasion
- from erc_19_list sch
- join
- (select
- con.RNK,con.RNK_NUMBER,con.IKZ,con.SIGNDATE,con.PUBLISHDATE_FIRST ,con.PUBLISHDATE_LAST ,con.VERSIONNUMBER_FIRST ,con.VERSIONNUMBER_LAST ,con.NOTIFICATIONNUMBER ,con.LOTNUMBER ,con.SOP_NAME ,to_char(con.SINGLECUSTOMER_NAME) SINGLECUSTOMER_NAME,con.PROTOCOLDATE ,con.PRICE ,con.PRICE_CUR ,con.STAGE ,con.EXECUTIONS_DATE,con.REJECTED_DATE,con.REJECTED_PAID,con.REJECTED_REASON,con.REJECTED_REASON_NAME,con.PENALTIES_TYPE,con.PENALTIES_PARTY,con.PENALTIES_AMOUNT,con.EXECUTIONPERIOD_END ,con.SUPPLIER_TYPE,con.SUPPLIER_FULLNAME,con.SUPPLIER_INN,con.SUPPLIER_KPP,con.OBJECT_NAME ,con.ORG_NAME ,con.ORG_INN ,con.ORG_SPZ ,con.ORG_KGNTV_CONTRACT,con.protocoldate_publ,con.protocoldate_SIGN,con.protocoldate_one_publ,con.protocoldate_one_SIGN,con.FIRSTNOTICEsuccesDATE,con.flag_16,con.CNT_MODIF, con.type_,con.flag_evasion
- from erc_19_contract con
- ) con
- on con.ikz = sch.ikz
- and sch.reqnum is null
- union all
- select
- sch.ORG_NAME,sch.ORG_INN,sch.ORG_SPZ,sch.ORG_KGNTV,sch.PLANNUMBER,sch.VERSIONNUMBER,sch.PUBLISHDATE,sch.POSITIONNUMBER,sch.IKZ,sch.IKZ_PP,sch.PLAN_PLACEMENT_DATE,sch.PLAN_EXECUTION_DATE,sch.OBJECT_NAME,sch.SOP_CODE,sch.SOP_NAME,sch.nmc_SCHEDULE,sch.PURCHASECANCELED,sch.SPECIALPURCHASE_TYPE,sch.FLAG_COMP,sch.CNT_MODIF_PG,sch.REQNUM,sch.PUBLISHDATE_REQNUM,sch.SOP_CODE_REQNUM,sch.SOP_NAME_REQNUM,sch.JOFLAG_ORG_NAME,sch.JOFLAG_ORG_SPZ,sch.ORG_KGNTV_JOFLAG,sch.JOFLAG,sch.STARTDATE,sch.ENDDATE,sch.nmc_REQNUM,sch.nmc_joflag,sch.BIDDINGDATE,sch.OPENINGDATE,sch.SCORINGDATE,sch.PREQUALIFICATION,sch.LOTNUMBER,sch.POSITIONNUMBER_REQNUM,sch.FLAG_COMP_REQNUM,sch.IKZ_REQNUM,sch.PLANNUMBER_REQNUM,sch.OBJECT_NAME_REQNUM,sch.CNT_MODIF_REQNUM,sch.flag_cans_REQNUM,sch.purchasenumber_rn,sch.flag_st_hand,sch.flah_act_version,
- con.RNK,con.RNK_NUMBER,con.IKZ IKZ_con,con.SIGNDATE,con.PUBLISHDATE_FIRST PUBLISHDATE_con,con.PUBLISHDATE_LAST PUBLISHDATE_con_last,con.VERSIONNUMBER_FIRST VERSIONNUMBER_con,con.VERSIONNUMBER_LAST VERSIONNUMBER_con_last,con.NOTIFICATIONNUMBER reqnum_con,con.LOTNUMBER LOTNUMBER_con,con.SOP_NAME SOP_NAME_con,con.SINGLECUSTOMER_NAME oneex_con,con.PROTOCOLDATE PROTOCOLDATE_con,con.PRICE ck_first,con.PRICE_CUR ck_last,con.STAGE STAGE_con,con.EXECUTIONS_DATE,con.REJECTED_DATE,con.REJECTED_PAID,con.REJECTED_REASON,con.REJECTED_REASON_NAME,con.PENALTIES_TYPE,con.PENALTIES_PARTY,con.PENALTIES_AMOUNT,con.EXECUTIONPERIOD_END PLAN_EXECUTION_DATe_con,con.SUPPLIER_TYPE,con.SUPPLIER_FULLNAME,con.SUPPLIER_INN,con.SUPPLIER_KPP,con.OBJECT_NAME OBJECT_NAME_con,con.ORG_NAME ORG_NAME_con,con.ORG_INN ORG_INN_con,con.ORG_SPZ ORG_SPZ_con,con.ORG_KGNTV_CONTRACT,con.protocoldate_publ,con.protocoldate_SIGN,con.protocoldate_one_publ,con.protocoldate_one_SIGN,con.FIRSTNOTICEsuccesDATE,con.flag_16,con.CNT_MODIF CNT_MODIF_con,con.type_,con.flag_evasion
- from erc_19_list sch
- join
- (select
- con.RNK,con.RNK_NUMBER,con.IKZ,con.SIGNDATE,con.PUBLISHDATE_FIRST ,con.PUBLISHDATE_LAST ,con.VERSIONNUMBER_FIRST ,con.VERSIONNUMBER_LAST ,con.NOTIFICATIONNUMBER ,con.LOTNUMBER ,con.SOP_NAME ,to_char(con.SINGLECUSTOMER_NAME) SINGLECUSTOMER_NAME,con.PROTOCOLDATE ,con.PRICE ,con.PRICE_CUR ,con.STAGE ,con.EXECUTIONS_DATE,con.REJECTED_DATE,con.REJECTED_PAID,con.REJECTED_REASON,con.REJECTED_REASON_NAME,con.PENALTIES_TYPE,con.PENALTIES_PARTY,con.PENALTIES_AMOUNT,con.EXECUTIONPERIOD_END ,con.SUPPLIER_TYPE,con.SUPPLIER_FULLNAME,con.SUPPLIER_INN,con.SUPPLIER_KPP,con.OBJECT_NAME ,con.ORG_NAME ,con.ORG_INN ,con.ORG_SPZ ,con.ORG_KGNTV_CONTRACT,con.protocoldate_publ,con.protocoldate_SIGN,con.protocoldate_one_publ,con.protocoldate_one_SIGN,con.FIRSTNOTICEsuccesDATE,con.flag_16,con.CNT_MODIF, con.type_,con.flag_evasion
- from erc_19_contract con
- ) con
- on sch.joflag = 1
- and con.NOTIFICATIONNUMBER = sch.reqnum
- and con.lotnumber = sch.lotnumber
- and con.ikz = sch.ikz
- union all
- select
- sch.ORG_NAME,sch.ORG_INN,sch.ORG_SPZ,sch.ORG_KGNTV,sch.PLANNUMBER,sch.VERSIONNUMBER,sch.PUBLISHDATE,sch.POSITIONNUMBER,sch.IKZ,sch.IKZ_PP,sch.PLAN_PLACEMENT_DATE,sch.PLAN_EXECUTION_DATE,sch.OBJECT_NAME,sch.SOP_CODE,sch.SOP_NAME,sch.nmc_SCHEDULE,sch.PURCHASECANCELED,sch.SPECIALPURCHASE_TYPE,sch.FLAG_COMP,sch.CNT_MODIF_PG,sch.REQNUM,sch.PUBLISHDATE_REQNUM,sch.SOP_CODE_REQNUM,sch.SOP_NAME_REQNUM,sch.JOFLAG_ORG_NAME,sch.JOFLAG_ORG_SPZ,sch.ORG_KGNTV_JOFLAG,sch.JOFLAG,sch.STARTDATE,sch.ENDDATE,sch.nmc_REQNUM,sch.nmc_joflag,sch.BIDDINGDATE,sch.OPENINGDATE,sch.SCORINGDATE,sch.PREQUALIFICATION,sch.LOTNUMBER,sch.POSITIONNUMBER_REQNUM,sch.FLAG_COMP_REQNUM,sch.IKZ_REQNUM,sch.PLANNUMBER_REQNUM,sch.OBJECT_NAME_REQNUM,sch.CNT_MODIF_REQNUM,sch.flag_cans_REQNUM,sch.purchasenumber_rn,sch.flag_st_hand,sch.flah_act_version,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
- from erc_19_list sch
- left join
- (select distinct con.RNK, con.IKZ, con.NOTIFICATIONNUMBER, con.LOTNUMBER
- from erc_19_contract con
- )con_1 on sch.joflag = 1 and con_1.NOTIFICATIONNUMBER = sch.reqnum and con_1.lotnumber = sch.lotnumber and con_1.ikz = sch.ikz
- left join
- (select distinct con.RNK, con.IKZ, con.NOTIFICATIONNUMBER, con.LOTNUMBER
- from erc_19_contract con
- )con_2 on sch.joflag = 0 and con_2.NOTIFICATIONNUMBER = sch.reqnum and con_2.lotnumber = sch.lotnumber
- left join
- (select distinct con.RNK, con.IKZ, con.NOTIFICATIONNUMBER, con.LOTNUMBER
- from erc_19_contract con
- )con_3 on con_3.ikz = sch.ikz and sch.reqnum is null
- where con_1.RNK is null and con_2.RNK is null and con_3.RNK is null;
- DROP TABLE erc_19_list_contract_l;
- CREATE TABLE erc_19_list_contract_l AS
- SELECT
- c.parentid AS grbsid,
- s.*
- FROM
- erc_19_list_contract s
- JOIN erc_dwh_organization_kgntv c ON s.org_kgntv = c.id;
- DROP TABLE erc_19_list_contract;
- CREATE TABLE erc_19_list_contract AS
- SELECT * FROM erc_19_list_contract_l;
- --8 шаг генерации рейтинга эффективности
- --ERC_19_LIST_CONTRACT
- --9 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT_KG
- --drop table erc_19_contract_kg;
- create table erc_19_contract_kg as
- select
- c.contractrnk RNK,
- d.ikz IKZ,to_number(d.ORGid) org_kgntv,
- c.contractsigndate SIGNDATE,
- c.contractoneexecreason SINGLECUSTOMER_NAME,
- nvl(c.contractsigningprice, case when c.contractfullprice>0 then c.contractfullprice else 0 end) price,
- case when c.contractfullprice>0 then c.contractfullprice else 0 end price_cur,
- case when c.contractrejectdate is not null then 'Исполнение прекращено'
- when c.contractactualexecdate is not null then 'Исполнение завершено'
- else 'Исполнение'
- end STAGE,
- c.contractactualexecdate EXECUTIONS_DATE,
- c.contractrejectdate REJECTED_DATE,
- case when pen.id is not null then 'Пени' else null end PENALTIES_TYPE,
- case when pen.id is not null then 'Поставщик' else null end PENALTIES_party,
- c.contractplaneexecdate EXECUTIONPERIOD_END,
- c.contractsubject OBJECT_NAME,
- c.customername ORG_NAME,
- c.customerinn ORG_INN,
- -- c.customerid ORG_KGNTV,
- c.ordertypename PLACINGWAY_NAME,
- c.is_concluded_in_e_shop,
- c.lotid,
- d.requestid
- from dwh_contract_kgntv c
- join dwh_procedures_detailed_kgntv d on d.lotuuid=c.lotid
- join erc_dwh_procedures_kgntv_194_6 p on d.DETAIL_PARENT_ID = p.REQUESTID
- --join dwh_procedures_detailed_kgntv d on d.REQUESTID=c.REQUESTID
- join erc_19_schedule_pos sch on sch.ikz = p.pg_ikz --or sch.ikz_pp = p.pz_ikz
- left join (select distinct id from erc_dwh_contract_pen_kg_194_6 where reason_id in (1,3)) pen on pen.id = c.contractid
- left join erc_19_contract cc on cc.rnk = c.contractrnk
- where cc.rnk is null
- and regexp_like(contractoneexecreason, '(^Часть 1 пункт (4|5|23|33|42|44|45|46) статьи 93)')
- and c.contractsigndate < to_date('01-01-2020','DD-MM-YYYY') and c.contractsigndate >= to_date('23-11-2018','DD-MM-YYYY') ;
- --9 шаг генерации рейтинга эффективнос ти
- --ERC_19_CONTRACT_KG
- --10 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT_ONEEX
- --drop table erc_19_contract_oneex;
- create table erc_19_contract_oneex as
- select distinct kk.rnk
- from erc_19_contract kk
- where regexp_like(kk.singlecustomer_name, '(^Часть 1 пункт (1|2|3|6|8|9|22|23|29|31) статьи 93)')
- union all
- select distinct kk.rnk
- from erc_19_contract_kg kk
- where regexp_like(kk.singlecustomer_name, '(^Часть 1 пункт (1|2|3|6|8|9|22|23|29|31) статьи 93)');
- --10 шаг генерации рейтинга эффективности
- --ERC_19_CONTRACT_ONEEX
- --11 шаг генерации рейтинга эффективности
- --ERC_19_CHECKRESULT_BASE
- --drop table ERC_19_CHECKRESULT_BASE;
- CREATE table ERC_19_CHECKRESULT_BASE as
- select ch.COM_NUMBER,ch.CHECK_NUMBER,ch.reqnum, ch.chec_date,ch.chec_PRES_DATE, ch.RESULT,ch.PRESCRIPTIONNUMBER,complaint_publishdate,org_name,org_inn,org_spz,checksubjects_type
- from (select
- case when ch.COMPLAINT_REGNUMBER is not null then ch.COMPLAINT_REGNUMBER else ch.COMPLAINTNUMBER end COM_NUMBER,
- ch.purchasenumber reqnum,
- case when ch.regnumber is not null then ch.regnumber when length(ch.CHECKRESULTNUMBER)>=3 then ch.CHECKRESULTNUMBER else null end CHECK_NUMBER,
- ch.PUBLISHDATE chec_date,
- to_date(ch.PRESCRIPTIONDATE,'YYYY-MM-DD') chec_PRES_DATE, --дата предписания
- ch.RESULT,
- ch.PRESCRIPTIONNUMBER,
- ch.complaint_publishdate,
- ch.checksubjects_fullname org_name,
- ch.checksubjects_inn org_inn, /*не всегда есть*/
- nvl(ch.checksubjects_regnum,org.spz) org_spz, /*не всегда есть*/
- ch.checksubjects_type,
- ROW_NUMBER() OVER (PARTITION BY
- case when ch.COMPLAINT_REGNUMBER is not null then ch.COMPLAINT_REGNUMBER else ch.COMPLAINTNUMBER end,ch.purchasenumber, ch.checksubjects_regnum, ch.checksubjects_inn,
- case when ch.regnumber is not null then ch.regnumber when length(ch.CHECKRESULTNUMBER)>=3 then ch.CHECKRESULTNUMBER else null end
- ORDER BY ch.PUBLISHDATE desc,ch.RESULT
- ) rn
- from DWH_checkResult_nrpz ch
- join (select distinct reqnum from erc_19_start_notice) st on st.reqnum = ch.purchasenumber
- left join erc_dwh_organization_kgntv org on org.inn = ch.checksubjects_inn
- where ch.NAME not in('ns2:checkResultCancel', 'checkResultCancel')
- and (ch.PUBLISHDATE>=TO_DATE('2018-11-23', 'YYYY-MM-DD') --дата одобрения бюджета Советом федерации на 2019 год
- and (ch.PUBLISHDATE<TO_DATE('2020-01-01', 'YYYY-MM-DD')
- or to_date(ch.decisiondate,'YYYY-MM-DD')<TO_DATE('2020-01-01', 'YYYY-MM-DD')))
- and ch.flag_erc is null
- and nvl(ch.checksubjects_type,'1') <> 'EPNew'
- )ch
- left join
- (select distinct case when regnumber is not null then regnumber when length(CHECKRESULTNUMBER)>=3 then CHECKRESULTNUMBER else null end CHECK_NUMBER
- from DWH_checkResult_nrpz
- where PUBLISHDATE>= TO_DATE('2018-11-23', 'YYYY-MM-DD') and PUBLISHDATE< TO_DATE('2020-01-01', 'YYYY-MM-DD')
- and NAME in ('checkResultCancel','ns2:checkResultCancel')
- )ch_canc on ch_canc.CHECK_NUMBER = ch.CHECK_NUMBER
- where ch.rn = 1 and nvl(ch.RESULT,0) <> 'COMPLAINT_NO_VIOLATIONS' and ch_canc.CHECK_NUMBER is null
- order by ch.COM_NUMBER,ch.CHECK_NUMBER
- --11 шаг генерации рейтинга эффективности
- --ERC_19_CHECKRESULT_BASE
- ---------------Изменение 19.11.2019
- --12 шаг генерации рейтинга эффективности
- --ERC_19_DEMAND
- --drop table erc_19_demand;
- create table erc_19_demand as
- select dem.purchasenumber,
- max ( dem.cnt_all ) cnt_all,
- max ( dem.cnt_adm ) cnt_adm,
- max(dem.max_PUBL)max_PUBL,
- min(dem.min_PUBL)min_PUBL,
- dem.flag_protocol,
- max(prolonflag) prolonflag
- from
- ( select
- p.purchasenumber,
- p.protocolnumber,
- p.type,
- sum (case when d.PROTOCOLNUMBER is not null then 1 else 0 end) cnt_all,
- sum (case when d.admitted is not null then 1 else 0 end ) cnt_adm,
- max(p.max_PUBL)max_PUBL,
- min(p.min_PUBL)min_PUBL,
- case
- when p.type in ('rotocolEOK1','rotocolEOKOU1','rotocolEOKD2','ProtocolEF1') then 1
- when p.type in ('rotocolEOKSingleApp','rotocolEOKOUSingleApp','rotocolEOKDSingleApp','rotocolEFSingleApp')then 2
- when p.type in ('ProtocolEF1') then 4 --- сделано для показателя 6 и 8
- when p.type in ('ProtocolEFInvalidation') then 6 --- сделано для показателя 7 и 8
- when p.type in ('ProtocolEF2') then 5 --- сделано для показателя 7 и 8
- when p.type in ('ProtocolEFSingleApp') then 0 --- сделано для показателя 7 и 8
- else 0 end flag_protocol,
- prolonflag
- from (
- select p.PURCHASENUMBER, p.PROTOCOLNUMBER, p.type, max(p.PUBLISHDATE) max_PUBL, min(p.PUBLISHDATE) min_PUBL ,max(case when p.PUBLISHDATE < prolong.prolongdate then 1 else null end) prolonflag
- from DWH_PROTOCOL_NRPZ p
- left join (SELECT max((docpublishdate))prolongdate, purchasenumber FROM dwh_start_notice_prolong_nrpz group by purchasenumber)prolong on prolong.purchasenumber=p.PURCHASENUMBER
- where p.PUBLISHDATE < to_date('01/01/20', 'DD/MM/YY') and p.PUBLISHDATE > to_date('23/11/18', 'DD/MM/YY') and p.type in ('rotocolEOK1','rotocolEOKOU1','rotocolEOKD2','rotocolEOKSingleApp','rotocolEOKOUSingleApp','rotocolEOKDSingleApp','rotocolEFSingleApp','ProtocolEFSingleApp','ProtocolEF1','ProtocolEF2','ProtocolEFInvalidation')
- --and p.purchasenumber='0372200038319000049'
- Group by p.PURCHASENUMBER, p.PROTOCOLNUMBER, p.type) p
- left join (
- select distinct PURCHASENUMBER, PROTOCOLNUMBER,admitted,JOURNALNUMBER, max(PUBLISHDATE)
- from DWH_PROTOCOL_DEMAND_NRPZ
- where (PURCHASENUMBER, PROTOCOLNUMBER,PUBLISHDATE) in
- (
- select PURCHASENUMBER, PROTOCOLNUMBER, max(PUBLISHDATE)
- from DWH_PROTOCOL_DEMAND_NRPZ
- group by PURCHASENUMBER, PROTOCOLNUMBER
- ) group by
- PURCHASENUMBER, PROTOCOLNUMBER,admitted,JOURNALNUMBER
- ) d
- on p.PROTOCOLNUMBER = d.PROTOCOLNUMBER and p.PURCHASENUMBER = d.PURCHASENUMBER
- group by p.purchasenumber, p.protocolnumber, p.type,prolonflag
- )
- dem
- left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL_NRPZ where type in ('ProtocolCancel','rotocolCancel')) canc on canc.protocolnumber = dem.protocolnumber and canc.PURCHASENUMBER = dem.PURCHASENUMBER
- where canc.protocolnumber is null
- group by dem.purchasenumber,dem.flag_protocol,prolonflag
- union all
- select dem.purchasenumber,
- sum ( dem.cnt_all ) cnt_all,
- sum ( dem.cnt_adm ) cnt_adm,
- max(dem.max_PUBL)max_PUBL,
- min(dem.min_PUBL)min_PUBL,
- dem.flag_protocol,
- prolonflag
- from
- (select
- p.purchasenumber,
- p.protocolnumber,
- p.type,
- sum (case when d.PROTOCOLNUMBER is not null then 1 else 0 end) cnt_all,
- sum (case when d.admitted is not null then 1 else 0 end ) cnt_adm,
- max(max_PUBL)max_PUBL,
- min(min_PUBL)min_PUBL,
- case when p.type in ('rotocolEZP1','rotocolEZK1') then 3 else 0 end flag_protocol,
- prolonflag
- from (
- select p.PURCHASENUMBER, p.PROTOCOLNUMBER, p.type, max(p.PUBLISHDATE) max_PUBL, min(p.PUBLISHDATE) min_PUBL, max(case when p.PUBLISHDATE < prolong.prolongdate then 1 else null end) prolonflag
- from DWH_PROTOCOL_NRPZ p
- left join (SELECT max((docpublishdate))prolongdate, purchasenumber FROM dwh_start_notice_prolong_nrpz group by purchasenumber)prolong on prolong.purchasenumber=p.PURCHASENUMBER
- where p.PUBLISHDATE < to_date('01/01/20', 'DD/MM/YY') and p.PUBLISHDATE > to_date('23/11/18', 'DD/MM/YY') and p.type in ('rotocolEZP1','rotocolEZK1')
- -- and p.purchasenumber='0372200139819000031'
- group by p.purchasenumber, p.protocolnumber, p.type) p
- left join (select distinct PURCHASENUMBER, PROTOCOLNUMBER,admitted, max(PUBLISHDATE), JOURNALNUMBER
- from DWH_PROTOCOL_DEMAND_NRPZ group by PURCHASENUMBER, PROTOCOLNUMBER,admitted,JOURNALNUMBER) d on p.PROTOCOLNUMBER = d.PROTOCOLNUMBER and p.PURCHASENUMBER = d.PURCHASENUMBER
- --where p.purchasenumber='0372200139819000031'
- group by p.purchasenumber, p.protocolnumber, p.type,prolonflag
- )dem
- group by dem.purchasenumber,dem.flag_protocol,prolonflag
- ;
- --12 шаг генерации рейтинга эффективности
- --ERC_19_DEMAND
- drop table erc_19_protocol_194;
- create table erc_19_protocol_194 as
- select ORG_KGNTV, ORG_NAME, PUBLISHDATE_NOTICE, PROTNAME, PROTTYPE, PROTOCOLDATE, SIGNDATE, PUBLISHDATE,PURCHASENUMBER, PROTOCOLNUMBER from erc_19_protocol
- ;
- --13 шаг генерации рейтинга эффективности
- --ERC_19_PROTOCOL
- --drop table erc_19_protocol;
- create table erc_19_protocol as
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --"0" flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from
- (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr.TYPE,
- pr.title,
- pr.PURCHASENUMBER,
- pr.protocolnumber,
- pr.SIGNDATE,
- pr.PUBLISHDATE,
- pr.PROTOCOLDATE,
- pr.id protocolid,
- row_number () over (partition by pr.TYPE, pr.PURCHASENUMBER,pr.protocolnumber,pr.id order by pr.PUBLISHDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE, id,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY')
- )pr
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc on canc.protocolnumber = pr.protocolnumber and canc.PURCHASENUMBER = pr.PURCHASENUMBER
- where --canc.protocolnumber is null and
- pr.TYPE in ('ProtocolZPFinal','ProtocolOK1','ProtocolOKOU1','ProtocolOKD4',
- 'ProtocolOKD1',/*'ProtocolZPExtract',*/'ProtocolOKD3','ProtocolEF3',
- 'ProtocolOKOU2','ProtocolOKSingleApp','ProtocolOKDSingleApp',
- 'ProtocolOKOUSingleApp','ProtocolEF1', 'ProtocolZK','ProtocolOK2',
- 'ProtocolOKD5','ProtocolZKAfterProlong','ProtocolEFSingleApp'/*,'ProtocolEFSinglePart'*/,'rotocolEZP2','rotocolEOK1','rotocolEOK2','rotocolEOK3','rotocolEOKOU1','rotocolEOKOU2','rotocolEOKOU3','rotocolEOKD1','rotocolEZP1Extract','rotocolEOKD2','rotocolEOKD3','rotocolEOKSingleApp','rotocolEOKOUSingleApp','rotocolEOKDSingleApp','rotocolEFSingleApp','rotocolEZK1')
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber
- union all---1
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --"0" flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr.TYPE,
- pr.title,
- pr.PURCHASENUMBER,
- pr.protocolnumber,
- pr.SIGNDATE,
- pr.PUBLISHDATE,
- pr.PROTOCOLDATE,
- pr.id protocolid,
- row_number () over (partition by pr.TYPE, pr.PURCHASENUMBER,pr.protocolnumber,pr.id order by pr.PUBLISHDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE,id,
- row_number() over (partition by to_char(PURCHASENUMBER),TYPE order by PUBLISHDATE) rn
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('rotocolEZP1Extract','protocolEZPExtract')
- )pr
- where pr.rn = 1
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber
- union all ---2
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --"0" flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr_3.TYPE,
- pr_3.title,
- pr_3.PURCHASENUMBER,
- pr_3.protocolnumber,pr_3.id protocolid,
- pr_3.SIGNDATE,
- pr_3.PUBLISHDATE,
- pr_2.PROTOCOLDATE,
- row_number () over (partition by pr_3.TYPE, pr_3.PURCHASENUMBER,pr_3.protocolnumber,pr_3.id order by pr_3.PUBLISHDATE desc,pr_2.PROTOCOLDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE,id,
- row_number() over (partition by to_char(PURCHASENUMBER),TYPE order by PUBLISHDATE) rn
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('ProtocolOKOU3','rotocolOKOU1')
- )pr_3
- left join
- (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('ProtocolOKOU2''rotocolOKOU2')
- )pr_2 on pr_3.PURCHASENUMBER = pr_2.PURCHASENUMBER and pr_3.PUBLISHDATE>=pr_2.PROTOCOLDATE
- where pr_3.rn = 1
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_3 on canc_3.protocolnumber = pr_3.protocolnumber and canc_3.PURCHASENUMBER = pr_3.PURCHASENUMBER
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_2 on canc_2.protocolnumber = pr_2.protocolnumber and canc_2.PURCHASENUMBER = pr_2.PURCHASENUMBER
- --where canc_2.protocolnumber is null and canc_3.protocolnumber is null
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber
- union all --3
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --"0" flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr_3.TYPE,
- pr_3.title,
- pr_3.PURCHASENUMBER,
- pr_3.protocolnumber,
- pr_3.id protocolid,
- pr_3.PROTOCOLDATE,
- pr_3.PUBLISHDATE,
- pr_2.SIGNDATE,
- row_number () over (partition by pr_3.TYPE, pr_3.PURCHASENUMBER,pr_3.protocolnumber,pr_3.id order by pr_3.PUBLISHDATE desc,pr_2.SIGNDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,id,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('ProtocolZP','rotocolEZP1')
- )pr_3
- left join
- (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('ProtocolZPFinal','rotocolEZP2')
- )pr_2 on pr_3.PURCHASENUMBER = pr_2.PURCHASENUMBER and pr_3.PUBLISHDATE>=pr_2.SIGNDATE
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_3 on canc_3.protocolnumber = pr_3.protocolnumber and canc_3.PURCHASENUMBER = pr_3.PURCHASENUMBER
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_2 on canc_2.protocolnumber = pr_2.protocolnumber and canc_2.PURCHASENUMBER = pr_2.PURCHASENUMBER
- --where canc_2.protocolnumber is null and canc_3.protocolnumber is null
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber
- union all --4
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --"0" flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr_3.TYPE,
- pr_3.title,
- pr_3.PURCHASENUMBER,
- pr_3.protocolnumber,
- pr_3.PROTOCOLDATE,
- pr_3.PUBLISHDATE,pr_3.id protocolid,
- pr_2.PUBLISHDATE SIGNDATE, ---дата рассмотрения заявок на участие в ЭА
- row_number () over (partition by pr_3.TYPE, pr_3.PURCHASENUMBER,pr_3.protocolnumber,pr_3.id order by pr_3.PUBLISHDATE desc,pr_2.PUBLISHDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,id,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('ProtocolEFSinglePart')
- )pr_3
- left join
- (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('ProtocolEF1')
- )pr_2 on pr_3.PURCHASENUMBER = pr_2.PURCHASENUMBER and pr_3.PUBLISHDATE>=pr_2.SIGNDATE
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_3 on canc_3.protocolnumber = pr_3.protocolnumber and canc_3.PURCHASENUMBER = pr_3.PURCHASENUMBER
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_2 on canc_2.protocolnumber = pr_2.protocolnumber and canc_2.PURCHASENUMBER = pr_2.PURCHASENUMBER
- --where canc_2.protocolnumber is null and canc_3.protocolnumber is null
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber
- union all --5
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --null flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr_3.TYPE,
- pr_3.title,
- pr_3.PURCHASENUMBER,
- pr_3.protocolnumber,
- pr_3.PROTOCOLDATE,
- pr_3.PUBLISHDATE,pr_3.id protocolid,
- pr_2.PUBLISHDATE SIGNDATE, ---дата рассмотрения заявок на участие в ОКЭФ
- row_number () over (partition by pr_3.TYPE, pr_3.PURCHASENUMBER,pr_3.protocolnumber,pr_3.id order by pr_3.PUBLISHDATE desc,pr_2.PUBLISHDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,id,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('rotocolEOKSinglePart')
- )pr_3
- left join
- (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('rotocolEOK1')
- )pr_2 on pr_3.PURCHASENUMBER = pr_2.PURCHASENUMBER and pr_3.PUBLISHDATE>=pr_2.SIGNDATE
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_3 on canc_3.protocolnumber = pr_3.protocolnumber and canc_3.PURCHASENUMBER = pr_3.PURCHASENUMBER
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_2 on canc_2.protocolnumber = pr_2.protocolnumber and canc_2.PURCHASENUMBER = pr_2.PURCHASENUMBER
- --where canc_2.protocolnumber is null and canc_3.protocolnumber is null
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber
- union all --6
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --null flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr_3.TYPE,
- pr_3.title,
- pr_3.PURCHASENUMBER,
- pr_3.protocolnumber,
- pr_3.PROTOCOLDATE,pr_3.id protocolid,
- pr_3.PUBLISHDATE,
- pr_2.PUBLISHDATE SIGNDATE, ---дата рассмотрения заявок на участие в ОКЭФ с ограниченным участием
- row_number () over (partition by pr_3.TYPE, pr_3.PURCHASENUMBER,pr_3.protocolnumber,pr_3.id order by pr_3.PUBLISHDATE desc,pr_2.PUBLISHDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,id,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('rotocolEOKOUSinglePart')
- )pr_3
- left join
- (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('rotocolEOKOU1')
- )pr_2 on pr_3.PURCHASENUMBER = pr_2.PURCHASENUMBER and pr_3.PUBLISHDATE>=pr_2.SIGNDATE
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_3 on canc_3.protocolnumber = pr_3.protocolnumber and canc_3.PURCHASENUMBER = pr_3.PURCHASENUMBER
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_2 on canc_2.protocolnumber = pr_2.protocolnumber and canc_2.PURCHASENUMBER = pr_2.PURCHASENUMBER
- --where canc_2.protocolnumber is null and canc_3.protocolnumber is null
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber
- union all --7
- select distinct
- filtr.org_kgntv,
- filtr.org_name,
- filtr.PUBLISHDATE PUBLISHDATE_notice,
- p.TITLE protname,
- p.TYPE prottype,
- p.PROTOCOLDATE,
- p.SIGNDATE ,
- p.PUBLISHDATE,
- p.protocolid,
- p.PURCHASENUMBER,
- p.protocolnumber,
- --null flag_preg,
- case when pred_prot.purchasenumber is not null then 1 else 0 end flag_preg,
- filtr.scoringdate,
- filtr.enddate
- from (select reqnum,
- case when joflag = 0 then org_kgntv else org_kgntv_joflag end org_kgntv,
- case when joflag = 0 then org_name else joflag_org_name end org_name ,
- max(PUBLISHDATE)PUBLISHDATE,
- max(scoringdate) scoringdate,
- max(enddate) enddate
- from erc_19_start_notice
- where flag_st_hand is null
- group by reqnum, case when joflag = 0 then org_kgntv else org_kgntv_joflag end, case when joflag = 0 then org_name else joflag_org_name end
- ) filtr
- join (select pr_3.TYPE,
- pr_3.title,
- pr_3.PURCHASENUMBER,
- pr_3.protocolnumber,pr_3.id protocolid,
- pr_3.PROTOCOLDATE,
- pr_3.PUBLISHDATE,
- pr_2.PUBLISHDATE SIGNDATE, ---дата рассмотрения заявок на участие в ОКДЭФ (двухэтапный конкурс в электронной форме)
- row_number () over (partition by pr_3.TYPE, pr_3.PURCHASENUMBER,pr_3.protocolnumber,pr_3.id order by pr_3.PUBLISHDATE desc,pr_2.PUBLISHDATE desc)rn
- from (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,id,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('rotocolEOKDSinglePart')
- )pr_3
- left join
- (select distinct TYPE,
- title,
- to_char(PURCHASENUMBER)PURCHASENUMBER,
- protocolnumber,
- SIGNDATE,
- PUBLISHDATE,
- PROTOCOLDATE
- from DWH_PROTOCOL_nrpz
- where PUBLISHDATE < to_date('01.01.2020', 'dd.MM.YYYY') and pUBLISHDATE >= to_date('23.11.2018', 'dd.MM.YYYY') and TYPE in ('rotocolEOKD1')
- )pr_2 on pr_3.PURCHASENUMBER = pr_2.PURCHASENUMBER and pr_3.PUBLISHDATE>=pr_2.SIGNDATE
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_3 on canc_3.protocolnumber = pr_3.protocolnumber and canc_3.PURCHASENUMBER = pr_3.PURCHASENUMBER
- --left join (select distinct protocolnumber, PURCHASENUMBER from DWH_PROTOCOL where type in ('ProtocolCancel')) canc_2 on canc_2.protocolnumber = pr_2.protocolnumber and canc_2.PURCHASENUMBER = pr_2.PURCHASENUMBER
- --where canc_2.protocolnumber is null and canc_3.protocolnumber is null
- )p on filtr.reqnum = p.PURCHASENUMBER and rn = 1
- left join (select distinct purchasenumber, protocolnumber from erc_19_protocol_194)pred_prot on pred_prot.purchasenumber = p.purchasenumber and pred_prot.protocolnumber = p.protocolnumber;
- --
- drop table erc_19_protocol_prim;
- create table erc_19_protocol_prim as
- select * from erc_19_protocol;
- drop table erc_19_protocol;
- create table erc_19_protocol as
- select distinct pp.ORG_KGNTV,
- pp.ORG_NAME,
- pp.PUBLISHDATE_NOTICE,
- pp.PROTNAME,
- pp.PROTTYPE,
- case when pp.PROTTYPE like 'Protocol%' then pp.PUBLISHDATE else pp.PROTOCOLDATE end PROTOCOLDATE,
- pp.SIGNDATE,
- case when pp.PROTTYPE like 'Protocol%' then pp.PROTOCOLDATE else pp.PUBLISHDATE end PUBLISHDATE,
- pp.PURCHASENUMBER,
- pp.PROTOCOLNUMBER ,
- pp.flag_preg,
- pp.scoringdate,
- pp.enddate,
- pp.protocolid
- from erc_19_protocol_prim pp;
- drop table erc_19_protocol_prim;
- create table erc_19_protocol_prim as
- select * from erc_19_protocol;
- drop table erc_19_protocol;
- create table erc_19_protocol as
- select distinct pp.ORG_KGNTV,
- pp.ORG_NAME,
- pp.PUBLISHDATE_NOTICE,
- pp.PROTNAME,
- pp.PROTTYPE,
- pp.PROTOCOLDATE,
- pp.SIGNDATE,
- case when pc.reqnum is not null then pc.PUBLISHDATE else pp.PUBLISHDATE end PUBLISHDATE,
- pp.PURCHASENUMBER,
- pp.PROTOCOLNUMBER ,
- pp.flag_preg,
- pp.scoringdate,
- pp.enddate,
- pp.protocolid
- from erc_19_protocol_prim pp
- left join erc_19_protocol_ch pc on pp.protocolid = pc.reqnum and pp.prottype = pc.type;
- drop table erc_19_protocol_prim;
- create table erc_19_protocol_prim as
- select * from erc_19_protocol;
- drop table erc_19_protocol;
- create table erc_19_protocol as
- select distinct pp.ORG_KGNTV,
- pp.ORG_NAME,
- pp.PUBLISHDATE_NOTICE,
- pp.PROTNAME,
- pp.PROTTYPE,
- case when pc.reqnum is not null then pc.PROTOCOLDATE else pp.PROTOCOLDATE end PROTOCOLDATE,
- pp.SIGNDATE,
- pp.PUBLISHDATE,
- pp.PURCHASENUMBER,
- pp.PROTOCOLNUMBER ,
- pp.flag_preg,
- pp.scoringdate,
- pp.enddate,
- pp.protocolid
- from erc_19_protocol_prim pp
- left join erc_19_protocol_hc pc on pp.protocolid = pc.reqnum and pp.prottype = pc.type
- --13 шаг генерации рейтинга эффективности
- --ERC_19_PROTOCOL
- --14 шаг генерации рейтинга эффективности
- --ERC_19_F13
- --drop table erc_19_f13;
- create table erc_19_f13 as select * from erc_19_f13_view;
- drop table erc_19_f15;
- create table erc_19_f15 as select * from erc_19_f15_view;
- --14 шаг генерации рейтинга эффективности
- --ERC_19_F13
- --15 шаг генерации рейтинга эффективности
- --ERC_19_RESULT
- --drop table erc_19_result;
- create table erc_19_result as
- select eo.orgtitle fgrbsname, eo.ORGID_KGNTV grbsid,eo.ISREGADM,
- sum(f1.n1) f1n1, sum(f1.n2) f1n2,
- sum(f2.n1) f2n1, sum(f2.n2) f2n2,
- sum(f3.n1) f3n1, sum(f3.n2) f3n2,
- sum(f4.n1) f4n1, sum(f4.n2) f4n2,
- sum(f5.n1) f5n1, sum(f5.n2) f5n2,
- sum(f6.n1) f6n1, sum(f6.n2) f6n2,
- sum(f7.n1) f7n1, sum(f7.n2) f7n2,
- sum(f8.n1) f8n1, sum(f8.n2) f8n2,
- sum(f9.n1) f9n1, sum(f9.n2) f9n2,
- sum(f10.n1) f10n1, sum(f10.n2) f10n2,
- sum(f11.n1) f11n1, sum(f11.n2) f11n2,
- sum(f12.n1) f12n1, sum(f12.n2) f12n2,
- sum(f13.n1) f13n1, sum(f13.n2) f13n2,
- sum(f14.n1) f14n1, sum(f14.n2) f14n2,
- sum(f15.n1) f15n1, sum(f15.n2) f15n2,
- sum(f16.n1) f16n1, sum(f16.n2) f16n2,
- sum(f17.n1) f17n1, sum(f17.n2) f17n2,
- sum(f18.n1) f18n1, sum(f18.n2) f18n2,
- sum(f19.n1) f19n1, sum(f19.n2) f19n2
- from erc_dwh_organization_kgntv dok
- inner join erc_dwh_organization_kgntv dokgrbs on dokgrbs.id = dok.parentid and dokgrbs.id <> 3039
- inner join ERC_ORGANIZATION eo on eo.spz = dokgrbs.spz
- left join ERC_19_f1 f1 on f1.org = to_char(dok.id)
- left join ERC_19_f2 f2 on f2.org = to_char(dok.id)
- left join ERC_19_f3 f3 on f3.org = to_char(dok.id)
- left join ERC_19_f4 f4 on f4.org = to_char(dok.id)
- left join ERC_19_f5 f5 on f5.org = to_char(dok.id)
- left join ERC_19_f6 f6 on f6.org = to_char(dok.id)
- left join ERC_19_f7 f7 on f7.org = to_char(dok.id)
- left join ERC_19_f8 f8 on f8.org = to_char(dok.id)
- left join ERC_19_f9 f9 on f9.org = to_char(dok.id)
- left join ERC_19_f10 f10 on f10.org = to_char(dok.id)
- left join ERC_19_f11 f11 on f11.org = to_char(dok.id)
- left join ERC_19_f12 f12 on f12.org = to_char(dok.id)
- left join ERC_19_f13 f13 on f13.org = to_char(dok.id)
- left join ERC_19_f14 f14 on f14.org = to_char(dok.id)
- left join ERC_19_f15 f15 on f15.org = to_char(dok.id)
- left join ERC_19_f16 f16 on f16.org = to_char(dok.id)
- left join ERC_19_f17 f17 on f17.org = to_char(dok.id)
- left join ERC_19_f18 f18 on f18.org = to_char(dok.id)
- left join ERC_19_f19 f19 on f19.org = to_char(dok.id)
- group by eo.ORGID_KGNTV, eo.orgtitle ,eo.ISREGADM
- order by eo.ISREGADM desc, eo.orgtitle;
- --yne zabudi zdelati!!!!!!!!!
- drop table erc_19_result_org;
- create table erc_19_result_org as
- select eo.orgtitle fgrbsname, eo.ORGID_KGNTV grbsid,eo.ISREGADM,
- dok.full_name org_name,dok.id org_id, case when dok.parentid = dok.id then 1 else 0 end grbs_flag,
- sum(f1.n1) f1n1, sum(f1.n2) f1n2,
- sum(f2.n1) f2n1, sum(f2.n2) f2n2,
- sum(f3.n1) f3n1, sum(f3.n2) f3n2,
- sum(f4.n1) f4n1, sum(f4.n2) f4n2,
- sum(f5.n1) f5n1, sum(f5.n2) f5n2,
- sum(f6.n1) f6n1, sum(f6.n2) f6n2,
- sum(f7.n1) f7n1, sum(f7.n2) f7n2,
- sum(f8.n1) f8n1, sum(f8.n2) f8n2,
- sum(f9.n1) f9n1, sum(f9.n2) f9n2,
- sum(f10.n1) f10n1, sum(f10.n2) f10n2,
- sum(f11.n1) f11n1, sum(f11.n2) f11n2,
- sum(f12.n1) f12n1, sum(f12.n2) f12n2,
- sum(f13.n1) f13n1, sum(f13.n2) f13n2,
- sum(f14.n1) f14n1, sum(f14.n2) f14n2,
- sum(f15.n1) f15n1, sum(f15.n2) f15n2,
- sum(f16.n1) f16n1, sum(f16.n2) f16n2,
- sum(f17.n1) f17n1, sum(f17.n2) f17n2
- from erc_dwh_organization_kgntv dok
- inner join erc_dwh_organization_kgntv dokgrbs on dokgrbs.id = dok.parentid
- inner join ERC_ORGANIZATION eo on eo.spz = dokgrbs.spz
- left join ERC_19_f1 f1 on f1.org = to_char(dok.id)
- left join ERC_19_f2 f2 on f2.org = to_char(dok.id)
- left join ERC_19_f3 f3 on f3.org = to_char(dok.id)
- left join ERC_19_f4 f4 on f4.org = to_char(dok.id)
- left join ERC_19_f5 f5 on f5.org = to_char(dok.id)
- left join ERC_19_f6 f6 on f6.org = to_char(dok.id)
- left join ERC_19_f7 f7 on f7.org = to_char(dok.id)
- left join ERC_19_f8 f8 on f8.org = to_char(dok.id)
- left join ERC_19_f9 f9 on f9.org = to_char(dok.id)
- left join ERC_19_f10 f10 on f10.org = to_char(dok.id)
- left join ERC_19_f11 f11 on f11.org = to_char(dok.id)
- left join ERC_19_f12 f12 on f12.org = to_char(dok.id)
- left join ERC_19_f13 f13 on f13.org = to_char(dok.id)
- left join ERC_19_f14 f14 on f14.org = to_char(dok.id)
- left join ERC_19_f15 f15 on f15.org = to_char(dok.id)
- left join ERC_19_f16 f16 on f16.org = to_char(dok.id)
- left join ERC_19_f17 f17 on f17.org = to_char(dok.id)
- group by eo.ORGID_KGNTV, eo.orgtitle ,eo.ISREGADM , dok.full_name ,case when dok.parentid = dok.id then 1 else 0 end,dok.id
- order by eo.ISREGADM desc, eo.orgtitle,dok.full_name;
- --15 шаг генерации рейтинга эффективности
- --ERC_19_RESULT
- --16 шаг генерации рейтинга эффективности
- --ERC_19_DATA_LIST
- --drop table erc_19_data_list;
- create table erc_19_data_list as
- select eo.orgtitle grbstitle, --ГРБС
- rl.ORG_NAME, --Заказчик
- rl.ORG_KGNTV, --Заказчик ID
- rl.PLANNUMBER, --Реестровый номер ПГ
- rl.VERSIONNUMBER, --Версия ПГ
- rl.PUBLISHDATE, --Дата публикации ПГ
- rl.POSITIONNUMBER, --Реестровый номер позиции ПГ
- rl.IKZ, --ИКЗ из ПГ
- rl.IKZ_PP,--ИКЗ из ПЗ
- rl.PLAN_PLACEMENT_DATE, --Плановая дата размещения ПГ
- rl.PLAN_EXECUTION_DATE, --Плановая дата исполнения ПГ
- rl.OBJECT_NAME,--объект закупки ПГ
- rl.SOP_NAME, --Способ определения поставщика в ПГ
- rl.NMC_SCHEDULE, --НМЦ ПГ
- rl.PURCHASECANCELED, --позиция отменена в ПГ
- --rl.FLAG_COMP, --Конкурентный СОП в ПГ
- rl.CNT_MODIF_PG, --Число изменений позиции в ПГ
- rl.REQNUM, --Реестровый номер извещения
- rl.PUBLISHDATE_REQNUM,--Дата публикации извещения
- rl.SOP_NAME_REQNUM,--Способ определения поставщика в извещении
- rl.JOFLAG_ORG_NAME, --Организатор совместной закупки
- rl.JOFLAG, --Часть совместной закупки
- --rl.STARTDATE,
- --rl.ENDDATE,
- rl.NMC_REQNUM, --НМЦ в извещении
- rl.NMC_JOFLAG, --НМЦ совместной закупки
- --rl.BIDDINGDATE,
- --rl.OPENINGDATE,
- --rl.SCORINGDATE,
- --rl.PREQUALIFICATION,
- rl.LOTNUMBER, --Номер лота
- --rl.POSITIONNUMBER_REQNUM,
- rl.FLAG_COMP_REQNUM, --Конкурентный СОП
- --rl.IKZ_REQNUM,
- --rl.PLANNUMBER_REQNUM,
- rl.OBJECT_NAME_REQNUM, --Объект закупки в извещении
- rl.CNT_MODIF_REQNUM, --Число изменений извещения
- rl.RNK, --Реестровый номер контракта
- --rl.RNK_NUMBER,
- --rl.IKZ_CON,
- rl.SIGNDATE, --Дата подписания контракта
- rl.PUBLISHDATE_CON, --Дата публикации контракта
- --rl.PUBLISHDATE_CON_LAST,
- --rl.VERSIONNUMBER_CON,
- --rl.VERSIONNUMBER_CON_LAST,
- --rl.REQNUM_CON,
- --rl.LOTNUMBER_CON,
- rl.SOP_NAME_CON, --Способ определения поставщика в контракте
- rl.ONEEX_CON, --Обоснование у ед.поставщика
- rl.PROTOCOLDATE_CON, --Дата протокола основания
- rl.CK_FIRST, --Цена контракта
- rl.CK_LAST, --Цена контракта на отчетную дату
- rl.STAGE_CON, --Состояние контракта
- rl.PLAN_EXECUTION_DATE_CON, --Плановая дата исполнения контракта из контракта
- rl.EXECUTIONS_DATE, --Дата исполнения
- rl.REJECTED_DATE,--Дата растордения
- --rl.REJECTED_PAID,
- --rl.REJECTED_REASON,
- --rl.REJECTED_REASON_NAME,
- --rl.PENALTIES_TYPE,
- --rl.PENALTIES_PARTY,
- --rl.PENALTIES_AMOUNT,
- rl.PENALTIES_PARTY, --Штраф наличие
- --rl.SUPPLIER_TYPE,
- rl.SUPPLIER_FULLNAME, --Поставщик
- rl.SUPPLIER_INN, --Поставщик ИНН
- --rl.SUPPLIER_KPP,
- rl.OBJECT_NAME_CON, --Объект закупки в контракте
- --rl.ORG_NAME_CON,
- --rl.ORG_INN_CON,
- --rl.ORG_SPZ_CON,
- --rl.ORG_KGNTV_CONTRACT,
- rl.PROTOCOLDATE_PUBL,
- rl.PROTOCOLDATE_SIGN,
- rl.PROTOCOLDATE_ONE_PUBL,
- rl.PROTOCOLDATE_ONE_SIGN,
- rl.FIRSTNOTICESUCCESDATE,
- case when rl.purchasenumber_rn = 1 then 1 else 0 end purchasenumber_rn,
- ais.lotuuid, ais.requestid,
- --rl.FLAG_16, --Флаг СОП на 16 показатель
- rl.CNT_MODIF_CON, --Число изменений по контракту
- rl.flag_evasion,
- case when rl.flag_comp_reqnum = 1 and rl.purchasenumber_rn = 1 then rl.nmc_reqnum else 0 end f1n1,
- case when nvl(rl.flag_comp_reqnum, rl.flag_comp) = 1 and (rl.flag_comp_reqnum = 1 or rl.purchasecanceled is null) and (rl.purchasenumber_rn = 1 or rl.purchasenumber_rn is null) then nvl(rl.nmc_reqnum, rl.nmc_schedule) else 0 end f1n2,
- case when rl.flag_comp = 1 then rl.cnt_modif_pg else 0 end f2n1,
- case when rl.flag_comp = 1 then 1 else 0 end f2n2,
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null then 1 else 0 end f3n1,
- case when rl.rnk is not null and co.rnk is null then 1 else 0 end f3n2,
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null and (lower(rl.sop_name_reqnum) like '%аукцион%' or lower(rl.sop_name_reqnum) like '%конкурс%') then ck_first else 0 end f5n1,
- case when rl.flag_comp_reqnum = 1
- and (lower(rl.sop_name_reqnum) like '%аукцион%' or lower(rl.sop_name_reqnum) like '%конкурс%' or lower(rl.sop_name_reqnum) like '%котировок в электронной%')
- and (rl.flag_st_hand is null or rl.cnt_modif_reqnum = 0) then 1 else 0 end f9n2,
- case when rl.flag_comp_reqnum = 1 then 1 else 0 end f10n2, /*не учитывается*/
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null and oneex_con is not null then 1 else 0 end f11n1,
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null then 1 else 0 end f11n2,
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null then rl.nmc_reqnum else 0 end f14n1,
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null then ck_first else 0 end f14n2,
- ---------------------------------------------------------------------------------------------------
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null and
- case when rl.protocoldate_publ is null and rl.protocoldate_sign is null and rl.protocoldate_one_publ is null and rl.protocoldate_one_SIGN is null then 0
- --добавить обработку протокола ProtocolEvasion как в тестовом рейтинге 16 года
- when (rl.sop_name_reqnum like '%лектронный аукцион%' or
- rl.sop_name_reqnum like '%Открытый конкурс%' or
- rl.sop_name_reqnum like '%Конкурс с ограниченным участием%' or
- rl.sop_name_reqnum like '%Двухэтапный конкурс%' )
- and (trunc( rl.SIGNDATE) - trunc(rl.protocoldate_publ) >= 10 )
- and
- trunc(rl.SIGNDATE) <=
- (
- Select min(t.date_)--, min(t1.date_)
- From work_days_of_2019 t Inner Join work_days_of_2019 t1 On (t.date_>t1.date_ And t.nm=t1.nm+9)
- Where t1.date_>= (select min(date_) + interval '5' day
- from work_days_all
- where DATE_ >= (trunc(rl.protocoldate_publ) + interval '5' day) and type=1)
- )
- then 0
- when (rl.sop_name_reqnum like 'Запрос котировок в электронной форме%' or
- rl.sop_name_reqnum like 'Запрос предложений в электронной форме%')
- and (trunc( rl.SIGNDATE) - trunc(rl.protocoldate_publ) >= 7 )
- and
- trunc(rl.SIGNDATE) <=
- (
- Select min(t.date_)--, min(t1.date_)
- From work_days_of_2019 t Inner Join work_days_of_2019 t1 On (t.date_>t1.date_ And t.nm=t1.nm+9)
- Where t1.date_>= (select min(date_) + interval '5' day
- from work_days_all
- where DATE_ >= (trunc(rl.protocoldate_publ) + interval '5' day) and type=1)
- )
- then 0
- else 1 end = 1
- then 1 else 0 end f15n1,
- ------------------------------
- case when rl.flag_comp_reqnum = 1 and rl.rnk is not null and rl.flag_evasion = 0 then 1 else 0 end f15n2,
- case when ( select sum ( days.type )
- from work_days_all days
- where days.date_ > trunc(rl.SIGNDATE)
- and days.date_ < trunc(rl.FIRSTNOTICEsuccesDATE) ) >= 3
- and ( rl.flag_16 = 1)
- and rl.rnk is not null
- and trunc(rl.SIGNDATE)<'27.06.2018'
- or
- ( select sum ( days.type )
- from work_days_all days
- where days.date_ > trunc(rl.SIGNDATE)
- and days.date_ < trunc(rl.FIRSTNOTICEsuccesDATE) ) >= 5
- and ( rl.flag_16 = 1)
- and rl.rnk is not null
- and trunc(rl.SIGNDATE)>='27.06.2018'
- then 1 else 0 end f16n1,
- case when ( rl.flag_16 = 1) and rl.rnk is not null then 1 else 0 end f16n2 ,
- rl.type_
- from erc_19_list_contract rl
- join erc_dwh_organization_kgntv dok
- on to_char(dok.id) = rl.org_kgntv
- join erc_dwh_organization_kgntv dokgrbs
- on dokgrbs.id = dok.parentid
- join ERC_ORGANIZATION eo
- on eo.spz = dokgrbs.spz
- left join erc_19_contract_oneex co on co.rnk = rl.rnk
- left join
- (select ikz,
- listagg(lotuuid, '; ') within group (order by ikz) lotuuid,
- listagg(requestid, '; ') within group (order by ikz) requestid
- from
- (select ikz,lotuuid,requestid, row_number () over (partition by ikz order by 1) rn
- from (select distinct ikz,lotuuid,requestid from erc_dwh_procedures_kgntv_194_6 where ikz is not null) p
- )
- where rn < 100
- group by ikz
- )ais on ais.ikz = rl.IKZ
- where rl.SOP_NAME <> 'Запрос котировок'
- ;
- --16 шаг генерации рейтинга эффективности
- --16 шаг генерации рейтинга эффективности
- --ERC_19_DATA_LIST
- --17 шаг генерации рейтинга эффективности
- --ERC_19_DATA_CONTRACT_19
- --drop table erc_19_data_contract_19;
- create table erc_19_data_contract_19 as
- select
- eo.orgtitle grbstitle,
- sc.org_kgntv,
- org_name,
- sc.rnk,
- plan_execution_date_con,
- executions_date,
- rejected_date,
- penalties_party,
- ck_first,
- flag_comp_reqnum flag_3_n1,
- /*case when trunc ( sc.plan_execution_date_con ) < to_date('01-04-2018','DD-MM-YYYY')
- and( case
- when sc.executions_date is not null and trunc ( sc.executions_date ) > trunc ( sc.work_days ) --and trunc ( sc.executions_date ) < to_date('01-01-2018','DD-MM-YYYY')
- then 1
- when sc.executions_date is null and trunc (sc.work_days) < trunc ( sc.rejected_date ) --and trunc ( sc.rejected_date ) < to_date('01-01-2018','DD-MM-YYYY')
- then 1
- when sc.executions_date is null and sc.rejected_date is null and nvl(pay_.pay_,-100)<sc.ck_last
- then 1
- else 0 end = 1
- )
- and (nvl(penalties_party,' ')<>'Поставщик') then 1 else 0 end*/
- case when trunc ( sc.plan_execution_date_con /*work_days*/ ) < to_date('01-01-2020','DD-MM-YYYY')
- and (nvl(penalties_party,' ')<>'Поставщик')
- and( case
- when sc.executions_date is not null and trunc ( sc.executions_date ) > trunc ( sc.work_days )
- /*and (nvl(penalties_party,' ')<>'Поставщик')*/ and nvl(pay_.pay_,-100)<sc.ck_last--and trunc ( sc.executions_date ) < to_date('01-01-2018','DD-MM-YYYY')
- then 1
- when sc.executions_date is null and trunc (sc.work_days) < trunc ( sc.rejected_date ) --and trunc ( sc.rejected_date ) < to_date('01-01-2018','DD-MM-YYYY')
- then 1
- when sc.executions_date is null and sc.rejected_date is null and nvl(pay_.pay_,-100)<sc.ck_last
- then 1
- else 0 end = 1
- ) then 1 else 0 end flag_n1,
- case when trunc ( sc.plan_execution_date_con ) < to_date('01-01-2020','DD-MM-YYYY') then 1 else 0 end flag_n2,
- case when co.rnk is not null then 1 else 0 end flag_oneex,ck_last,pay_.pay_,pay_.execdocdate, sc.type_,
- sc.oneex_con, sc.object_name,sc.sop_name,
- ais.lotuuid, ais.requestid, ais.contractnoticenumber,
- sc.signdate,
- sc.work_days
- from
- (select rejected_date, executions_date,plan_execution_date_con, rnk , org_kgntv, penalties_party, org_name, ck_first,nvl(flag_comp_reqnum,0) flag_comp_reqnum,ck_last,type_,oneex_con, object_name,sop_name,signdate,
- nvl(w.work_days,c.plan_execution_date_con) work_days
- from erc_19_list_contract c
- left join erc_work_days w on w.date_ = c.plan_execution_date_con
- union all
- select rejected_date, executions_date,EXECUTIONPERIOD_END, rnk ,to_number( ORG_KGNTV)ORG_KGNTV, penalties_party, c.org_name, price,0, price_cur, 'aaa', singlecustomer_name, object_name,placingway_name, signdate,
- nvl(w.work_days,c.EXECUTIONPERIOD_END) work_days
- from erc_19_contract_kg c
- left join erc_work_days w on w.date_ = c.EXECUTIONPERIOD_END
- ) sc
- join erc_dwh_organization_kgntv dok
- on to_char(dok.id) = sc.org_kgntv
- join erc_dwh_organization_kgntv dokgrbs
- on dokgrbs.id = dok.parentid
- join ERC_ORGANIZATION eo
- on eo.spz = dokgrbs.spz
- left join erc_19_contract_oneex co on co.rnk = sc.rnk
- left join
- (select p.rnk,
- sum(p.sum_) pay_,
- max(p.execdocdate) execdocdate
- from
- (select case when substr(p.rnk,1,6) = '000000' then substr(p.rnk,7) else p.rnk end rnk, p.sum_, p.execdocdate from dwh_payments p) p
- join
- (select c.rnk , nvl(w.work_days,c.plan_execution_date_con) work_days from erc_19_list_contract c left join erc_work_days w on w.date_ = c.plan_execution_date_con
- union all
- select c.rnk ,nvl(w.work_days,c.EXECUTIONPERIOD_END) work_days from erc_19_contract_kg c left join erc_work_days w on w.date_ = c.EXECUTIONPERIOD_END
- )c on c.rnk = p.rnk
- where trunc(p.execdocdate)<= c.work_days --to_date('01012018','DDMMYYYY')
- group by p.rnk
- )pay_ on pay_.rnk = sc.rnk
- left join
- (select contractrnk,
- listagg(lotid, '; ') within group (order by contractrnk) lotuuid,
- listagg(requestid, '; ') within group (order by contractrnk) requestid,
- listagg(contractnoticenumber, '; ') within group (order by contractrnk) contractnoticenumber
- from
- (select contractrnk,lotid,requestid, contractnoticenumber,row_number () over (partition by contractrnk order by 1) rn
- from (select distinct contractrnk,lotid,requestid,contractnoticenumber from erc_dwh_contract_kgntv_194_6 where contractrnk is not null) p
- )
- where rn < 100
- group by contractrnk
- )ais on ais.contractrnk = sc.rnk
- where sc.rnk is not null
- and sc.sop_name <> 'Запрос котировок';
- 0172200004719000006
- 0372200173419000001
- --17 шаг генерации рейтинга эффективности
- --ERC_19_DATA_CONTRACT_19
- ---изменние 19.11.2019
- --18 шаг генерации рейтинга эффективности
- --ERC_19_DATA_DEMAND
- --drop table erc_19_data_demand;
- create table erc_19_data_demand as
- select srl.org_kgntv,
- eo.orgtitle grbstitle,
- srl.REQNUM,
- srl.publishdate_reqnum,
- sd.max_PUBL,
- sd.min_PUBL,
- sd.cnt_all,
- sd.cnt_adm,
- sd.flag_protocol,
- srl.sop_name_reqnum,
- ais.lotuuid, ais.requestid
- from (select REQNUM, max(publishdate_reqnum) publishdate_reqnum, sop_name_reqnum,joflag,
- Case when joflag = 1 and org_kgntv_joflag <> 1412 then org_kgntv_joflag
- -- when joflag = 1 and org_kgntv_joflag = 1412 then grbsid
- else org_kgntv end org_kgntv
- from erc_19_list_contract
- where flag_comp_reqnum = 1 AND sop_code_reqnum<>'EAB44'
- group by REQNUM, sop_name_reqnum, joflag,
- Case when joflag = 1 and org_kgntv_joflag <> 1412 then org_kgntv_joflag
- --when joflag = 1 and org_kgntv_joflag = 1412 then grbsid
- else org_kgntv END
- )srl
- join erc_19_demand sd on srl.REQNUM = sd.purchasenumber And sd.flag_protocol in ('2','3','0','4','1') and sd.prolonflag is null
- join erc_dwh_organization_kgntv dok on to_char(dok.id) = srl.org_kgntv
- join erc_dwh_organization_kgntv dokgrbs on dokgrbs.id = dok.parentid
- join ERC_ORGANIZATION eo on eo.spz = dokgrbs.spz
- left join
- (select reqnum,
- listagg(lotuuid, '; ') within group (order by reqnum) lotuuid,
- listagg(requestid, '; ') within group (order by reqnum) requestid
- from
- (select reqnum,lotuuid,requestid, row_number () over (partition by reqnum order by 1) rn
- from (select distinct reqnum,lotuuid,requestid from erc_dwh_procedures_kgntv_194_6 where reqnum is not null) p
- )
- where rn < 100
- group by reqnum
- )ais on ais.reqnum = srl.REQNUM
- UNION ALL
- select srl.org_kgntv,
- eo.orgtitle grbstitle,
- srl.REQNUM,
- srl.publishdate_reqnum,
- sd.max_PUBL,
- sd.min_PUBL,
- sd.cnt_all,
- sd.cnt_adm,
- sd.flag_protocol,
- srl.sop_name_reqnum,
- ais.lotuuid, ais.requestid
- from (select REQNUM, max(publishdate_reqnum) publishdate_reqnum, sop_name_reqnum,joflag,
- Case when joflag = 1 and org_kgntv_joflag <> 1412 then org_kgntv_joflag
- -- when joflag = 1 and org_kgntv_joflag = 1412 then grbsid
- else org_kgntv end org_kgntv
- from erc_19_list_contract
- where flag_comp_reqnum = 1 AND sop_code_reqnum='EAB44'
- group by REQNUM, sop_name_reqnum, joflag,
- Case when joflag = 1 and org_kgntv_joflag <> 1412 then org_kgntv_joflag
- -- when joflag = 1 and org_kgntv_joflag = 1412 then grbsid
- else org_kgntv END
- )srl
- join erc_19_demand sd on srl.REQNUM = sd.purchasenumber And sd.flag_protocol in ('5','4','0','6') and sd.prolonflag is null
- join erc_dwh_organization_kgntv dok on to_char(dok.id) = srl.org_kgntv
- join erc_dwh_organization_kgntv dokgrbs on dokgrbs.id = dok.parentid
- join ERC_ORGANIZATION eo on eo.spz = dokgrbs.spz
- left join
- (select reqnum,
- listagg(lotuuid, '; ') within group (order by reqnum) lotuuid,
- listagg(requestid, '; ') within group (order by reqnum) requestid
- from
- (select reqnum,lotuuid,requestid, row_number () over (partition by reqnum order by 1) rn
- from (select distinct reqnum,lotuuid,requestid from erc_dwh_procedures_kgntv_194_6 where reqnum is not null) p
- )
- where rn < 100
- group by reqnum
- )ais on ais.reqnum = srl.REQNUM
- ;
- --18 шаг генерации рейтинга эффективности
- --ERC_19_DATA_DEMAND
- erc_19_protocol
- --19 шаг генерации рейтинга эффективности
- --ERC_19_DATA_PROTOCOL
- --drop table erc_19_data_protocol;
- create table erc_19_data_protocol as
- select pp.org_kgntv,
- pp.org_name,
- pp.publishdate_notice,
- eo.orgtitle grbstitle,
- pp.PURCHASENUMBER,
- pp.protname protocolname,
- pp.protocolnumber,
- case
- when
- pp.prottype in ('ProtocolEF1','ProtocolEFSinglePart','ProtocolEFSinglePart','ProtocolEF1') then pp.PUBLISHDATE else pp.PROTOCOLDATE end PROTOCOLDATE,--дата публикации на EIS,
- case
- when pp.prottype = 'ProtocolEFSinglePart' then prz.SIGNDATE else pp.SIGNDATE end SIGNDATE,
- case
- when
- pp.prottype in ('ProtocolEF1','ProtocolEFSinglePart') then pp.PUBLISHDATE else null end ProtocolEFSinglePart_Date,
- case
- when
- pp.prottype in ('ProtocolEF1','ProtocolEFSinglePart','ProtocolEFSinglePart','ProtocolEF1') then pp.PROTOCOLDATE else pp.PUBLISHDATE end PUBLISHDATE,--дата публикации на ЭТП
- case
- when pp.prottype not in ('ProtocolZPFinal','ProtocolOK1','ProtocolOKOU1','ProtocolOKD4',
- 'ProtocolOKD1',/*'ProtocolZPExtract',*/'ProtocolOKD3','ProtocolEF3',
- 'ProtocolOKOU2','ProtocolOKSingleApp','ProtocolOKDSingleApp',
- 'ProtocolOKOUSingleApp','ProtocolEF1','ProtocolZK','ProtocolOK2','ProtocolOKOU3','ProtocolZP',
- 'ProtocolOKD5','ProtocolZKAfterProlong','ProtocolEFSingleApp'/*,'ProtocolEFSinglePart'*/,
- 'rotocolEOK1','rotocolEOK2','rotocolEOK3','rotocolEOKOU1','rotocolEOKOU2','rotocolEOKOU3',
- 'rotocolEOKD1','rotocolEOKD2','rotocolEOKD3','rotocolEOKSingleAppType','rotocolEOKOUSingleAppType','rotocolEZP2','rotocolEOKD4',
- 'rotocolEOKDSingleAppType','rotocolEZK1','rotocolEZK2','rotocolEZP1Extract','rotocolEOKSingleAppType','rotocolEOKD4Type') then 0
- when pp.publishdate is null
- or pp.signdate is null and pp.prottype not in ('ProtocolOKOU2','ProtocolOKOU3','ProtocolZPExtract','rotocolEOKOU2','rotocolEOKOU3','rotocolEZP1Extract','rotocolEOK3','ProtocolEF3','rotocolEZK2')
- or pp.PROTOCOLDATE is null and pp.prottype in ('ProtocolOKOU2','ProtocolOKOU3','ProtocolZPExtract','rotocolEOKOU2','rotocolEOKOU3','rotocolEZP1Extract','rotocolEOK3','ProtocolEF3','rotocolEZK2') then 0
- -- две строки выше - это условие по ряду итоговых протоколов и выписке в случае наличия первых частей протоколов и отсутствия последних
- when pp.prottype in ( 'ProtocolEF1') and
- (( trunc ( pp.PROTOCOLDATE ) - trunc ( pp.scoringdate ) < 1 ) or
- --( trunc ( pp.publishdate ) - trunc ( pp.scoringdate ) < 1 )
- nvl((
- select sum ( days.type ) sss--,'1' as code
- from work_days_all days
- where days.date_ BETWEEN Trunc(pp.scoringdate) and Trunc(pp.publishdate)- INTERVAL '1' DAY
- )
- ,0 ) =0 )
- then 0
- when pp.prottype in ('ProtocolEFSinglePart') --+
- and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ > trunc (pp.signdate) ),0) <= 3 then 0
- when pp.prottype in ( 'ProtocolEFSingleApp','rotocolEOKSingleApp','rotocolEOKOUSingleApp' )--+
- and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ > trunc (pp.enddate)),0 ) <= 4 then 0
- when pp.prottype in ( 'ProtocolOK2', 'ProtocolOKSingleApp','ProtocolOKOU1', 'ProtocolOKOUSingleApp', 'ProtocolOK1',
- /**/ 'ProtocolOKD4','ProtocolOKDSingleApp','rotocolEOKDSingleApp','ProtocolOKD1','ProtocolOKD3','rotocolEOKD3','ProtocolOKD5') --+
- and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ > trunc (pp.signdate) ),0) <= 1 then 0
- when pp.prottype in ('ProtocolEF3') --+
- and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ > trunc (pp.signdate) ),0) <= 1 then 0
- when pp.prottype in ( 'ProtocolOKOU2','rotocolEOKOU2','rotocolEOK2' ) --+--не позднее даты окончания подписания заявок ОКЭФ, ОКОУЭФ
- and
- ( pp.publishdate ) <= trunc (pp.scoringdate) then 0
- when pp.prottype in ( 'ProtocolOKOU3','rotocolEOKOU3','rotocolEOK3','rotocolEOKD4','rotocolEZP1','rotocolEZP2')--протокол подведения итогов по ( открытый конкурс в ЭФ, ОКОУ в ЭФ и ОКДЭФ) и ЗП в ЭФ
- and ( pp.publishdate ) = trunc (pp.signdate)
- and ( trunc ( pp.publishdate ) < nvl(w.work_days,interval '10' day + trunc ( pp.protocoldate ))) then 0 --+
- when pp.prottype in ('rotocolEOKD1') --+-протокол первого этапа двухэтапного конкурса в ЭФ
- and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ > trunc (pp.signdate) ),0) <= 1 then 0
- /*when pp.prottype in ( 'ProtocolEF3' )
- and (
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ >= trunc (pp.signdate) ) <= 2 then 0*/
- /* when pp.prottype in ( 'ProtocolOKD4', 'ProtocolOKDSingleApp', 'ProtocolOKD1', 'ProtocolOKD3', 'ProtocolOKD5' ) and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ >= trunc (pp.signdate) ),0) <= 2 then 0 */
- /*when pp.prottype in ( 'ProtocolEF1', 'ProtocolEFSinglePart', 'ProtocolEFSingleApp', 'ProtocolEF3' ) --протокол ProtocolEF1 ProtocolEFSingleApp (публикация) сравнивается с датой scoringdate из извещения (в тот же день)
- and (
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ >= trunc (pp.signdate) ) <= 2 then 0 */
- when pp.prottype in ( 'ProtocolZKAfterProlong', 'ProtocolZK' ,'ProtocolZP','ProtocolZPFinal') and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ >= trunc (pp.signdate)),0 ) <= 1 then 0
- when pp.prottype in ('rotocolEZK1') --+
- and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ > trunc (pp.enddate)),0 ) <= 1 then 0
- when pp.prottype in ('ProtocolZPExtract','rotocolEZP1Extract') -- Выписка из протокола проведения ЗП не позднее даты окончания срока рассмотрения заявок
- and ( pp.publishdate ) <= trunc (pp.scoringdate) then 0
- /*when pp.prottype in ( 'ProtocolZP', 'ProtocolZPFinal' ) and nvl((
- select sum ( days.type )
- from work_days_all days
- where days.date_ <= trunc ( pp.publishdate ) and days.date_ >= trunc (pp.signdate)),0 ) <= 1 then 0 */
- else 1
- end delay,
- pp.flag_preg,
- ais.lotuuid, ais.requestid,
- pp.scoringdate,
- pp.enddate,
- pc.PUBLISHDATE gz_epdate,
- pp.protocolid
- from erc_19_protocol pp
- left join erc_work_days w on w.date_ = interval '10' day + trunc ( pp.protocoldate )
- left join (SELECT DISTINCT reqnum,type,SIGNDATE,PUBLISHDATE FROM erc_19_protocol_ch) pc on pp.purchasenumber = pc.reqnum and pp.prottype = pc.type and pc.SIGNDATE=pp.SIGNDATE
- left join (select distinct protocolnumber, PURCHASENUMBER, SIGNDATE, TITLE, id from DWH_PROTOCOL_nrpz)prz on pp.PURCHASENUMBER=prz.PURCHASENUMBER and pp.protname=prz.title and prz.protocolnumber = pp.protocolnumber and prz.id = pp.protocolid
- join erc_dwh_organization_kgntv dok on to_char(dok.id) = pp.org_kgntv
- join erc_dwh_organization_kgntv dokgrbs on dokgrbs.id = dok.parentid
- join ERC_ORGANIZATION eo on eo.spz = dokgrbs.spz
- --left join (select distinct REQNUM from erc_19_list_contract where flag_st_hand =1 )p on p.reqnum = pp.purchasenumber
- left join
- (select reqnum,
- listagg(lotuuid, '; ') within group (order by reqnum) lotuuid,
- listagg(requestid, '; ') within group (order by reqnum) requestid
- from
- (select reqnum,lotuuid,requestid, row_number () over (partition by reqnum order by 1) rn
- from (select distinct reqnum,lotuuid,requestid from erc_dwh_procedures_kgntv_194_6 where reqnum is not null) p
- )
- where rn < 100
- group by reqnum
- )ais on ais.reqnum = pp.PURCHASENUMBER
- where pp.prottype not in ('rotocolEOK1','rotocolEOKOU1','rotocolEZK2','ProtocolZK');
- 0172200004719000006
- 0372200173419000001
- --19 шаг генерации рейтинга эффективности
- --ERC_19_DATA_PROTOCOL
- 4719008550
- erc_dwh_organization_kgntv
- --20 шаг генерации рейтинга эффективности
- --ERC_19_DATA_COMPLAINT
- --drop table erc_19_data_complaint;
- create table erc_19_data_complaint as
- select eo.orgtitle fgrbsname,sc.org_kgntv, sc.org_name, c.com_number, c.check_number, c.reqnum, c.chec_date, c.chec_pres_date,
- case when c.result = 'COMPLAINT_VIOLATIONS' then 'Обоснована' when c.result = 'COMPLAINT_PARTLY_VALID' then 'Обоснована частично' else null end result,
- c.prescriptionnumber, c.complaint_publishdate,
- ais.lotuuid, ais.requestid
- from
- (select distinct REQNUM,
- case when joflag = 1 then org_kgntv_joflag else org_kgntv end org_kgntv,
- case when joflag = 1 then to_char(joflag_org_name) else org_name end org_name
- from erc_19_list_contract
- where flag_comp_reqnum = 1
- ) sc
- left join ERC_19_CHECKRESULT_BASE c on c.REQNUM = sc.REQNUM
- join erc_dwh_organization_kgntv dok on dok.id = sc.org_kgntv
- inner join erc_dwh_organization_kgntv dokgrbs on dokgrbs.id = dok.parentid
- inner join ERC_ORGANIZATION eo on eo.spz = dokgrbs.spz
- left join
- (select reqnum,
- listagg(lotuuid, '; ') within group (order by reqnum) lotuuid,
- listagg(requestid, '; ') within group (order by reqnum) requestid
- from
- (select reqnum,lotuuid,requestid, row_number () over (partition by reqnum order by 1) rn
- from (select distinct reqnum,lotuuid,requestid from erc_dwh_procedures_kgntv_194_6 where reqnum is not null) p
- )
- where rn < 100
- group by reqnum
- )ais on ais.reqnum = sc.reqnum
- --20 шаг генерации рейтинга эффективности
- --ERC_19_DATA_COMPLAINT
- --21 шаг генерации рейтинга эффективности
- -- детализация по малым закупкам
- --ERC_19_DATA_EM_purchase
- drop table ERC_19_DATA_EM_purchase;
- create table ERC_19_DATA_EM_purchase as
- select
- o.grbs_full_name,k.org_kgntv,k.org_name,
- k.rnk,k.signdate,k.EXECUTIONPERIOD_END,
- k.REJECTED_DATE,k.EXECUTIONS_DATE,
- k.PENALTIES_TYPE,k.price,k.price_cur,
- case when trunc(signdate)>='01.07.2019' and k.is_concluded_in_e_shop is not null then 1 else null end bra1,
- 1 bra2,
- k.OBJECT_NAME,
- k.PLACINGWAY_NAME,
- k.SINGLECUSTOMER_NAME,
- k.lotid,
- k.requestid
- from erc_19_contract_kg k
- join erc_dwh_organization_kgntv o on o.id=k.org_kgntv
- where (singlecustomer_name like('%пункт 4%')or singlecustomer_name like('%пункт 5%'))
- and trunc(signdate)>='01.07.2019'
- --where org_kgntv in (910,1515,1001)
- --SUCCESS!
- select dpk.grbstitle,
- sum(finprice) nmc,
- count( *) count_,
- sum(finprice_con) consum,
- sum(is_con) concount_pur,
- sum(cnt_con) concount,
- sum(finprice_c25) oneexsum,
- sum(cnt_m25) oneexcount_pur,
- sum(cnt_c25) oneexcount,
- sum(is_failed_sop)is_failed_sop,
- sum(finprice_failed)finprice_failed,
- sum(is_cancel)is_cancel,
- sum(finprice_cancel)finprice_cancel
- from
- (select dpk.reqnum,
- sum(dpk.STARTPRICE) finprice,
- max(case when dck.lotid is not null then 1 else 0 end) is_con,
- sum(case when dck.lotid is not null then dpk.STARTPRICE else 0 end)finprice_con,
- sum(case when dck.lotid is not null then 1 else 0 end) cnt_con,
- sum(case when dck.lotid is not null and dck.flag_25 = 1 then dpk.STARTPRICE else 0 end) finprice_c25,
- sum(case when dck.lotid is not null and dck.flag_25 = 1 then 1 else 0 end) cnt_c25,
- max(case when dck.lotid is not null and dck.flag_25 = 1 then 1 else 0 end) cnt_m25,
- max(dpk.failed_sop) is_failed_sop,
- sum(case when dpk.failed_sop = 1 then dpk.STARTPRICE else 0 end) finprice_failed,
- max(dpk.flag_publ_date_cancel) is_cancel,
- sum(case when dpk.flag_publ_date_cancel = 1 then dpk.STARTPRICE else 0 end) finprice_cancel,
- dpk.grbstitle --dpk.FORDERTYPENAME
- from dwh_governor_lot_all dpk
- left join DWH_GOVERNOR_CONTRACT_all dck on dpk.lotuuid = dck.lotid and dck.FLAG_SIGN_DATE = 1
- where flag_publ_date = 1 and dpk.flag_special = 0
- group by dpk.reqnum, dpk.grbstitle--, dpk.FORDERTYPENAME
- ) dpk
- group by dpk.grbstitle
- order by dpk.grbstitle
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement