Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- with
- rp as (
- select id,CASE WHEN month = 1 THEN 13 ELSE month END as "month" from reporting_periods where reporting_periods.id = (select max(id) as "id" from reporting_periods where type = '15')
- ),
- prev_month as (select
- geo_tag_id as "prev_geo_tag_id",
- charge_payment_owner_start_period as "prev_charge_payment_owner_start_period",
- collected_payment_owner_start_period as "prev_collected_payment_owner_start_period",
- cost_of_completed_work as "prev_cost_of_completed_work",
- completed_work_houses_count as "prev_completed_work_houses_count",
- costs_of_work_in_current_year as "prev_costs_of_work_in_current_year",
- completed_work_current_period_costs as "prev_completed_work_current_period_costs",
- completed_work_current_period_houses_count as "prev_completed_work_current_period_houses_count",
- completed_work_current_period_houses_area as "prev_completed_work_current_period_houses_area",
- completed_work_current_period_residents_count as "prev_completed_work_current_period_residents_count",
- completed_work_current_period_services_count as "prev_completed_work_current_period_services_count",
- completed_installation_work_houses_count as "prev_completed_installation_work_houses_count",
- completed_installation_work_houses_area as "prev_completed_installation_work_houses_area",
- completed_installation_work_residents_count as "prev_completed_installation_work_residents_count"
- from overhaul_documents_kr1_2017_871red where reporting_period_id=(select max(id) as "id" from reporting_periods where type = '15' and id != (select max(id) as "id" from reporting_periods where type = '15'))
- ),
- countstat as (
- select overhauldocument_id as id,count(*) from overhaul_documents_status_changes_relations
- join status_changes on status_changes.id = overhaul_documents_status_changes_relations.statuschange_id and status_changes.to_status_id =390
- where is_successfully is true
- group by overhauldocument_id
- ),
- timeline as ( -- информация за предыдущий отчетный период КР-2
- select
- geo_tag_id,
- CASE WHEN geo_tag_id = '2208163' THEN 4 WHEN geo_tag_id = '2215422' THEN 6 WHEN geo_tag_id = '2216073' THEN 0 WHEN geo_tag_id = '2220005' THEN 0 WHEN geo_tag_id = '2220463' THEN 0 WHEN geo_tag_id = '2222089' THEN 0 WHEN geo_tag_id = '2224825' THEN 0 WHEN geo_tag_id = '2227349' THEN 0 WHEN geo_tag_id = '2228920' THEN 0 WHEN geo_tag_id = '2236864' THEN 0 WHEN geo_tag_id = '2280999' THEN 0 WHEN geo_tag_id = '2276347' THEN 0 WHEN geo_tag_id = '2399515' THEN 0 WHEN geo_tag_id = '2361205' THEN 7 WHEN geo_tag_id = '2333436' THEN 6 WHEN geo_tag_id = '2243734' THEN 0 WHEN geo_tag_id = '2246043' THEN 5 WHEN geo_tag_id = '2347352' THEN 0 WHEN geo_tag_id = '2247652' THEN -1 WHEN geo_tag_id = '2258331' THEN 0 WHEN geo_tag_id = '2261569' THEN 9 WHEN geo_tag_id = '2352939' THEN 0 WHEN geo_tag_id = '2261688' THEN 4 WHEN geo_tag_id = '2262823' THEN 0 WHEN geo_tag_id = '2267309' THEN 0 WHEN geo_tag_id = '2209858' THEN 0 WHEN geo_tag_id = '2211647' THEN 4 WHEN geo_tag_id = '2272233' THEN 2 WHEN geo_tag_id = '2273507' THEN 0 WHEN geo_tag_id = '2276351' THEN 0 WHEN geo_tag_id = '2279312' THEN 0 WHEN geo_tag_id = '2280928' THEN 8 WHEN geo_tag_id = '2281126' THEN 0 WHEN geo_tag_id = '2287468' THEN 0 WHEN geo_tag_id = '2361342' THEN 0 WHEN geo_tag_id = '2238753' THEN 0 WHEN geo_tag_id = '2287629' THEN 0 WHEN geo_tag_id = '2290273' THEN 4 WHEN geo_tag_id = '2291899' THEN 3 WHEN geo_tag_id = '2293481' THEN 2 WHEN geo_tag_id = '2295251' THEN 0 WHEN geo_tag_id = '2298217' THEN 0 WHEN geo_tag_id = '2299744' THEN 2 WHEN geo_tag_id = '2213474' THEN 7 WHEN geo_tag_id = '2303372' THEN 0 WHEN geo_tag_id = '2340164' THEN 0 WHEN geo_tag_id = '2347543' THEN 4 WHEN geo_tag_id = '2340399' THEN 2 WHEN geo_tag_id = '2345009' THEN 5 WHEN geo_tag_id = '2345675' THEN 0 WHEN geo_tag_id = '2247643' THEN 0 WHEN geo_tag_id = '2347799' THEN 0 WHEN geo_tag_id = '2348078' THEN 0 WHEN geo_tag_id = '2348894' THEN 0 WHEN geo_tag_id = '2399489' THEN 0 WHEN geo_tag_id = '2349746' THEN 0 WHEN geo_tag_id = '2351376' THEN 0 WHEN geo_tag_id = '2360536' THEN 6 WHEN geo_tag_id = '2352709' THEN 0 WHEN geo_tag_id = '2353101' THEN 0 WHEN geo_tag_id = '2356269' THEN 4 WHEN geo_tag_id = '2358459' THEN 4 WHEN geo_tag_id = '2310204' THEN 0 WHEN geo_tag_id = '2312245' THEN 0 WHEN geo_tag_id = '2270853' THEN 1 WHEN geo_tag_id = '2315056' THEN 1 WHEN geo_tag_id = '2316924' THEN 8 WHEN geo_tag_id = '2317157' THEN 2 WHEN geo_tag_id = '2319070' THEN 0 WHEN geo_tag_id = '2214158' THEN 0 WHEN geo_tag_id = '2323682' THEN 0 WHEN geo_tag_id = '2248754' THEN 0 WHEN geo_tag_id = '2325436' THEN 4 WHEN geo_tag_id = '2326046' THEN 0 WHEN geo_tag_id = '2329523' THEN 2 WHEN geo_tag_id = '2356486' THEN 1 WHEN geo_tag_id = '2331106' THEN 1 WHEN geo_tag_id = '2214950' THEN 7 WHEN geo_tag_id = '2330826' THEN 2 WHEN geo_tag_id = '2332121' THEN 2 WHEN geo_tag_id = '2358750' THEN 0 WHEN geo_tag_id = '2358768' THEN 0 WHEN geo_tag_id = '2334262' THEN 9 WHEN geo_tag_id = '2331019' THEN 2 WHEN geo_tag_id = '2334335' THEN 0 ELSE null END as "time"
- from overhaul_documents_kr2_2017_871red where overhaul_documents_kr2_2017_871red.reporting_period_id = 255
- )
- select
- geo_tags.name as "Субъект РФ",
- timeline.time,
- countstat.count as "Возвр",
- statuses.name::text as "Статус",
- /*
- kr2.minimum_payment_size_min||'|'||
- kr2.minimum_payment_size_max||'|'||
- round(charge_payment_owner_start_period*1000/kr2.quarters_area/8::numeric,2) ||'|'||
- round((charge_payment_owner_start_period*1000/kr2.quarters_area/8)/((kr2.minimum_payment_size_min+kr2.minimum_payment_size_max)/2)*100::numeric,2)||'|'||
- round(kr2.mkd_area_on_operator_account/kr2.cp_mkd_square_on_reporting_period*100::numeric,2),*/
- round(completed_work_current_period_services_count/(service_count_plan+service_count_plan_end)::numeric*100,0)||'|'||
- round(completed_work_current_period_costs/cost_of_completed_work*100,0)||'|'||
- round(completed_work_current_period_houses_count/completed_work_houses_count::numeric*100,0)||'|'||
- round(completed_work_current_period_houses_area/(mkd_area_plan+mkd_area_plan_end)*100,0)||'|'||
- round(completed_work_current_period_residents_count/(ppl_count_plan+ppl_count_plan_end)*100,0)
- as "done",
- CASE WHEN completed_work_current_period_services_count < completed_work_current_period_houses_count
- THEN (completed_work_current_period_services_count)||'<'||(completed_work_current_period_houses_count)
- ELSE '' END as "!mkd_СМР<",
- CASE WHEN charge_payment_owner_start_period =0 or charge_payment_owner_start_period is null THEN '!n/a'
- WHEN (charge_payment_owner_start_period::numeric-prev_charge_payment_owner_start_period::numeric)>(prev_charge_payment_owner_start_period::numeric/(rp.month-1)::numeric)*1.5 THEN '+50%'
- WHEN (charge_payment_owner_start_period::numeric-prev_charge_payment_owner_start_period::numeric)>(prev_charge_payment_owner_start_period::numeric/(rp.month-1)::numeric)*1.8 THEN '!+80%'
- WHEN (charge_payment_owner_start_period::numeric-prev_charge_payment_owner_start_period::numeric)<(prev_charge_payment_owner_start_period::numeric/(rp.month-1)::numeric)*0.2 THEN '!-80%'
- WHEN (charge_payment_owner_start_period::numeric-prev_charge_payment_owner_start_period::numeric)<(prev_charge_payment_owner_start_period::numeric/(rp.month-1)::numeric)*0.5 THEN '-50%'
- ELSE '' END as "гр.1",
- CASE WHEN collected_payment_owner_start_period =0 or collected_payment_owner_start_period is null THEN '!n/a'
- WHEN (collected_payment_owner_start_period::numeric-prev_collected_payment_owner_start_period::numeric)>(prev_collected_payment_owner_start_period::numeric/(rp.month-1)::numeric)*1.5 THEN '+50%'
- WHEN (collected_payment_owner_start_period::numeric-prev_collected_payment_owner_start_period::numeric)>(prev_collected_payment_owner_start_period::numeric/(rp.month-1)::numeric)*1.8 THEN '!+80%'
- WHEN (collected_payment_owner_start_period::numeric-prev_collected_payment_owner_start_period::numeric)<(prev_collected_payment_owner_start_period::numeric/(rp.month-1)::numeric)*0.2 THEN '!-80%'
- WHEN (collected_payment_owner_start_period::numeric-prev_collected_payment_owner_start_period::numeric)<(prev_collected_payment_owner_start_period::numeric/(rp.month-1)::numeric)*0.5 THEN '-50%'
- ELSE '' END as "гр.2",
- CASE WHEN charge_payment_owner_start_period =0 or charge_payment_owner_start_period is null or collected_payment_owner_start_period =0 or collected_payment_owner_start_period is null THEN '!n/a'
- WHEN charge_payment_owner_start_period::numeric-collected_payment_owner_start_period::numeric<0 THEN '!min'
- ELSE '' END as "гр.2/1",
- CASE WHEN round(prev_cost_of_completed_work,1) = round(cost_of_completed_work,1) THEN null
- ELSE round(prev_cost_of_completed_work,1)||'->'||round(cost_of_completed_work,1) END as "гр.3",
- CASE WHEN prev_completed_work_houses_count = completed_work_houses_count THEN null
- ELSE prev_completed_work_houses_count||' -> '||completed_work_houses_count END as "гр.4",
- CASE WHEN cost_of_completed_work is null or completed_work_houses_count is null or completed_work_houses_count=0 THEN 'n/a'
- WHEN cost_of_completed_work/completed_work_houses_count>8 or cost_of_completed_work/completed_work_houses_count<1 THEN '! '||(round(cost_of_completed_work/completed_work_houses_count*1000,0))::text||' !'
- ELSE (round(cost_of_completed_work/completed_work_houses_count*1000,0))::text END as "гр.3/4",
- CASE WHEN round(prev_costs_of_work_in_current_year,1) = round(costs_of_work_in_current_year,1) THEN null
- ELSE round(prev_costs_of_work_in_current_year,1)||' -> '||round(costs_of_work_in_current_year,1) END||CASE WHEN prev_costs_of_work_in_current_year>costs_of_work_in_current_year THEN '['||round((costs_of_work_in_current_year/prev_costs_of_work_in_current_year-1)*100,0)||']' ELSE '' END as "гр.5",
- CASE WHEN completed_work_current_period_services_count is null or completed_work_current_period_costs is null THEN '!n/a'
- WHEN completed_work_current_period_services_count=0 and completed_work_current_period_costs=0 THEN '0'
- WHEN completed_work_current_period_services_count=0 or completed_work_current_period_costs=0 THEN '0!=0'
- WHEN completed_work_current_period_services_count=prev_completed_work_current_period_services_count or completed_work_current_period_costs=prev_completed_work_current_period_costs THEN
- CASE WHEN completed_work_current_period_services_count=prev_completed_work_current_period_services_count and completed_work_current_period_costs=prev_completed_work_current_period_costs THEN '' ELSE '6!=6 or 7!=7'
- END
- WHEN completed_work_current_period_costs::numeric/completed_work_current_period_services_count::numeric*1000>9000 THEN '!9000+'
- WHEN completed_work_current_period_costs::numeric/completed_work_current_period_services_count::numeric*1000<50 THEN '!50-'
- WHEN completed_work_current_period_costs::numeric/completed_work_current_period_services_count::numeric*1000>5000 THEN '5000+'
- WHEN completed_work_current_period_costs::numeric/completed_work_current_period_services_count::numeric*1000<100 THEN '100-'
- ELSE '' END as "гр.7/6",
- CASE WHEN completed_work_current_period_services_count=0 or completed_work_current_period_costs=0 THEN null
- ELSE round(completed_work_current_period_costs::numeric/completed_work_current_period_services_count::numeric*1000,0) END as "7/6",
- CASE WHEN completed_work_current_period_houses_count-prev_completed_work_current_period_houses_count = completed_installation_work_houses_count-prev_completed_work_current_period_houses_count THEN
- CASE WHEN completed_work_current_period_houses_area-prev_completed_work_current_period_houses_area != completed_installation_work_houses_area-prev_completed_installation_work_houses_area THEN 'sq'
- WHEN completed_work_current_period_residents_count-prev_completed_work_current_period_residents_count != completed_installation_work_residents_count-prev_completed_installation_work_residents_count THEN 'ppl'
- else '' END
- else '' END as "гр.8,9,10",
- CASE WHEN completed_work_current_period_houses_count=0
- or completed_work_current_period_houses_area=0
- or completed_work_current_period_residents_count=0
- THEN CASE WHEN completed_work_current_period_houses_count=0
- and completed_work_current_period_houses_area=0
- and completed_work_current_period_residents_count=0 THEN '' ELSE '!8(9,10)!=0' END
- ELSE '' END as "8,9,10",
- CASE WHEN completed_work_current_period_houses_area is null or completed_work_current_period_houses_count is null THEN '!n/a'
- WHEN completed_work_current_period_houses_area::numeric=0 or completed_work_current_period_houses_count::numeric=0 THEN ''
- WHEN completed_work_current_period_houses_area::numeric/completed_work_current_period_houses_count::numeric*1000<500 THEN '500-'
- WHEN completed_work_current_period_houses_area::numeric/completed_work_current_period_houses_count::numeric*1000<300 THEN '!300-'
- WHEN completed_work_current_period_houses_area::numeric/completed_work_current_period_houses_count::numeric*1000>8000 THEN '8000+'
- WHEN completed_work_current_period_houses_area::numeric/completed_work_current_period_houses_count::numeric*1000>10000 THEN '!10000+'
- ELSE '' END as "гр.9/8",
- CASE WHEN completed_work_current_period_residents_count is null or completed_work_current_period_houses_count is null THEN '!n/a'
- WHEN completed_work_current_period_residents_count::numeric=0 or completed_work_current_period_houses_count::numeric=0 THEN ''
- WHEN completed_work_current_period_residents_count::numeric/completed_work_current_period_houses_count::numeric*1000<11 THEN '11-'
- WHEN completed_work_current_period_residents_count::numeric/completed_work_current_period_houses_count::numeric*1000<8 THEN '!8-'
- WHEN completed_work_current_period_residents_count::numeric/completed_work_current_period_houses_count::numeric*1000>200 THEN '200+'
- WHEN completed_work_current_period_residents_count::numeric/completed_work_current_period_houses_count::numeric*1000>500 THEN '!500+'
- ELSE '' END as "гр.10/8",
- CASE WHEN completed_installation_work_houses_count=0
- or completed_installation_work_houses_area=0
- or completed_installation_work_residents_count=0
- THEN CASE WHEN completed_installation_work_houses_count=0
- and completed_installation_work_houses_area=0
- and completed_installation_work_residents_count=0 THEN '' ELSE '!9(10,11)!=0' END
- ELSE '' END as "11,12,13",
- CASE WHEN completed_installation_work_houses_area is null or completed_installation_work_houses_count is null THEN '!n/a'
- WHEN completed_installation_work_houses_area::numeric=0 or completed_installation_work_houses_count::numeric=0 THEN ''
- WHEN completed_installation_work_houses_area::numeric/completed_installation_work_houses_count::numeric*1000<500 THEN '500-'
- WHEN completed_installation_work_houses_area::numeric/completed_installation_work_houses_count::numeric*1000<300 THEN '!300-'
- WHEN completed_installation_work_houses_area::numeric/completed_installation_work_houses_count::numeric*1000>8000 THEN '8000+'
- WHEN completed_installation_work_houses_area::numeric/completed_installation_work_houses_count::numeric*1000>10000 THEN '!10000+'
- ELSE '' END as "гр.12/11",
- CASE WHEN completed_installation_work_residents_count is null or completed_installation_work_houses_count is null THEN '!n/a'
- WHEN completed_installation_work_residents_count::numeric=0 or completed_installation_work_houses_count::numeric=0 THEN ''
- WHEN completed_installation_work_residents_count::numeric/completed_installation_work_houses_count::numeric*1000<11 THEN '11-'
- WHEN completed_installation_work_residents_count::numeric/completed_installation_work_houses_count::numeric*1000<8 THEN '!8-'
- WHEN completed_installation_work_residents_count::numeric/completed_installation_work_houses_count::numeric*1000>200 THEN '200+'
- WHEN completed_installation_work_residents_count::numeric/completed_installation_work_houses_count::numeric*1000>500 THEN '!500+'
- ELSE '' END as "гр.13/11",
- CASE WHEN completed_work_current_period_houses_count-completed_installation_work_houses_count=0
- or completed_work_current_period_houses_area-completed_installation_work_houses_area=0
- or completed_work_current_period_residents_count-completed_installation_work_residents_count=0
- THEN CASE WHEN completed_work_current_period_houses_count-completed_installation_work_houses_count=0
- and completed_work_current_period_houses_area-completed_installation_work_houses_area=0
- and completed_work_current_period_residents_count-completed_installation_work_residents_count=0 THEN '' ELSE '!5(6,7)!=9(10,11)' END
- ELSE '' END as "8,9,10,11,12,13",
- round(prev_charge_payment_owner_start_period::numeric/(rp.month-1)::numeric,2)::text||'['||(round(charge_payment_owner_start_period::numeric-prev_charge_payment_owner_start_period::numeric,2))::text||']' as "1|среднее в году",
- round(charge_payment_owner_start_period,2) as "1|текущ.мес",
- round(prev_collected_payment_owner_start_period::numeric/(rp.month-1)::numeric,2)::text||'['||(round(collected_payment_owner_start_period::numeric-prev_collected_payment_owner_start_period::numeric,2))::text||']' as "2|среднее в году",
- round(collected_payment_owner_start_period,2) as "2|текущ.мес.",
- round(prev_cost_of_completed_work,2) as "3|пред.мес",
- round(cost_of_completed_work,2) as "3|текущ.мес",
- prev_completed_work_houses_count as "4|пред.мес",
- completed_work_houses_count as "4|текущ.мес",
- round(prev_costs_of_work_in_current_year,2) as "5|пред.мес",
- round(costs_of_work_in_current_year,2) as "5|текущ.мес",
- prev_completed_work_current_period_services_count as "6|пред.мес",
- completed_work_current_period_services_count as "6|текущ.мес",
- round(prev_completed_work_current_period_costs,2) as "7|пред.мес",
- round(completed_work_current_period_costs,2) as "7|текущ.мес",
- prev_completed_work_current_period_houses_count as "8|пред.мес",
- completed_work_current_period_houses_count as "8|текущ.мес",
- prev_completed_work_current_period_houses_area as "9|пред.мес",
- completed_work_current_period_houses_area as "9|текущ.мес",
- prev_completed_work_current_period_residents_count as "10|пред.мес",
- completed_work_current_period_residents_count as "10|текущ.мес",
- prev_completed_installation_work_houses_count as "11|пред.мес",
- completed_installation_work_houses_count as "11|текущ.мес",
- prev_completed_installation_work_houses_area as "12|пред.мес",
- completed_installation_work_houses_area as "12|текущ.мес",
- prev_completed_installation_work_residents_count as "13|пред.мес",
- completed_installation_work_residents_count as "13|текущ.мес"
- from
- overhaul_documents_kr1_2017_871red as kr1
- join prev_month on prev_month.prev_geo_tag_id = kr1.geo_tag_id
- join statuses on statuses.id = kr1.status_id
- join geo_tags on geo_tags.id = kr1.geo_tag_id
- join rp on rp.id = kr1.reporting_period_id
- join overhaul_documents_kr2_2017_871red kr2 on (kr1.geo_tag_id = kr2.geo_tag_id and kr2.reporting_period_id = (select max(id) as "id" from reporting_periods where type = '16'))
- left join countstat on countstat.id = kr1.id
- join timeline on timeline.geo_tag_id = kr1.geo_tag_id
- where --statuses.name not in ('Проверено Фондом') and
- kr1.reporting_period_id=(select max(id) as "id" from reporting_periods where type = '15') --and id !=231
- order by statuses.name,geo_tags.name --,time desc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement