dropdown masih beberapa geometry belum nampak di map

This commit is contained in:
='fauz
2025-06-30 16:28:34 +07:00
parent e714218b9d
commit ea99316d4c
5 changed files with 150 additions and 110 deletions
Binary file not shown.
Binary file not shown.
+36 -25
View File
@@ -318,7 +318,10 @@ class apiController:
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id)" DESC
LIMIT 10000;
"""
cur.execute(SQL)
try:
cur.execute(SQL)
except Exception as e:
return []
result = cur.fetchall()
return result
@@ -371,7 +374,7 @@ class apiController:
#======================================================
#MAP DATA
#=========================================================
def fetch_geojson(level, parent_code=None):
def fetch_geojson(conn,level, parent_code=None):
# cur = conn.cursor()
# cur.execute(f"SELECT id, kode, nama, lat, lng, path, iso FROM {table_name} WHERE id = 1 LIMIT 1")
cur = conn.cursor()
@@ -383,7 +386,15 @@ class apiController:
elif level == 'kecamatan':
cur.execute("SELECT id, kode, nama, null as lat, null as lng, koordinat as path FROM wil_kecamatan WHERE kabupaten_kota_id = %s", (parent_code,))
elif level == 'desa':
cur.execute("SELECT id, kode, nama, null as lat, null as lng,path FROM wil_desa WHERE kecamatan_id = %s", (parent_code,))
# cur.execute("SELECT id, kode, nama, null as lat, null as lng,path FROM wil_desa WHERE kecamatan_id = %s", (parent_code,))
cur.execute(("""
SELECT id, kode, nama, null as lat, null as lng,
CONCAT(
REPEAT('[', 4 - (LENGTH(path) - LENGTH(REPLACE(path, '[', '')))),
path,
REPEAT(']', 4 - (LENGTH(path) - LENGTH(REPLACE(path, ']', ''))))
) AS path
FROM wil_desa WHERE kecamatan_id = %s""", (parent_code,)))
else:
return {"type": "FeatureCollection", "features": []}
features = []
@@ -1006,28 +1017,28 @@ class apiController:
return result
@staticmethod
def getPendampingPerDesa(conn, kode_desa):
cursor = conn.cursor()
SQL = """
SELECT jenis_pendamping AS jenis_pendamping, sum(jumlah) AS "SUM(jumlah)"
FROM (select
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_nama,
wk.id kecamatan_id, wk.kode kecamatan_kode, wk.nama kecamatan_nama,
wkd.id kelurahan_desa_id, wkd.kode kelurahan_desa_kode, wkd.nama kelurahan_desa_nama,
mpd.jenis_pendamping, mpd.jumlah
from metric_pendamping_desa mpd
inner join wil_desa wkd on mpd.kelurahan_desa_id = wkd.id
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
WHERE wkd.kode = %s
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
LIMIT 1000;
"""
cursor.execute(SQL, (kode_desa,))
result = cursor.fetchall()
return result
# def getPendampingPerDesa(conn, kode_desa):
# cursor = conn.cursor()
# SQL = """
# SELECT jenis_pendamping AS jenis_pendamping, sum(jumlah) AS "SUM(jumlah)"
# FROM (select
# wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
# wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_nama,
# wk.id kecamatan_id, wk.kode kecamatan_kode, wk.nama kecamatan_nama,
# wkd.id kelurahan_desa_id, wkd.kode kelurahan_desa_kode, wkd.nama kelurahan_desa_nama,
# mpd.jenis_pendamping, mpd.jumlah
# from metric_pendamping_desa mpd
# inner join wil_desa wkd on mpd.kelurahan_desa_id = wkd.id
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
# inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
# WHERE wkd.kode = %s
# ) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
# LIMIT 1000;
# """
# cursor.execute(SQL, (kode_desa,))
# result = cursor.fetchall()
# return result
@staticmethod
def getDesaDenganAtauTanpaKopmerDesa(conn, kode_desa):
+8 -3
View File
@@ -37,7 +37,10 @@ def get_connection():
#========================================================
@main.route('/')
def index():
return render_template('index.html')
with get_connection() as conn:
data = apiController.provinsi(conn)
print(data)
return render_template('index.html', provinsis=data)
@main.route("/geojson/provinsi")
def get_provinsi():
@@ -252,13 +255,15 @@ def get_pendamping_per_desa(kode_desa):
#informasi bumdes
@main.route("/api/desa/bumdes/<kode_desa>")
def get_status_bumdes_desa(kode_desa):
data = apiController.getBumdesDesa(conn,kode_desa)
with get_connection() as conn:
data = apiController.getBumdesDesa(conn,kode_desa)
return jsonify(data)
#informasi serapan
@main.route("/api/desa/serapan/<kode_desa>")
def get_pdesa_serapan(kode_desa):
data = apiController.getTotalSerapanDesa(conn,kode_desa)
with get_connection() as conn:
data = apiController.getTotalSerapanDesa(conn,kode_desa)
return jsonify(data)
#==================