Status Wilayah
This commit is contained in:
Binary file not shown.
Binary file not shown.
+282
-242
@@ -51,48 +51,57 @@ class apiController:
|
||||
def getStatusKecamatan(conn,kode_prov, kode_kabkota, kode_kecamatan):
|
||||
cur = conn.cursor()
|
||||
SQL = """
|
||||
SELECT
|
||||
tahun AS tahun,
|
||||
SELECT
|
||||
tahun as tahun,
|
||||
status as th,
|
||||
kode_provinsi,
|
||||
kabupaten_kota_kode,
|
||||
kecamatan_kode,
|
||||
kecamatan_kode,
|
||||
kecamatan_nama,
|
||||
COUNT(DISTINCT kelurahan_desa_id) AS `COUNT_DISTINCT(kelurahan_desa_id)`
|
||||
FROM (
|
||||
SELECT
|
||||
wp.id AS provinsi_id,
|
||||
wp.kode AS kode_provinsi,
|
||||
wkk.id AS kabupaten_kota_id,
|
||||
wkk.kode AS kabupaten_kota_kode,
|
||||
wkk.nama AS kabupaten_kota_nama,
|
||||
wk.id AS kecamatan_id,
|
||||
wk.kode AS kecamatan_kode,
|
||||
wk.nama AS kecamatan_nama,
|
||||
wkd.id AS kelurahan_desa_id,
|
||||
wkd.kode AS kelurahan_desa_kode,
|
||||
wkd.nama AS kelurahan_desa_nama,
|
||||
mid.status,
|
||||
mid.tahun
|
||||
FROM metrik_indeks_desa mid
|
||||
INNER JOIN wil_desa wkd ON mid.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 mid.tahun = (
|
||||
SELECT MAX(tahun) FROM metrik_indeks_desa LIMIT 1
|
||||
)
|
||||
) AS virtual_table
|
||||
WHERE kode_provinsi = %s
|
||||
AND kabupaten_kota_kode = %s
|
||||
COUNT(distinct kelurahan_desa_id) as `COUNT_DISTINCT(kelurahan_desa_id)`
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
wp.id as provinsi_id,
|
||||
wp.kode as kode_provinsi,
|
||||
wkk.id as kabupaten_kota_id,
|
||||
wkk.kode as kabupaten_kota_kode,
|
||||
wkk.nama as kabupaten_kota_nama,
|
||||
wk.id as kecamatan_id,
|
||||
wk.kode as kecamatan_kode,
|
||||
wk.nama as kecamatan_nama,
|
||||
wd.id as kelurahan_desa_id,
|
||||
wp.kode as kelurahan_desa_kode,
|
||||
wk.nama as kelurahan_desa_nama,
|
||||
mid.status,
|
||||
mid.tahun
|
||||
FROM
|
||||
metrik_indeks_desa mid
|
||||
JOIN wil_desa wd on
|
||||
wd.kode_int = mid.kode_desa
|
||||
JOIN wil_kecamatan wk on
|
||||
wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on
|
||||
wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on
|
||||
wp.id = wkk.provinsi_id
|
||||
where
|
||||
mid.tahun = (
|
||||
select
|
||||
MAX(tahun)
|
||||
from
|
||||
metrik_indeks_desa
|
||||
limit 1 ) ) as virtual_table
|
||||
WHERE provinsi_id = %s
|
||||
AND kecamatan_kode = %s
|
||||
GROUP BY tahun, status, kode_provinsi, kabupaten_kota_kode, kecamatan_kode, kecamatan_nama
|
||||
ORDER BY kecamatan_kode DESC;
|
||||
|
||||
"""
|
||||
try:
|
||||
cur.execute(SQL, (kode_prov, kode_kabkota, kode_kecamatan))
|
||||
cur.execute(SQL, (kode_prov, kode_kecamatan))
|
||||
print('status kecamtan :', cur._executed)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return []
|
||||
print(kode_prov, kode_kabkota, kode_kecamatan)
|
||||
result = cur.fetchall()
|
||||
@@ -140,11 +149,11 @@ class apiController:
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
# mid.status, mid.status, mid.tahun
|
||||
# from metrik_indeks_desa mid
|
||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
||||
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
||||
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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 mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
@@ -172,16 +181,16 @@ class apiController:
|
||||
wp.kode AS kode_provinsi,
|
||||
wkk.kode AS kabupaten_kota_kode,
|
||||
wkk.nama AS kabupaten_kota_nama,
|
||||
wkd.id AS kelurahan_desa_id,
|
||||
wk.id AS kelurahan_desa_id,
|
||||
mid.status,
|
||||
mid.tahun
|
||||
FROM metrik_indeks_desa mid
|
||||
INNER JOIN wil_desa wkd ON mid.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
|
||||
JOIN wil_desa wd on wd.kode_int = mid.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE mid.tahun = (SELECT MAX(tahun) FROM metrik_indeks_desa)
|
||||
AND wp.kode = %s
|
||||
AND wp.id = %s
|
||||
AND wkk.kode = %s
|
||||
) AS filtered_data
|
||||
GROUP BY tahun, status, kode_provinsi, kabupaten_kota_kode, kabupaten_kota_nama;
|
||||
@@ -205,11 +214,11 @@ class apiController:
|
||||
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
# mid.status, mid.status, mid.tahun
|
||||
# from metrik_indeks_desa mid
|
||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
||||
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
||||
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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 mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
@@ -235,13 +244,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mb.jenis, mb.jumlah
|
||||
from metric_bumdes mb
|
||||
inner join wil_desa wkd on mb.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
|
||||
from metrik_bumdes mb
|
||||
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
"""
|
||||
@@ -259,13 +268,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.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
|
||||
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
"""
|
||||
@@ -281,13 +290,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mpd.jenis_pendamping, mpd.jumlah
|
||||
from metric_pendamping_desa mpd
|
||||
INNER JOIN wil_desa wkd ON mdd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wp.kode = %s
|
||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
@@ -300,7 +309,7 @@ class apiController:
|
||||
return result
|
||||
|
||||
@staticmethod
|
||||
def getPendampingPerDesa(conn):
|
||||
def getPendampingPerDesa(conn, kode_desa):
|
||||
cur = conn.cursor()
|
||||
SQL = """
|
||||
SELECT jenis_pendamping AS jenis_pendamping, SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id) AS "SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id)"
|
||||
@@ -308,19 +317,22 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.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
|
||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id)" DESC
|
||||
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wk.kode = %s
|
||||
) AS virtual_table
|
||||
GROUP BY jenis_pendamping ORDER BY "SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id)" DESC
|
||||
LIMIT 10000;
|
||||
"""
|
||||
try:
|
||||
cur.execute(SQL)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return []
|
||||
result = cur.fetchall()
|
||||
return result
|
||||
@@ -334,13 +346,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mkd.jumlah
|
||||
from metric_koperasi_desa mkd
|
||||
inner join wil_desa wkd on mkd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
) AS virtual_table;
|
||||
"""
|
||||
cur.execute(SQL)
|
||||
@@ -356,13 +368,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mkd.jumlah
|
||||
from metric_koperasi_desa mkd
|
||||
inner join wil_desa wkd on mkd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
) AS virtual_table
|
||||
WHERE jumlah = 0
|
||||
LIMIT 50000;
|
||||
@@ -454,11 +466,11 @@ class apiController:
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
# mid.status, mid.status, mid.tahun
|
||||
# from metrik_indeks_desa mid
|
||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
||||
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
||||
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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 mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
@@ -479,11 +491,11 @@ class apiController:
|
||||
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
# mid.status, mid.status, mid.tahun
|
||||
# from metrik_indeks_desa mid
|
||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
||||
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
||||
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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 mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
@@ -512,11 +524,11 @@ class apiController:
|
||||
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
# mid.status, mid.status, mid.tahun
|
||||
# from metrik_indeks_desa mid
|
||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
||||
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
||||
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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 mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
@@ -540,13 +552,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mb.tipe, mb.jumlah
|
||||
from metrik_bumdes mb
|
||||
inner join wil_desa wkd on mb.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
|
||||
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wp.kode = %s
|
||||
) AS virtual_table GROUP BY tipe ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
@@ -568,13 +580,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mid.idm, mid.status, mid.tahun
|
||||
from metrik_indeks_desa mid
|
||||
inner join wil_desa wkd on mid.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
|
||||
JOIN wil_desa wd on wd.kode_int = mid.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
) AS virtual_table
|
||||
WHERE provinsi_kode = %s
|
||||
@@ -593,11 +605,11 @@ class apiController:
|
||||
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
# mid.status, mid.status, mid.tahun
|
||||
# from metrik_indeks_desa mid
|
||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
||||
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
||||
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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 mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
@@ -619,10 +631,10 @@ class apiController:
|
||||
# WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||
# ELSE 'Non Kopmer'
|
||||
# END AS status_koperasi,
|
||||
# COUNT(DISTINCT wkd.id) AS jumlah_desa
|
||||
# COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||
# FROM metric_koperasi_desa mkd
|
||||
# INNER JOIN wil_desa wkd ON mkd.kelurahan_desa_id = wkd.id
|
||||
# INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
||||
# INNER JOIN wil_desa wkd ON mkd.kelurahan_desa_id = wk.id
|
||||
# INNER JOIN wil_kecamatan wk ON wk.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 wp.kode = %s
|
||||
@@ -647,10 +659,10 @@ class apiController:
|
||||
SUM(mdd.salur_pagu) / 1000000000 AS serapan_per_1M,
|
||||
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
||||
FROM metrik_dana_desa mdd
|
||||
INNER JOIN wil_desa wkd ON mdd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mdd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE mdd.tahun = (SELECT tahun FROM latest_year)
|
||||
AND wp.kode = %s
|
||||
"""
|
||||
@@ -659,7 +671,46 @@ class apiController:
|
||||
for row in cur.fetchall():
|
||||
total_serapan += row[1]
|
||||
return {'jumlah_per_m':toRupiah(row[0]), 'persentage':round(row[1],2)}
|
||||
|
||||
@staticmethod
|
||||
def getTotalDana(conn, level,kode_lvl):
|
||||
print("data level:", level,kode_lvl)
|
||||
cursor = conn.cursor()
|
||||
level_conf = {
|
||||
'provinsi' : ('wil_provinsi','wp', 'kode'),
|
||||
'kabkota' : ('wil_kabupatenkota', 'wkk', 'kode'),
|
||||
'kecamatan' : ('wil_kecamatan', 'wk', 'kode'),
|
||||
'desa' : ('wil_desa', 'wd', 'kode')
|
||||
}
|
||||
|
||||
if level not in level_conf or not kode_lvl:
|
||||
print('level tidak valid')
|
||||
return
|
||||
tabel,alias, key = level_conf[level]
|
||||
query = f"""
|
||||
WITH latest_year AS (
|
||||
SELECT MAX(tahun) AS tahun FROM metrik_dana_desa
|
||||
)
|
||||
SELECT
|
||||
SUM(mdd.pagu) AS serapan_per_1M
|
||||
FROM metrik_dana_desa mdd
|
||||
JOIN wil_desa wd on wd.kode_int = mdd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE mdd.tahun = (SELECT tahun FROM latest_year)
|
||||
AND {alias}.{key} = '{kode_lvl}'
|
||||
"""
|
||||
print("Query :", query)
|
||||
try:
|
||||
cursor.execute(query)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return[]
|
||||
|
||||
result = cursor.fetchone()
|
||||
print("data:", query)
|
||||
return result
|
||||
|
||||
@staticmethod
|
||||
# def getStatusKecamatan(conn, kode_prov, kode_kabkota, kode_kecamatan):
|
||||
# cur = conn.cursor()
|
||||
@@ -676,11 +727,11 @@ class apiController:
|
||||
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
# mid.status, mid.status, mid.tahun
|
||||
# from metrik_indeks_desa mid
|
||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
||||
# inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
||||
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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 mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||
@@ -703,26 +754,27 @@ class apiController:
|
||||
def getBumdesKab(conn, kode_kab):
|
||||
cur = conn.cursor()
|
||||
SQL = """
|
||||
SELECT jenis AS jenis, 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,
|
||||
mb.jenis, mb.jumlah
|
||||
from metric_bumdes mb
|
||||
inner join wil_desa wkd on mb.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
|
||||
SELECT jenis, 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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mb.tipe as jenis, mb.jumlah
|
||||
FROM metrik_bumdes mb
|
||||
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wkk.kode = %s
|
||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)";
|
||||
"""
|
||||
try:
|
||||
cur.execute(SQL, (kode_prov,))
|
||||
except Exception as e:
|
||||
return []
|
||||
# try:
|
||||
cur.execute(SQL, (kode_kab,))
|
||||
# except Exception as e:
|
||||
# return []
|
||||
|
||||
result = cur.fetchall()
|
||||
return result
|
||||
|
||||
@@ -737,10 +789,10 @@ class apiController:
|
||||
SUM(mdd.salur_pagu) / 1000000000 AS serapan_per_1M,
|
||||
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
||||
FROM metrik_dana_desa mdd
|
||||
INNER JOIN wil_desa wkd ON mdd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mdd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE mdd.tahun = (SELECT tahun FROM latest_year) AND
|
||||
wkk.kode = %s
|
||||
"""
|
||||
@@ -764,13 +816,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.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
|
||||
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wkk.kode = %s
|
||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
@@ -791,12 +843,12 @@ class apiController:
|
||||
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||
ELSE 'Non Kopmer'
|
||||
END AS status_koperasi,
|
||||
COUNT(DISTINCT wkd.id) AS jumlah_desa
|
||||
COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||
FROM metric_koperasi_desa mkd
|
||||
INNER JOIN wil_desa wkd ON mkd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wkk.kode = %s
|
||||
GROUP BY status_koperasi
|
||||
LIMIT 50000;
|
||||
@@ -816,21 +868,21 @@ class apiController:
|
||||
def getBumdesKec(conn, kode_kec):
|
||||
cur = conn.cursor()
|
||||
SQL = """
|
||||
SELECT jenis AS jenis, 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,
|
||||
mb.jenis, mb.jumlah
|
||||
from metric_bumdes mb
|
||||
inner join wil_desa wkd on mb.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
|
||||
SELECT jenis, 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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mb.tipe as jenis, mb.jumlah
|
||||
FROM metrik_bumdes mb
|
||||
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wk.kode = %s
|
||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)";
|
||||
"""
|
||||
try:
|
||||
cur.execute(SQL,(kode_kec,))
|
||||
@@ -843,37 +895,22 @@ class apiController:
|
||||
def getTotalSerapanKec(conn, kode_kec):
|
||||
cur = conn.cursor()
|
||||
SQL = """
|
||||
SELECT
|
||||
SUM(serapan) / 1000000000 AS serapan_per_1M,
|
||||
(SUM(serapan) / NULLIF(SUM(pagu), 0)) * 100 AS persentase_serapan
|
||||
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,
|
||||
mdd.pagu, salur_pagu, mdd.persen_serapan, mdd.tahun_anggaran
|
||||
FROM metrik_dana_desa mdd
|
||||
INNER JOIN wil_desa wkd ON mdd.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 wk.kode = %s
|
||||
) AS virtual_table
|
||||
WHERE tahun_anggaran = 2024;
|
||||
select
|
||||
SUM(mdd.salur_pagu) serapan_per_milyar,
|
||||
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
||||
from metrik_dana_desa mdd
|
||||
join wil_desa as wd on wd.kode_int = mdd.kode_desa
|
||||
JOIN wil_kecamatan AS wk ON wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota AS wkk ON wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi AS wp ON wp.id = wkk.provinsi_id
|
||||
where wk.kode = %s
|
||||
"""
|
||||
try:
|
||||
cur.execute(SQL, (kode_kec,))
|
||||
except Exception as e:
|
||||
return []
|
||||
|
||||
total_serapan = 0
|
||||
total_per_m = 0
|
||||
for row in cur.fetchall():
|
||||
total_serapan += row[1] or 0
|
||||
total_per_m += row[0] or 0
|
||||
|
||||
return {'jumlah_per_m':toRupiah(total_per_m), 'persentage':round(total_serapan,2)}
|
||||
result = cur.fetchone()
|
||||
return result
|
||||
@staticmethod
|
||||
def getPendampingPerKec(conn, kode_kec):
|
||||
cursor = conn.cursor()
|
||||
@@ -883,13 +920,13 @@ class apiController:
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.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
|
||||
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wk.kode = %s
|
||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
@@ -910,12 +947,12 @@ class apiController:
|
||||
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||
ELSE 'Non Kopmer'
|
||||
END AS status_koperasi,
|
||||
COUNT(DISTINCT wkd.id) AS jumlah_desa
|
||||
COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||
FROM metric_koperasi_desa mkd
|
||||
INNER JOIN wil_desa wkd ON mkd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wk.kode = %s
|
||||
GROUP BY status_koperasi
|
||||
LIMIT 50000;
|
||||
@@ -944,22 +981,21 @@ class apiController:
|
||||
select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||
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 desa_id, wkd.kode kelurahan_desa_kode, wkd.nama kelurahan_desa_nama,
|
||||
wk.id desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mid.idm, mid.status, mid.tahun
|
||||
from metrik_indeks_desa mid
|
||||
inner join wil_desa wkd on mid.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
|
||||
JOIN wil_desa wd on wd.kode_int = mid.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1) AND
|
||||
wp.kode = %s AND
|
||||
wkk.kode = %s AND
|
||||
wk.kode = %s AND
|
||||
wkd.kode = %s
|
||||
wp.id = %s AND
|
||||
wd.kode = %s
|
||||
) AS virtual_table
|
||||
GROUP BY tahun, status,kode_provinsi, kelurahan_desa_kode,kelurahan_desa_nama ORDER BY status, kelurahan_desa_kode DESC
|
||||
"""
|
||||
cur.execute(SQL, (kode_prov, kode_kabkota, kode_kecamatan, kode_desa,))
|
||||
cur.execute(SQL, (kode_prov,kode_desa,))
|
||||
print(cur._executed)
|
||||
result = cur.fetchall()
|
||||
return result
|
||||
|
||||
@@ -972,19 +1008,21 @@ class apiController:
|
||||
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,
|
||||
mb.jenis, mb.jumlah
|
||||
from metric_bumdes mb
|
||||
inner join wil_desa wkd on mb.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
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mb.tipe as jenis, mb.jumlah
|
||||
from metrik_bumdes mb
|
||||
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wd.kode = %s
|
||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
||||
LIMIT 1000;
|
||||
"""
|
||||
|
||||
cur.execute(SQL,(kode_desa,))
|
||||
try:
|
||||
cur.execute(SQL,(kode_desa,))
|
||||
except Exception as e:
|
||||
return []
|
||||
result = cur.fetchall()
|
||||
return result
|
||||
|
||||
@@ -992,27 +1030,29 @@ class apiController:
|
||||
def getTotalSerapanDesa(conn, kode_desa):
|
||||
cur = conn.cursor()
|
||||
SQL = """
|
||||
SELECT
|
||||
SUM(serapan) / 1000000000 AS serapan_per_1M,pagu,
|
||||
(SUM(serapan) / NULLIF(SUM(pagu), 0)) * 100 AS persentase_serapan
|
||||
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,
|
||||
mdd.pagu, salur_pagu, mdd.persen_serapan, mdd.tahun_anggaran
|
||||
FROM metrik_dana_desa mdd
|
||||
INNER JOIN wil_desa wkd ON mdd.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
|
||||
WHERE tahun_anggaran = 2024
|
||||
group by pagu;
|
||||
SELECT
|
||||
SUM(serapan) AS serapan_per_1M,
|
||||
(SUM(serapan) / NULLIF(SUM(pagu), 0)) * 100 AS persentase_serapan
|
||||
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,
|
||||
wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.nama kelurahan_desa_nama,
|
||||
mdd.pagu, salur_pagu as serapan, mdd.tahun as tahun_anggaran
|
||||
FROM metrik_dana_desa mdd
|
||||
JOIN wil_desa wd on wd.kode_int = mdd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wd.kode = %s
|
||||
) AS virtual_table
|
||||
"""
|
||||
cur.execute(SQL, (kode_desa,))
|
||||
try:
|
||||
cur.execute(SQL, (kode_desa,))
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return []
|
||||
result = cur.fetchall()
|
||||
return result
|
||||
|
||||
@@ -1025,14 +1065,14 @@ class apiController:
|
||||
# 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,
|
||||
# wk.id kelurahan_desa_id, wk.kode kelurahan_desa_kode, wk.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_desa wkd on mpd.kelurahan_desa_id = wk.id
|
||||
# inner join wil_kecamatan wk on wk.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
|
||||
# WHERE wk.kode = %s
|
||||
# ) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||
# LIMIT 1000;
|
||||
# """
|
||||
@@ -1049,13 +1089,13 @@ class apiController:
|
||||
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||
ELSE 'Non Kopmer'
|
||||
END AS status_koperasi,
|
||||
COUNT(DISTINCT wkd.id) AS jumlah_desa
|
||||
COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||
FROM metric_koperasi_desa mkd
|
||||
INNER JOIN wil_desa wkd ON mkd.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
|
||||
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||
WHERE wk.kode = %s
|
||||
GROUP BY status_koperasi
|
||||
LIMIT 50000;
|
||||
"""
|
||||
|
||||
+9
-2
@@ -31,7 +31,13 @@ def get_connection():
|
||||
finally:
|
||||
if conn is not None and conn.is_connected():
|
||||
conn.close()
|
||||
|
||||
|
||||
@main.route('/api/status/danadesa/<level>/<kode>')
|
||||
def get_total_dana_by_level(level,kode):
|
||||
with get_connection() as conn:
|
||||
result = apiController.getTotalDana(conn,level,kode )
|
||||
return jsonify(result)
|
||||
|
||||
#========================================================
|
||||
# MAIN ROUTE
|
||||
#========================================================
|
||||
@@ -243,7 +249,8 @@ def get_status_by_desa(kode_prov, kode_kabkota, kode_kecamatan, kode_desa):
|
||||
|
||||
@main.route('/api/desa/koperasi/<kode_desa>')
|
||||
def get_koperasi_by_desa(kode_desa):
|
||||
data = apiController.getDesaDenganAtauTanpaKopmerDesa(conn, kode_desa)
|
||||
with get_connection() as conn:
|
||||
data = apiController.getDesaDenganAtauTanpaKopmerDesa(conn, kode_desa)
|
||||
return jsonify(data)
|
||||
|
||||
@main.route('/api/desa/pendamping/<kode_desa>')
|
||||
|
||||
Reference in New Issue
Block a user