|
|
|
|
@ -1,8 +1,8 @@
|
|
|
|
|
from django.core.management.base import BaseCommand
|
|
|
|
|
from service.utils import run_sql_command, log_to_telegram
|
|
|
|
|
|
|
|
|
|
CMD_PIVOT_DIST = """DROP VIEW IF EXISTS compact_placementpoint;
|
|
|
|
|
CREATE OR REPLACE VIEW compact_placementpoint AS
|
|
|
|
|
CMD_PIVOT_DIST = """DROP VIEW IF EXISTS points_with_dist;
|
|
|
|
|
CREATE OR REPLACE VIEW points_with_dist AS
|
|
|
|
|
SELECT status, category, age_day, fact, area_id, district_id, address, name, prediction_first, prediction_current, doors, flat_cnt, rival_post_cnt, rival_pvz_cnt, target_post_cnt, flats_cnt, tc_cnt, culture_cnt, mfc_cnt, public_stop_cnt, supermarket_cnt, target_dist, metro_dist, geometry FROM service_placementpoint;
|
|
|
|
|
CREATE OR REPLACE PROCEDURE pivot_dist()
|
|
|
|
|
--RETURNS SET OF record
|
|
|
|
|
@ -12,7 +12,7 @@ BEGIN
|
|
|
|
|
DROP VIEW IF EXISTS points_with_dist;
|
|
|
|
|
SELECT 'placement_point bigint, ' || string_agg(c, ', ') FROM (SELECT distinct pvz_postamates_group_id, 'd' || pvz_postamates_group_id || ' double precision' as c from service_placementpointpvzdistance order by 1) as asd
|
|
|
|
|
INTO columnNames;
|
|
|
|
|
EXECUTE format('CREATE OR REPLACE VIEW points_with_dist AS SELECT
|
|
|
|
|
EXECUTE format('CREATE OR REPLACE VIEW points_with_dist AS SELECT
|
|
|
|
|
|
|
|
|
|
FROM CROSSTAB(
|
|
|
|
|
$$
|
|
|
|
|
@ -21,7 +21,7 @@ FROM CROSSTAB(
|
|
|
|
|
ORDER BY 1, 2
|
|
|
|
|
$$
|
|
|
|
|
) AS ct(%s)
|
|
|
|
|
LEFT JOIN compact_placementpoint ON placement_point_id=id'
|
|
|
|
|
LEFT JOIN service_placementpoint ON placement_point_id=id'
|
|
|
|
|
,columnNames);
|
|
|
|
|
END;
|
|
|
|
|
$BODY$
|
|
|
|
|
|