Last active
June 3, 2020 19:55
-
-
Save kovenko/477e48f2cf02b3aba2d3d2906d2bfa3a to your computer and use it in GitHub Desktop.
12889 сф
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module/Common/Main/src/Main/Service/HousesPassportUpdater/UpdateableTargets/AgfAfter2012Houses.php:72 | |
/Version20161006143035_6899_update_ajf_houses.php:1 | |
resettlement_status_id | |
SELECT * FROM refs WHERE parent_id = 594 | |
blank, resettlement_await, owner_wanted, empty, in_court, resettled | |
SELECT | |
h.id AS house_id, | |
h.date_created, | |
hr.id AS house_revision_id, | |
hqrs.id AS snapshot_id | |
FROM houses h | |
JOIN house_revision hr ON hr.houses_id = h.id AND hr.is_current = 1 | |
LEFT JOIN house_quarters_residents_snapshots hqrs ON hqrs.house_revision_id = hr.id AND hqrs.is_main | |
WHERE h.deleted_at IS NULL AND h.id = 9317262 | |
SELECT | |
-- первые 2 поля обновляют таблицу UPDATE emrg_housing_docs_aftr_2012_house_rev_rel rel_u | |
hr.id AS house_revision_id, | |
hqrs.id AS snapshot_id, | |
rel_f.id AS rel_u_id, | |
doc.id AS doc_id, | |
(SELECT id FROM emrg_housing_documents_aftr_2012 doc2 WHERE doc2.geo_tag_id = doc.geo_tag_id ORDER BY doc2.created_at DESC LIMIT 1) AS doc2_id, | |
doc.geo_tag_id AS doc_geo_tag_id, | |
h.id AS house_id | |
FROM emrg_housing_docs_aftr_2012_house_rev_rel rel_f | |
JOIN emrg_housing_docs_aftr_2012_mun_areas mo ON rel_f.municipal_area_id = mo.id | |
JOIN emrg_housing_documents_aftr_2012 doc ON mo.document_id = doc.id | |
JOIN houses h ON rel_f.house_id = h.id | |
JOIN house_revision hr ON h.id = hr.houses_id AND hr.is_current = 1 | |
LEFT JOIN epd_house_passports hp ON hp.house_revision_id = rel_f.house_revision_id | |
LEFT JOIN refs refs_house_type ON refs_house_type.id = hp.house_type_id | |
LEFT JOIN house_quarters_residents_snapshots hqrs ON hr.id = hqrs.house_revision_id AND hqrs.is_main | |
WHERE | |
h.id = 9317262 | |
AND rel_f.house_revision_id <> hr.id | |
AND rel_f.removed_at IS NULL | |
AND mo.deleted_at IS NULL | |
AND (refs_house_type.code <> '0505' OR refs_house_type.code IS NULL) | |
AND doc.id = | |
CASE | |
WHEN :currentAgfDocumentId :: INT IS NOT NULL | |
THEN :currentAgfDocumentId :: INT | |
ELSE (SELECT id FROM emrg_housing_documents_aftr_2012 doc2 WHERE doc2.geo_tag_id = doc.geo_tag_id ORDER BY doc2.created_at DESC LIMIT 1) | |
END | |
--:monthlyReportMonitoring = 27 | |
--:reportingPeriodId = 0 | |
--:fromDate = '2020-01-01' | |
--:toDate = '2021-01-01' | |
--:geoTagId = 2220005 | |
WITH cte_report_periods AS ( | |
SELECT | |
array_agg(id) AS ids, | |
min(date_start) AS date_start, | |
max(date_end) AS date_end | |
FROM reporting_periods rp | |
WHERE rp.type = :monthlyReportMonitoring AND ( | |
(:reportingPeriodId <> 0 AND rp.id = :reportingPeriodId) OR | |
( | |
:reportingPeriodId = 0 AND rp.date_start >= '2020-04-01' :: DATE AND | |
(rp.date_start BETWEEN coalesce(:fromDate :: DATE, '-infinity') AND coalesce(:toDate :: DATE, 'infinity')) AND | |
(rp.date_end BETWEEN coalesce(:fromDate :: DATE, '-infinity') AND coalesce(:toDate :: DATE, 'infinity')) | |
) | |
) | |
), cte_program_objects AS ( | |
SELECT DISTINCT ON (vpd.id) | |
rpo.id AS regional_program_object_id, | |
sf.id AS sf_group, | |
sf.name AS sf_name, | |
mo.id AS mo_group, | |
mo.name AS mo_name, | |
vpd.documents_name AS documents_name | |
FROM mski_monitoring.monitoring m | |
JOIN mski_monitoring.regional_program_objects rpo ON rpo.monitoring_id = m.id AND rpo.deleted_at IS NULL | |
JOIN public.reporting_periods rp ON rp.id = m.reporting_period_id | |
JOIN geo_tags sf ON sf.id = m.geo_tag_id | |
JOIN geo_tags mo ON mo.id = rpo.geo_tag_id | |
JOIN mski_monitoring.regional_program_objects_volga rpov ON rpov.id = rpo.id | |
JOIN volga_river_recovery.volga_program_documents vpd ON vpd.id = rpov.program_document_id AND vpd.deleted_at IS NULL | |
JOIN mski_monitoring.volga_contracts vc ON vc.program_document_id = vpd.id | |
JOIN mski_monitoring.contracts c ON c.id = vc.id AND c.deleted_at IS NULL | |
JOIN mski_monitoring.payment_documents pd ON pd.contracts_id = c.id AND pd.deleted_at IS NULL | |
WHERE m.type = 'vrr' AND m.geo_tag_id = :geoTagId | |
AND pd.payment_date BETWEEN (SELECT date_start FROM cte_report_periods) AND (SELECT date_end FROM cte_report_periods) | |
ORDER BY vpd.id, rp.date_start DESC | |
) | |
SELECT | |
ROW_NUMBER() OVER ( | |
PARTITION BY cpo.mo_name | |
ORDER BY cpo.mo_name, cpo.documents_name | |
) AS row_num, | |
1 AS parent_group, | |
cpo.sf_group AS sf_group, | |
cpo.sf_name AS sf_name, | |
cpo.mo_group AS mo_group, | |
cpo.mo_name AS mo_name, | |
cpo.documents_name AS documents_name, | |
cery.smr_plan_total / 1000.0 AS c_smr_4, | |
cery.smr_fact_total / 1000.0 AS c_smr_5, | |
cery.smr_fact_advance_payment / 1000.0 AS c_smr_6, | |
cery.smr_federal_budget_plan_total / 1000.0 AS c_smr_7, | |
cery.smr_federal_budget_fact_total / 1000.0 AS c_smr_8, | |
cery.smr_federal_budget_fact_advance_payment / 1000.0 AS c_smr_9, | |
cery.smr_consolidated_budget_plan_total / 1000.0 AS c_smr_10, | |
cery.smr_consolidated_budget_fact_total / 1000.0 AS c_smr_11, | |
cery.smr_consolidated_budget_fact_advance_payment / 1000.0 AS c_smr_12, | |
cery.smr_extrabudgetary_budget_plan_total / 1000.0 AS c_smr_13, | |
cery.smr_extrabudgetary_budget_fact_total / 1000.0 AS c_smr_14, | |
cery.smr_plan_total / 1000.0 AS c_smr_15, | |
cery.smr_fact_total / 1000.0 AS c_smr_16, | |
cery.smr_fact_advance_payment / 1000.0 AS c_smr_17, | |
cery.smr_federal_budget_plan_total / 1000.0 AS c_smr_18, | |
cery.smr_federal_budget_fact_total / 1000.0 AS c_smr_19, | |
cery.smr_federal_budget_fact_advance_payment / 1000.0 AS c_smr_20, | |
cery.smr_consolidated_budget_plan_total / 1000.0 AS c_smr_21, | |
cery.smr_consolidated_budget_fact_total / 1000.0 AS c_smr_22, | |
cery.smr_consolidated_budget_fact_advance_payment / 1000.0 AS c_smr_23, | |
cery.pd_plan_total / 1000.0 AS c_pd_4, | |
cery.pd_fact_total / 1000.0 AS c_pd_5, | |
cery.pd_fact_advance_payment / 1000.0 AS c_pd_6, | |
cery.pd_federal_budget_plan_total / 1000.0 AS c_pd_7, | |
cery.pd_federal_budget_fact_total / 1000.0 AS c_pd_8, | |
cery.pd_federal_budget_fact_advance_payment / 1000.0 AS c_pd_9, | |
cery.pd_consolidated_budget_plan_total / 1000.0 AS c_pd_10, | |
cery.pd_consolidated_budget_fact_total / 1000.0 AS c_pd_11, | |
cery.pd_consolidated_budget_fact_advance_payment / 1000.0 AS c_pd_12, | |
cery.pd_extrabudgetary_budget_plan_total / 1000.0 AS c_pd_13, | |
cery.pd_extrabudgetary_budget_fact_total / 1000.0 AS c_pd_14, | |
cery.pd_plan_total / 1000.0 AS c_pd_15, | |
cery.pd_fact_total / 1000.0 AS c_pd_16, | |
cery.pd_fact_advance_payment / 1000.0 AS c_pd_17, | |
cery.pd_federal_budget_plan_total / 1000.0 AS c_pd_18, | |
cery.pd_federal_budget_fact_total / 1000.0 AS c_pd_19, | |
cery.pd_federal_budget_fact_advance_payment / 1000.0 AS c_pd_20, | |
cery.pd_consolidated_budget_plan_total / 1000.0 AS c_pd_21, | |
cery.pd_consolidated_budget_fact_total / 1000.0 AS c_pd_22, | |
cery.pd_consolidated_budget_fact_advance_payment / 1000.0 AS c_pd_23 | |
FROM cte_program_objects cpo | |
LEFT JOIN mski_monitoring.cash_expense_on_reporting_year cery ON cery.regional_program_object_id = cpo.regional_program_object_id | |
ORDER BY cpo.mo_name, cpo.documents_name | |
старая версия | |
--:monthlyReportMonitoring = 27 | |
--:reportingPeriodId = 0 | |
--:fromDate = '2000-01-01' | |
--:toDate = '2021-01-01' | |
--:geoTagId = 2220005 | |
WITH cte_report_periods AS ( | |
SELECT | |
array_agg(id) AS ids, | |
min(date_start) AS date_start, | |
max(date_end) AS date_end | |
FROM reporting_periods rp | |
WHERE rp.type = :monthlyReportMonitoring AND ( | |
(:reportingPeriodId <> 0 AND rp.id = :reportingPeriodId) OR | |
( | |
:reportingPeriodId = 0 AND rp.date_start >= '2020-04-01' :: DATE AND | |
(rp.date_start BETWEEN coalesce(:fromDate :: DATE, '-infinity') AND coalesce(:toDate :: DATE, 'infinity')) AND | |
(rp.date_end BETWEEN coalesce(:fromDate :: DATE, '-infinity') AND coalesce(:toDate :: DATE, 'infinity')) | |
) | |
) | |
), cte_last_monitoring AS ( | |
SELECT | |
m.id, m.regional_program_id, m.geo_tag_id, m.reporting_period_id | |
FROM volga_river_recovery.regional_programs rp | |
JOIN mski_monitoring.monitoring m ON m.type = 'vrr' AND m.regional_program_id = rp.id AND m.geo_tag_id = rp.geo_tag_id | |
JOIN cte_report_periods t ON m.reporting_period_id = ANY (t.ids) | |
GROUP BY m.regional_program_id, m.geo_tag_id, m.id, t.date_start | |
ORDER BY t.date_start DESC | |
LIMIT 1 | |
), cte_data AS ( | |
SELECT | |
ROW_NUMBER() OVER ( | |
PARTITION BY sf.name, mo.name | |
ORDER BY sf.name, mo.name, vpd.documents_name | |
) AS row_num, | |
1 AS parent_group, | |
sf.id AS sf_group, | |
sf.name AS sf_name, | |
mo.id AS mo_group, | |
mo.name AS mo_name, | |
vpd.documents_name AS documents_name, | |
cery.smr_plan_total / 1000.0 AS c_smr_4, | |
cery.smr_fact_total / 1000.0 AS c_smr_5, | |
cery.smr_fact_advance_payment / 1000.0 AS c_smr_6, | |
cery.smr_federal_budget_plan_total / 1000.0 AS c_smr_7, | |
cery.smr_federal_budget_fact_total / 1000.0 AS c_smr_8, | |
cery.smr_federal_budget_fact_advance_payment / 1000.0 AS c_smr_9, | |
cery.smr_consolidated_budget_plan_total / 1000.0 AS c_smr_10, | |
cery.smr_consolidated_budget_fact_total / 1000.0 AS c_smr_11, | |
cery.smr_consolidated_budget_fact_advance_payment / 1000.0 AS c_smr_12, | |
cery.smr_extrabudgetary_budget_plan_total / 1000.0 AS c_smr_13, | |
cery.smr_extrabudgetary_budget_fact_total / 1000.0 AS c_smr_14, | |
cery.smr_plan_total / 1000.0 AS c_smr_15, | |
cery.smr_fact_total / 1000.0 AS c_smr_16, | |
cery.smr_fact_advance_payment / 1000.0 AS c_smr_17, | |
cery.smr_federal_budget_plan_total / 1000.0 AS c_smr_18, | |
cery.smr_federal_budget_fact_total / 1000.0 AS c_smr_19, | |
cery.smr_federal_budget_fact_advance_payment / 1000.0 AS c_smr_20, | |
cery.smr_consolidated_budget_plan_total / 1000.0 AS c_smr_21, | |
cery.smr_consolidated_budget_fact_total / 1000.0 AS c_smr_22, | |
cery.smr_consolidated_budget_fact_advance_payment / 1000.0 AS c_smr_23, | |
cery.pd_plan_total / 1000.0 AS c_pd_4, | |
cery.pd_fact_total / 1000.0 AS c_pd_5, | |
cery.pd_fact_advance_payment / 1000.0 AS c_pd_6, | |
cery.pd_federal_budget_plan_total / 1000.0 AS c_pd_7, | |
cery.pd_federal_budget_fact_total / 1000.0 AS c_pd_8, | |
cery.pd_federal_budget_fact_advance_payment / 1000.0 AS c_pd_9, | |
cery.pd_consolidated_budget_plan_total / 1000.0 AS c_pd_10, | |
cery.pd_consolidated_budget_fact_total / 1000.0 AS c_pd_11, | |
cery.pd_consolidated_budget_fact_advance_payment / 1000.0 AS c_pd_12, | |
cery.pd_extrabudgetary_budget_plan_total / 1000.0 AS c_pd_13, | |
cery.pd_extrabudgetary_budget_fact_total / 1000.0 AS c_pd_14, | |
cery.pd_plan_total / 1000.0 AS c_pd_15, | |
cery.pd_fact_total / 1000.0 AS c_pd_16, | |
cery.pd_fact_advance_payment / 1000.0 AS c_pd_17, | |
cery.pd_federal_budget_plan_total / 1000.0 AS c_pd_18, | |
cery.pd_federal_budget_fact_total / 1000.0 AS c_pd_19, | |
cery.pd_federal_budget_fact_advance_payment / 1000.0 AS c_pd_20, | |
cery.pd_consolidated_budget_plan_total / 1000.0 AS c_pd_21, | |
cery.pd_consolidated_budget_fact_total / 1000.0 AS c_pd_22, | |
cery.pd_consolidated_budget_fact_advance_payment / 1000.0 AS c_pd_23 | |
FROM volga_river_recovery.regional_programs rp | |
JOIN cte_last_monitoring m ON m.regional_program_id = rp.id AND m.geo_tag_id = rp.geo_tag_id | |
JOIN mski_monitoring.regional_program_objects rpo ON rpo.monitoring_id = m.id AND rpo.deleted_at IS NULL | |
JOIN mski_monitoring.regional_program_objects_volga rpov ON rpov.id = rpo.id | |
JOIN volga_river_recovery.volga_program_documents vpd ON vpd.id = rpov.program_document_id AND vpd.deleted_at IS NULL | |
JOIN geo_tags sf ON sf.id = rp.geo_tag_id | |
JOIN geo_tags mo ON mo.id = rpo.geo_tag_id | |
LEFT JOIN mski_monitoring.cash_expense_on_reporting_year cery ON cery.regional_program_object_id = rpo.id | |
LEFT JOIN cte_report_periods t ON m.reporting_period_id = ANY (t.ids) | |
LEFT JOIN mski_monitoring.payment_documents pd ON pd.reporting_period_id = m.reporting_period_id AND pd.deleted_at IS NULL | |
AND pd.mo_geo_tag_id = rpo.geo_tag_id AND (pd.payment_date BETWEEN t.date_start AND t.date_end) | |
WHERE rp.deleted_at IS NULL AND rp.geo_tag_id IN (:geoTagId) | |
ORDER BY sf.name, mo.name, vpd.documents_name | |
) | |
SELECT * FROM cte_data |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment