Status Wilayah
This commit is contained in:
parent
ea99316d4c
commit
6be099fe2f
Binary file not shown.
Binary file not shown.
@ -52,47 +52,56 @@ class apiController:
|
|||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
SQL = """
|
SQL = """
|
||||||
SELECT
|
SELECT
|
||||||
tahun AS tahun,
|
tahun as tahun,
|
||||||
status as th,
|
status as th,
|
||||||
kode_provinsi,
|
kode_provinsi,
|
||||||
kabupaten_kota_kode,
|
kabupaten_kota_kode,
|
||||||
kecamatan_kode,
|
kecamatan_kode,
|
||||||
kecamatan_nama,
|
kecamatan_nama,
|
||||||
COUNT(DISTINCT kelurahan_desa_id) AS `COUNT_DISTINCT(kelurahan_desa_id)`
|
COUNT(distinct kelurahan_desa_id) as `COUNT_DISTINCT(kelurahan_desa_id)`
|
||||||
FROM (
|
FROM
|
||||||
|
(
|
||||||
SELECT
|
SELECT
|
||||||
wp.id AS provinsi_id,
|
wp.id as provinsi_id,
|
||||||
wp.kode AS kode_provinsi,
|
wp.kode as kode_provinsi,
|
||||||
wkk.id AS kabupaten_kota_id,
|
wkk.id as kabupaten_kota_id,
|
||||||
wkk.kode AS kabupaten_kota_kode,
|
wkk.kode as kabupaten_kota_kode,
|
||||||
wkk.nama AS kabupaten_kota_nama,
|
wkk.nama as kabupaten_kota_nama,
|
||||||
wk.id AS kecamatan_id,
|
wk.id as kecamatan_id,
|
||||||
wk.kode AS kecamatan_kode,
|
wk.kode as kecamatan_kode,
|
||||||
wk.nama AS kecamatan_nama,
|
wk.nama as kecamatan_nama,
|
||||||
wkd.id AS kelurahan_desa_id,
|
wd.id as kelurahan_desa_id,
|
||||||
wkd.kode AS kelurahan_desa_kode,
|
wp.kode as kelurahan_desa_kode,
|
||||||
wkd.nama AS kelurahan_desa_nama,
|
wk.nama as kelurahan_desa_nama,
|
||||||
mid.status,
|
mid.status,
|
||||||
mid.tahun
|
mid.tahun
|
||||||
FROM metrik_indeks_desa mid
|
FROM
|
||||||
INNER JOIN wil_desa wkd ON mid.desa_id = wkd.id
|
metrik_indeks_desa mid
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_desa wd on
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
wd.kode_int = mid.kode_desa
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_kecamatan wk on
|
||||||
WHERE mid.tahun = (
|
wk.id = wd.kecamatan_id
|
||||||
SELECT MAX(tahun) FROM metrik_indeks_desa LIMIT 1
|
JOIN wil_kabupatenkota wkk on
|
||||||
)
|
wkk.id = wk.kabupatenkota_id
|
||||||
) AS virtual_table
|
JOIN wil_provinsi wp on
|
||||||
WHERE kode_provinsi = %s
|
wp.id = wkk.provinsi_id
|
||||||
AND kabupaten_kota_kode = %s
|
where
|
||||||
|
mid.tahun = (
|
||||||
|
select
|
||||||
|
MAX(tahun)
|
||||||
|
from
|
||||||
|
metrik_indeks_desa
|
||||||
|
limit 1 ) ) as virtual_table
|
||||||
|
WHERE provinsi_id = %s
|
||||||
AND kecamatan_kode = %s
|
AND kecamatan_kode = %s
|
||||||
GROUP BY tahun, status, kode_provinsi, kabupaten_kota_kode, kecamatan_kode, kecamatan_nama
|
GROUP BY tahun, status, kode_provinsi, kabupaten_kota_kode, kecamatan_kode, kecamatan_nama
|
||||||
ORDER BY kecamatan_kode DESC;
|
ORDER BY kecamatan_kode DESC;
|
||||||
|
|
||||||
"""
|
"""
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
return []
|
return []
|
||||||
print(kode_prov, kode_kabkota, kode_kecamatan)
|
print(kode_prov, kode_kabkota, kode_kecamatan)
|
||||||
result = cur.fetchall()
|
result = cur.fetchall()
|
||||||
@ -140,11 +149,11 @@ class apiController:
|
|||||||
# select wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
# 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,
|
# 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 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
|
# mid.status, mid.status, mid.tahun
|
||||||
# from metrik_indeks_desa mid
|
# from metrik_indeks_desa mid
|
||||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
||||||
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||||
@ -172,16 +181,16 @@ class apiController:
|
|||||||
wp.kode AS kode_provinsi,
|
wp.kode AS kode_provinsi,
|
||||||
wkk.kode AS kabupaten_kota_kode,
|
wkk.kode AS kabupaten_kota_kode,
|
||||||
wkk.nama AS kabupaten_kota_nama,
|
wkk.nama AS kabupaten_kota_nama,
|
||||||
wkd.id AS kelurahan_desa_id,
|
wk.id AS kelurahan_desa_id,
|
||||||
mid.status,
|
mid.status,
|
||||||
mid.tahun
|
mid.tahun
|
||||||
FROM metrik_indeks_desa mid
|
FROM metrik_indeks_desa mid
|
||||||
INNER JOIN wil_desa wkd ON mid.desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mid.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE mid.tahun = (SELECT MAX(tahun) FROM metrik_indeks_desa)
|
WHERE mid.tahun = (SELECT MAX(tahun) FROM metrik_indeks_desa)
|
||||||
AND wp.kode = %s
|
AND wp.id = %s
|
||||||
AND wkk.kode = %s
|
AND wkk.kode = %s
|
||||||
) AS filtered_data
|
) AS filtered_data
|
||||||
GROUP BY tahun, status, kode_provinsi, kabupaten_kota_kode, kabupaten_kota_nama;
|
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,
|
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||||
# wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_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 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
|
# mid.status, mid.status, mid.tahun
|
||||||
# from metrik_indeks_desa mid
|
# from metrik_indeks_desa mid
|
||||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
||||||
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
# 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,
|
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,
|
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 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
|
mb.jenis, mb.jumlah
|
||||||
from metric_bumdes mb
|
from metrik_bumdes mb
|
||||||
inner join wil_desa wkd on mb.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
||||||
LIMIT 1000;
|
LIMIT 1000;
|
||||||
"""
|
"""
|
||||||
@ -259,13 +268,13 @@ class apiController:
|
|||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mpd.jenis_pendamping, mpd.jumlah
|
||||||
from metric_pendamping_desa mpd
|
from metric_pendamping_desa mpd
|
||||||
inner join wil_desa wkd on mpd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||||
LIMIT 1000;
|
LIMIT 1000;
|
||||||
"""
|
"""
|
||||||
@ -281,13 +290,13 @@ class apiController:
|
|||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mpd.jenis_pendamping, mpd.jumlah
|
||||||
from metric_pendamping_desa mpd
|
from metric_pendamping_desa mpd
|
||||||
INNER JOIN wil_desa wkd ON mdd.desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wp.kode = %s
|
WHERE wp.kode = %s
|
||||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||||
LIMIT 1000;
|
LIMIT 1000;
|
||||||
@ -300,7 +309,7 @@ class apiController:
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def getPendampingPerDesa(conn):
|
def getPendampingPerDesa(conn, kode_desa):
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
SQL = """
|
SQL = """
|
||||||
SELECT jenis_pendamping AS jenis_pendamping, SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id) AS "SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id)"
|
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,
|
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,
|
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 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
|
mpd.jenis_pendamping, mpd.jumlah
|
||||||
from metric_pendamping_desa mpd
|
from metric_pendamping_desa mpd
|
||||||
inner join wil_desa wkd on mpd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id)" DESC
|
WHERE wk.kode = %s
|
||||||
|
) AS virtual_table
|
||||||
|
GROUP BY jenis_pendamping ORDER BY "SUM(jumlah) / COUNT(DISTINCT kabupaten_kota_id)" DESC
|
||||||
LIMIT 10000;
|
LIMIT 10000;
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
cur.execute(SQL)
|
cur.execute(SQL)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
return []
|
return []
|
||||||
result = cur.fetchall()
|
result = cur.fetchall()
|
||||||
return result
|
return result
|
||||||
@ -334,13 +346,13 @@ class apiController:
|
|||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mkd.jumlah
|
||||||
from metric_koperasi_desa mkd
|
from metric_koperasi_desa mkd
|
||||||
inner join wil_desa wkd on mkd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
) AS virtual_table;
|
) AS virtual_table;
|
||||||
"""
|
"""
|
||||||
cur.execute(SQL)
|
cur.execute(SQL)
|
||||||
@ -356,13 +368,13 @@ class apiController:
|
|||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mkd.jumlah
|
||||||
from metric_koperasi_desa mkd
|
from metric_koperasi_desa mkd
|
||||||
inner join wil_desa wkd on mkd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
) AS virtual_table
|
) AS virtual_table
|
||||||
WHERE jumlah = 0
|
WHERE jumlah = 0
|
||||||
LIMIT 50000;
|
LIMIT 50000;
|
||||||
@ -454,11 +466,11 @@ class apiController:
|
|||||||
# select wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
# 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,
|
# 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 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
|
# mid.status, mid.status, mid.tahun
|
||||||
# from metrik_indeks_desa mid
|
# from metrik_indeks_desa mid
|
||||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
||||||
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
# 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,
|
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||||
# wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_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 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
|
# mid.status, mid.status, mid.tahun
|
||||||
# from metrik_indeks_desa mid
|
# from metrik_indeks_desa mid
|
||||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
||||||
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
# 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,
|
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||||
# wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_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 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
|
# mid.status, mid.status, mid.tahun
|
||||||
# from metrik_indeks_desa mid
|
# from metrik_indeks_desa mid
|
||||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
||||||
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
# 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,
|
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,
|
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 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
|
mb.tipe, mb.jumlah
|
||||||
from metrik_bumdes mb
|
from metrik_bumdes mb
|
||||||
inner join wil_desa wkd on mb.desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wp.kode = %s
|
WHERE wp.kode = %s
|
||||||
) AS virtual_table GROUP BY tipe ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY tipe ORDER BY "SUM(jumlah)" DESC
|
||||||
LIMIT 1000;
|
LIMIT 1000;
|
||||||
@ -568,13 +580,13 @@ class apiController:
|
|||||||
select wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mid.idm, mid.status, mid.tahun
|
||||||
from metrik_indeks_desa mid
|
from metrik_indeks_desa mid
|
||||||
inner join wil_desa wkd on mid.desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mid.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||||
) AS virtual_table
|
) AS virtual_table
|
||||||
WHERE provinsi_kode = %s
|
WHERE provinsi_kode = %s
|
||||||
@ -593,11 +605,11 @@ class apiController:
|
|||||||
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||||
# wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_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 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
|
# mid.status, mid.status, mid.tahun
|
||||||
# from metrik_indeks_desa mid
|
# from metrik_indeks_desa mid
|
||||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
||||||
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||||
@ -619,10 +631,10 @@ class apiController:
|
|||||||
# WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
# WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||||
# ELSE 'Non Kopmer'
|
# ELSE 'Non Kopmer'
|
||||||
# END AS status_koperasi,
|
# END AS status_koperasi,
|
||||||
# COUNT(DISTINCT wkd.id) AS jumlah_desa
|
# COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||||
# FROM metric_koperasi_desa mkd
|
# FROM metric_koperasi_desa mkd
|
||||||
# INNER JOIN wil_desa wkd ON mkd.kelurahan_desa_id = wkd.id
|
# INNER JOIN wil_desa wkd ON mkd.kelurahan_desa_id = wk.id
|
||||||
# INNER JOIN wil_kecamatan wk ON wkd.kecamatan_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_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
||||||
# INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
# INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
||||||
# WHERE wp.kode = %s
|
# WHERE wp.kode = %s
|
||||||
@ -647,10 +659,10 @@ class apiController:
|
|||||||
SUM(mdd.salur_pagu) / 1000000000 AS serapan_per_1M,
|
SUM(mdd.salur_pagu) / 1000000000 AS serapan_per_1M,
|
||||||
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
||||||
FROM metrik_dana_desa mdd
|
FROM metrik_dana_desa mdd
|
||||||
INNER JOIN wil_desa wkd ON mdd.desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mdd.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE mdd.tahun = (SELECT tahun FROM latest_year)
|
WHERE mdd.tahun = (SELECT tahun FROM latest_year)
|
||||||
AND wp.kode = %s
|
AND wp.kode = %s
|
||||||
"""
|
"""
|
||||||
@ -659,6 +671,45 @@ class apiController:
|
|||||||
for row in cur.fetchall():
|
for row in cur.fetchall():
|
||||||
total_serapan += row[1]
|
total_serapan += row[1]
|
||||||
return {'jumlah_per_m':toRupiah(row[0]), 'persentage':round(row[1],2)}
|
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
|
@staticmethod
|
||||||
# def getStatusKecamatan(conn, kode_prov, kode_kabkota, kode_kecamatan):
|
# def getStatusKecamatan(conn, kode_prov, kode_kabkota, kode_kecamatan):
|
||||||
@ -676,11 +727,11 @@ class apiController:
|
|||||||
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
# select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||||
# wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_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 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
|
# mid.status, mid.status, mid.tahun
|
||||||
# from metrik_indeks_desa mid
|
# from metrik_indeks_desa mid
|
||||||
# inner join wil_desa wkd on mid.desa_id = wkd.id
|
# inner join wil_desa wkd on mid.desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
# inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
||||||
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
# where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1)
|
||||||
@ -703,26 +754,27 @@ class apiController:
|
|||||||
def getBumdesKab(conn, kode_kab):
|
def getBumdesKab(conn, kode_kab):
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
SQL = """
|
SQL = """
|
||||||
SELECT jenis AS jenis, sum(jumlah) AS "SUM(jumlah)"
|
SELECT jenis, sum(jumlah) AS "SUM(jumlah)"
|
||||||
FROM (select
|
FROM (
|
||||||
|
SELECT
|
||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mb.tipe as jenis, mb.jumlah
|
||||||
from metric_bumdes mb
|
FROM metrik_bumdes mb
|
||||||
inner join wil_desa wkd on mb.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wkk.kode = %s
|
WHERE wkk.kode = %s
|
||||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)";
|
||||||
LIMIT 1000;
|
|
||||||
"""
|
"""
|
||||||
try:
|
# try:
|
||||||
cur.execute(SQL, (kode_prov,))
|
cur.execute(SQL, (kode_kab,))
|
||||||
except Exception as e:
|
# except Exception as e:
|
||||||
return []
|
# return []
|
||||||
|
|
||||||
result = cur.fetchall()
|
result = cur.fetchall()
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@ -737,10 +789,10 @@ class apiController:
|
|||||||
SUM(mdd.salur_pagu) / 1000000000 AS serapan_per_1M,
|
SUM(mdd.salur_pagu) / 1000000000 AS serapan_per_1M,
|
||||||
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
||||||
FROM metrik_dana_desa mdd
|
FROM metrik_dana_desa mdd
|
||||||
INNER JOIN wil_desa wkd ON mdd.desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mdd.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE mdd.tahun = (SELECT tahun FROM latest_year) AND
|
WHERE mdd.tahun = (SELECT tahun FROM latest_year) AND
|
||||||
wkk.kode = %s
|
wkk.kode = %s
|
||||||
"""
|
"""
|
||||||
@ -764,13 +816,13 @@ class apiController:
|
|||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mpd.jenis_pendamping, mpd.jumlah
|
||||||
from metric_pendamping_desa mpd
|
from metric_pendamping_desa mpd
|
||||||
inner join wil_desa wkd on mpd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wkk.kode = %s
|
WHERE wkk.kode = %s
|
||||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||||
LIMIT 1000;
|
LIMIT 1000;
|
||||||
@ -791,12 +843,12 @@ class apiController:
|
|||||||
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||||
ELSE 'Non Kopmer'
|
ELSE 'Non Kopmer'
|
||||||
END AS status_koperasi,
|
END AS status_koperasi,
|
||||||
COUNT(DISTINCT wkd.id) AS jumlah_desa
|
COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||||
FROM metric_koperasi_desa mkd
|
FROM metric_koperasi_desa mkd
|
||||||
INNER JOIN wil_desa wkd ON mkd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wkk.kode = %s
|
WHERE wkk.kode = %s
|
||||||
GROUP BY status_koperasi
|
GROUP BY status_koperasi
|
||||||
LIMIT 50000;
|
LIMIT 50000;
|
||||||
@ -816,21 +868,21 @@ class apiController:
|
|||||||
def getBumdesKec(conn, kode_kec):
|
def getBumdesKec(conn, kode_kec):
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
SQL = """
|
SQL = """
|
||||||
SELECT jenis AS jenis, sum(jumlah) AS "SUM(jumlah)"
|
SELECT jenis, sum(jumlah) AS "SUM(jumlah)"
|
||||||
FROM (select
|
FROM (
|
||||||
|
SELECT
|
||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mb.tipe as jenis, mb.jumlah
|
||||||
from metric_bumdes mb
|
FROM metrik_bumdes mb
|
||||||
inner join wil_desa wkd on mb.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wk.kode = %s
|
WHERE wk.kode = %s
|
||||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)";
|
||||||
LIMIT 1000;
|
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
cur.execute(SQL,(kode_kec,))
|
cur.execute(SQL,(kode_kec,))
|
||||||
@ -843,37 +895,22 @@ class apiController:
|
|||||||
def getTotalSerapanKec(conn, kode_kec):
|
def getTotalSerapanKec(conn, kode_kec):
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
SQL = """
|
SQL = """
|
||||||
SELECT
|
select
|
||||||
SUM(serapan) / 1000000000 AS serapan_per_1M,
|
SUM(mdd.salur_pagu) serapan_per_milyar,
|
||||||
(SUM(serapan) / NULLIF(SUM(pagu), 0)) * 100 AS persentase_serapan
|
(SUM(mdd.salur_pagu) / NULLIF(SUM(mdd.pagu), 0)) * 100 AS persentase_serapan
|
||||||
FROM (
|
from metrik_dana_desa mdd
|
||||||
SELECT
|
join wil_desa as wd on wd.kode_int = mdd.kode_desa
|
||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
JOIN wil_kecamatan AS wk ON wk.id = wd.kecamatan_id
|
||||||
wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_nama,
|
JOIN wil_kabupatenkota AS wkk ON wkk.id = wk.kabupatenkota_id
|
||||||
wk.id kecamatan_id, wk.kode kecamatan_kode, wk.nama kecamatan_nama,
|
JOIN wil_provinsi AS wp ON wp.id = wkk.provinsi_id
|
||||||
wkd.id kelurahan_desa_id, wkd.kode kelurahan_desa_kode, wkd.nama kelurahan_desa_nama,
|
where wk.kode = %s
|
||||||
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;
|
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
cur.execute(SQL, (kode_kec,))
|
cur.execute(SQL, (kode_kec,))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return []
|
return []
|
||||||
|
result = cur.fetchone()
|
||||||
total_serapan = 0
|
return result
|
||||||
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)}
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def getPendampingPerKec(conn, kode_kec):
|
def getPendampingPerKec(conn, kode_kec):
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
@ -883,13 +920,13 @@ class apiController:
|
|||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mpd.jenis_pendamping, mpd.jumlah
|
||||||
from metric_pendamping_desa mpd
|
from metric_pendamping_desa mpd
|
||||||
inner join wil_desa wkd on mpd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mpd.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wk.kode = %s
|
WHERE wk.kode = %s
|
||||||
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||||
LIMIT 1000;
|
LIMIT 1000;
|
||||||
@ -910,12 +947,12 @@ class apiController:
|
|||||||
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||||
ELSE 'Non Kopmer'
|
ELSE 'Non Kopmer'
|
||||||
END AS status_koperasi,
|
END AS status_koperasi,
|
||||||
COUNT(DISTINCT wkd.id) AS jumlah_desa
|
COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||||
FROM metric_koperasi_desa mkd
|
FROM metric_koperasi_desa mkd
|
||||||
INNER JOIN wil_desa wkd ON mkd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wk.kode = %s
|
WHERE wk.kode = %s
|
||||||
GROUP BY status_koperasi
|
GROUP BY status_koperasi
|
||||||
LIMIT 50000;
|
LIMIT 50000;
|
||||||
@ -944,22 +981,21 @@ class apiController:
|
|||||||
select wp.id provinsi_id, wp.kode kode_provinsi,
|
select wp.id provinsi_id, wp.kode kode_provinsi,
|
||||||
wkk.id kabupaten_kota_id, wkk.kode kabupaten_kota_kode, wkk.nama kabupaten_kota_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 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
|
mid.idm, mid.status, mid.tahun
|
||||||
from metrik_indeks_desa mid
|
from metrik_indeks_desa mid
|
||||||
inner join wil_desa wkd on mid.desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mid.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1) AND
|
where mid.tahun = (select max(tahun) from metrik_indeks_desa limit 1) AND
|
||||||
wp.kode = %s AND
|
wp.id = %s AND
|
||||||
wkk.kode = %s AND
|
wd.kode = %s
|
||||||
wk.kode = %s AND
|
|
||||||
wkd.kode = %s
|
|
||||||
) AS virtual_table
|
) AS virtual_table
|
||||||
GROUP BY tahun, status,kode_provinsi, kelurahan_desa_kode,kelurahan_desa_nama ORDER BY status, kelurahan_desa_kode DESC
|
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()
|
result = cur.fetchall()
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@ -972,19 +1008,21 @@ class apiController:
|
|||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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
|
mb.tipe as jenis, mb.jumlah
|
||||||
from metric_bumdes mb
|
from metrik_bumdes mb
|
||||||
inner join wil_desa wkd on mb.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mb.kode_desa
|
||||||
inner join wil_kecamatan wk on wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
inner join wil_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
inner join wil_provinsi wp on wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wkd.kode = %s
|
WHERE wd.kode = %s
|
||||||
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
) AS virtual_table GROUP BY jenis ORDER BY "SUM(jumlah)" DESC
|
||||||
LIMIT 1000;
|
LIMIT 1000;
|
||||||
"""
|
"""
|
||||||
|
try:
|
||||||
cur.execute(SQL,(kode_desa,))
|
cur.execute(SQL,(kode_desa,))
|
||||||
|
except Exception as e:
|
||||||
|
return []
|
||||||
result = cur.fetchall()
|
result = cur.fetchall()
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@ -993,26 +1031,28 @@ class apiController:
|
|||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
SQL = """
|
SQL = """
|
||||||
SELECT
|
SELECT
|
||||||
SUM(serapan) / 1000000000 AS serapan_per_1M,pagu,
|
SUM(serapan) AS serapan_per_1M,
|
||||||
(SUM(serapan) / NULLIF(SUM(pagu), 0)) * 100 AS persentase_serapan
|
(SUM(serapan) / NULLIF(SUM(pagu), 0)) * 100 AS persentase_serapan
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
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,
|
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 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,
|
||||||
mdd.pagu, salur_pagu, mdd.persen_serapan, mdd.tahun_anggaran
|
mdd.pagu, salur_pagu as serapan, mdd.tahun as tahun_anggaran
|
||||||
FROM metrik_dana_desa mdd
|
FROM metrik_dana_desa mdd
|
||||||
INNER JOIN wil_desa wkd ON mdd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mdd.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wkd.kode = %s
|
WHERE wd.kode = %s
|
||||||
) AS virtual_table
|
) AS virtual_table
|
||||||
WHERE tahun_anggaran = 2024
|
|
||||||
group by pagu;
|
|
||||||
"""
|
"""
|
||||||
|
try:
|
||||||
cur.execute(SQL, (kode_desa,))
|
cur.execute(SQL, (kode_desa,))
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
return []
|
||||||
result = cur.fetchall()
|
result = cur.fetchall()
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@ -1025,14 +1065,14 @@ class apiController:
|
|||||||
# wp.id provinsi_id, wp.kode provinsi_kode, wp.nama provinsi_nama,
|
# 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,
|
# 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 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
|
# mpd.jenis_pendamping, mpd.jumlah
|
||||||
# from metric_pendamping_desa mpd
|
# from metric_pendamping_desa mpd
|
||||||
# inner join wil_desa wkd on mpd.kelurahan_desa_id = wkd.id
|
# inner join wil_desa wkd on mpd.kelurahan_desa_id = wk.id
|
||||||
# inner join wil_kecamatan wk on wkd.kecamatan_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_kabupatenkota wkk on wk.kabupatenkota_id = wkk.id
|
||||||
# inner join wil_provinsi wp on wkk.provinsi_id = wp.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
|
# ) AS virtual_table GROUP BY jenis_pendamping ORDER BY "SUM(jumlah)" DESC
|
||||||
# LIMIT 1000;
|
# LIMIT 1000;
|
||||||
# """
|
# """
|
||||||
@ -1049,13 +1089,13 @@ class apiController:
|
|||||||
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
WHEN mkd.jumlah > 0 THEN 'Kopmer'
|
||||||
ELSE 'Non Kopmer'
|
ELSE 'Non Kopmer'
|
||||||
END AS status_koperasi,
|
END AS status_koperasi,
|
||||||
COUNT(DISTINCT wkd.id) AS jumlah_desa
|
COUNT(DISTINCT wk.id) AS jumlah_desa
|
||||||
FROM metric_koperasi_desa mkd
|
FROM metric_koperasi_desa mkd
|
||||||
INNER JOIN wil_desa wkd ON mkd.kelurahan_desa_id = wkd.id
|
JOIN wil_desa wd on wd.kode_int = mkd.kode_desa
|
||||||
INNER JOIN wil_kecamatan wk ON wkd.kecamatan_id = wk.id
|
JOIN wil_kecamatan wk on wk.id = wd.kecamatan_id
|
||||||
INNER JOIN wil_kabupatenkota wkk ON wk.kabupatenkota_id = wkk.id
|
JOIN wil_kabupatenkota wkk on wkk.id = wk.kabupatenkota_id
|
||||||
INNER JOIN wil_provinsi wp ON wkk.provinsi_id = wp.id
|
JOIN wil_provinsi wp on wp.id = wkk.provinsi_id
|
||||||
WHERE wkd.kode = %s
|
WHERE wk.kode = %s
|
||||||
GROUP BY status_koperasi
|
GROUP BY status_koperasi
|
||||||
LIMIT 50000;
|
LIMIT 50000;
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -32,6 +32,12 @@ def get_connection():
|
|||||||
if conn is not None and conn.is_connected():
|
if conn is not None and conn.is_connected():
|
||||||
conn.close()
|
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
|
# MAIN ROUTE
|
||||||
#========================================================
|
#========================================================
|
||||||
@ -243,6 +249,7 @@ def get_status_by_desa(kode_prov, kode_kabkota, kode_kecamatan, kode_desa):
|
|||||||
|
|
||||||
@main.route('/api/desa/koperasi/<kode_desa>')
|
@main.route('/api/desa/koperasi/<kode_desa>')
|
||||||
def get_koperasi_by_desa(kode_desa):
|
def get_koperasi_by_desa(kode_desa):
|
||||||
|
with get_connection() as conn:
|
||||||
data = apiController.getDesaDenganAtauTanpaKopmerDesa(conn, kode_desa)
|
data = apiController.getDesaDenganAtauTanpaKopmerDesa(conn, kode_desa)
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
|
|||||||
@ -284,33 +284,27 @@
|
|||||||
|
|
||||||
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
||||||
if (Array.isArray(status?.[0])) {
|
if (Array.isArray(status?.[0])) {
|
||||||
indexDesaHTML = status[0]
|
provIndexDesaHTML = status[0]
|
||||||
.map(d => `${d[1]}: ${d[4]} / `)
|
.map(d => `${d[1]}: ${d[4]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
bumdesHTML = status[1]
|
provBumdesHTML = status[1]
|
||||||
.map(dt => `${dt[0]}:${dt[1]} / `)
|
.map(dt => `${dt[0]}:${dt[1]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
danadesaHTML = `Dana :${status[2].jumlah_per_m}, Persentase : ${status[2].persentage}%`;
|
const raw = Number(status[5]);
|
||||||
serapanHTML = status[3]
|
provDanaTotalHTML = `Total : ${formatWithUnit(raw)}`;
|
||||||
.map(([jabatan, nilai]) => {
|
provDanadesaHTML = `Total : ${status[2].jumlah_per_m}, Persentase : ${status[2].persentage}%`;
|
||||||
const alias = jabatan === 'Pendamping Lokal Desa' ? 'PLD' :
|
provKoperasiHTML = status[4]
|
||||||
jabatan === 'Pendamping Desa' ? 'PD' :
|
|
||||||
jabatan;
|
|
||||||
return `${alias}: ${nilai}`;
|
|
||||||
}).join("");
|
|
||||||
|
|
||||||
koperasiHTML = status[4]
|
|
||||||
.map(dt => `${dt[0]}: ${dt[1]} / `)
|
.map(dt => `${dt[0]}: ${dt[1]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
}
|
}
|
||||||
const popupContent = `
|
const popupContent = `
|
||||||
<strong>${feature.properties.nama}</strong><br/>
|
<strong>${feature.properties.nama}</strong><br/>
|
||||||
<strong>Status Desa:</strong>
|
<strong>Status Desa:</strong>
|
||||||
<li>IDM - ${indexDesaHTML}</li>
|
<li>IDM - ${provIndexDesaHTML}</li>
|
||||||
<li>BUM - ${bumdesHTML}</li>
|
<li>BUM - ${provBumdesHTML}</li>
|
||||||
<li>DD - ${danadesaHTML}</li>
|
<li>DD - ${provDanaTotalHTML}</li>
|
||||||
<li>SERAPAN - ${serapanHTML} </li>
|
<li>SERAPAN - ${provDanadesaHTML} </li>
|
||||||
<li>KOPERASI - ${koperasiHTML} </li>
|
<li>KOPERASI - ${provKoperasiHTML} </li>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
layer.bindPopup(popupContent).openPopup(e.latlng);
|
layer.bindPopup(popupContent).openPopup(e.latlng);
|
||||||
@ -322,15 +316,19 @@
|
|||||||
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
||||||
|
|
||||||
if (Array.isArray(status?.[0])) {
|
if (Array.isArray(status?.[0])) {
|
||||||
indexDesaHTML = status[0]
|
kabindexDesaHTML= status[0]
|
||||||
.map(d => `${d[1]}: ${d[5]} / `)
|
.map(d => `${d[1]}: ${d[5]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
|
|
||||||
bumdesHTML = status[1]
|
kabbumdesHTML = status[1]
|
||||||
.map(dt => `${dt[0]}:${dt[1]} / `)
|
.map(dt => `${dt[0]}:${dt[1]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
danadesaHTML = `Dana :${status[2].jumlah_per_m}, Persentase : ${status[2].persentage}%`;
|
|
||||||
serapanHTML = status[3]
|
const raw = Number(status[5]);
|
||||||
|
kabdanaTotalHTML = `Total : ${formatWithUnit(raw)}`;
|
||||||
|
|
||||||
|
kabdanadesaHTML = `Dana :${status[2].jumlah_per_m}, Persentase : ${status[2].persentage}%`;
|
||||||
|
kabserapanHTML = status[3]
|
||||||
.map(([jabatan, nilai]) => {
|
.map(([jabatan, nilai]) => {
|
||||||
const alias = jabatan === 'Pendamping Lokal Desa' ? 'PLD' :
|
const alias = jabatan === 'Pendamping Lokal Desa' ? 'PLD' :
|
||||||
jabatan === 'Pendamping Desa' ? 'PD' :
|
jabatan === 'Pendamping Desa' ? 'PD' :
|
||||||
@ -338,18 +336,18 @@
|
|||||||
return `${alias}: ${nilai} /`;
|
return `${alias}: ${nilai} /`;
|
||||||
}).join("");
|
}).join("");
|
||||||
|
|
||||||
koperasiHTML = status[4]
|
kabkoperasiHTML = status[4]
|
||||||
.map(dt => `${dt[0]}: ${dt[1]} / `)
|
.map(dt => `${dt[0]}: ${dt[1]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
}
|
}
|
||||||
const popupContent = `
|
const popupContent = `
|
||||||
<strong>${feature.properties.nama}</strong><br/>
|
<strong>${feature.properties.nama}</strong><br/>
|
||||||
<strong>Status Desa (Kabupaten):</strong>
|
<strong>Status Desa (Kabupaten):</strong>
|
||||||
<li>IDM - ${indexDesaHTML}</li>
|
<li>IDM - ${kabindexDesaHTML}</li>
|
||||||
<li>BUM - ${bumdesHTML}</li>
|
<li>BUM - ${kabbumdesHTML}</li>
|
||||||
<li>DD - ${danadesaHTML}</li>
|
<li>DD - ${kabdanaTotalHTML}</li>
|
||||||
<li>SERAPAN - ${serapanHTML} </li>
|
<li>SERAPAN - ${kabdanadesaHTML} </li>
|
||||||
<li>KOPERASI - ${koperasiHTML} </li>
|
<li>KOPERASI - ${kabkoperasiHTML} </li>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
layer.bindPopup(popupContent).openPopup(e.latlng);
|
layer.bindPopup(popupContent).openPopup(e.latlng);
|
||||||
@ -357,20 +355,25 @@
|
|||||||
} else if (currentLevel === 'kecamatan'){
|
} else if (currentLevel === 'kecamatan'){
|
||||||
const province_code = localStorage.getItem('kode_provinsi')
|
const province_code = localStorage.getItem('kode_provinsi')
|
||||||
const region_code = localStorage.getItem('kode_kabupatenkota')
|
const region_code = localStorage.getItem('kode_kabupatenkota')
|
||||||
localStorage.setItem('kode_kecamatan',feature.properties.kode)
|
localStorage.setItem('kode_kecamatan',feature.properties.id)
|
||||||
const status = await fetchStatusDesaByKecamatan(province_code, region_code, feature.properties.kode)
|
const status = await fetchStatusDesaByKecamatan(province_code, region_code, feature.properties.kode)
|
||||||
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
||||||
|
|
||||||
if (Array.isArray(status?.[0])) {
|
if (Array.isArray(status?.[0])) {
|
||||||
indexDesaHTML = status[0]
|
kecindexDesaHTML = status[0]
|
||||||
.map(d => `${d[1]}: ${d[6]} / `)
|
.map(d => `${d[1]}: ${d[6]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
|
|
||||||
bumdesHTML = status[1]
|
kecbumdesHTML = status[1]
|
||||||
.map(dt => `${dt[0]}:${dt[1]} / `)
|
.map(dt => `${dt[0]}:${dt[1]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
danadesaHTML = `Dana :${status[2].jumlah_per_m}, Persentase : ${status[2].persentage}%`;
|
|
||||||
serapanHTML = status[3]
|
const raw = Number(status[5]);
|
||||||
|
kecdanaTotalHTML = `Total : ${formatWithUnit(raw)}`;
|
||||||
|
|
||||||
|
kecdanadesaHTML = `Total: ${formatWithUnit(status[2][0])} / Persen: ${Math.round(status[2][1])}`;
|
||||||
|
|
||||||
|
kecserapanHTML = status[3]
|
||||||
.map(([jabatan, nilai]) => {
|
.map(([jabatan, nilai]) => {
|
||||||
const alias = jabatan === 'Pendamping Lokal Desa' ? 'PLD' :
|
const alias = jabatan === 'Pendamping Lokal Desa' ? 'PLD' :
|
||||||
jabatan === 'Pendamping Desa' ? 'PD' :
|
jabatan === 'Pendamping Desa' ? 'PD' :
|
||||||
@ -378,7 +381,7 @@
|
|||||||
return `${alias}: ${nilai} /`;
|
return `${alias}: ${nilai} /`;
|
||||||
}).join("");
|
}).join("");
|
||||||
|
|
||||||
koperasiHTML = status[4]
|
keckoperasiHTML = status[4]
|
||||||
.map(dt => `${dt[0]}: ${dt[1]} / `)
|
.map(dt => `${dt[0]}: ${dt[1]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
}
|
}
|
||||||
@ -387,12 +390,11 @@
|
|||||||
`
|
`
|
||||||
<strong> ${feature.properties.nama}</strong>
|
<strong> ${feature.properties.nama}</strong>
|
||||||
<strong>Status Desa (Kecamatan):</strong>
|
<strong>Status Desa (Kecamatan):</strong>
|
||||||
<strong>Status Desa:</strong>
|
<li>IDM - ${kecindexDesaHTML}</li>
|
||||||
<li>IDM - ${indexDesaHTML}</li>
|
<li>BUM - ${kecbumdesHTML}</li>
|
||||||
<li>BUM - ${bumdesHTML}</li>
|
<li>DD - ${kecdanaTotalHTML}</li>
|
||||||
<li>DD - ${danadesaHTML}</li>
|
<li>SERAPAN - ${kecdanadesaHTML} </li>
|
||||||
<li>SERAPAN - ${serapanHTML} </li>
|
<li>KOPERASI - ${keckoperasiHTML} </li>
|
||||||
<li>KOPERASI - ${koperasiHTML} </li>
|
|
||||||
`
|
`
|
||||||
layer.bindPopup(popupContent).openPopup(e.latlng);
|
layer.bindPopup(popupContent).openPopup(e.latlng);
|
||||||
}else {
|
}else {
|
||||||
@ -400,19 +402,24 @@
|
|||||||
const province_code = localStorage.getItem('kode_provinsi')
|
const province_code = localStorage.getItem('kode_provinsi')
|
||||||
const region_code = localStorage.getItem('kode_kabupatenkota')
|
const region_code = localStorage.getItem('kode_kabupatenkota')
|
||||||
const district_code = localStorage.getItem('kode_kecamatan')
|
const district_code = localStorage.getItem('kode_kecamatan')
|
||||||
|
console.log(province_code, region_code , district_code, feature.properties.kode)
|
||||||
const status = await fetchStatusDesaByDesa(province_code, region_code , district_code, feature.properties.kode);
|
const status = await fetchStatusDesaByDesa(province_code, region_code , district_code, feature.properties.kode);
|
||||||
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
let klasifikasiHTML = "<li>Tidak ada data</li>";
|
||||||
|
|
||||||
if (Array.isArray(status?.[0])) {
|
if (Array.isArray(status?.[0])) {
|
||||||
indexDesaHTML = status[0]
|
indexDesaHTML = status[0]
|
||||||
.map(d => `${d[1]}: ${d[5]} / `)
|
.map(d => `${d[1]}`)
|
||||||
.join("");
|
.join("");
|
||||||
|
|
||||||
bumdesHTML = status[1]
|
bumdesHTML = status[1]
|
||||||
.map(dt => `${dt[0]}:${dt[1]} / `)
|
.map(dt => `${dt[0]}:${dt[1]} / `)
|
||||||
.join("");
|
.join("");
|
||||||
danadesaHTML = `Dana :${status[2].jumlah_per_m}, Persentase : ${status[2].persentage}%`;
|
|
||||||
|
const raw = Number(status[5]);
|
||||||
|
danaTotalHTML = `Total : ${formatWithUnit(raw)}`;
|
||||||
|
danadesaHTML = status[2].map(([serapan,persen]) => {
|
||||||
|
return `Nominal - ${formatWithUnit(serapan)} / Persen - ${Math.round(persen)}%`;
|
||||||
|
});
|
||||||
serapanHTML = status[3]
|
serapanHTML = status[3]
|
||||||
.map(([jabatan, nilai]) => {
|
.map(([jabatan, nilai]) => {
|
||||||
const alias = jabatan === 'Pendamping Lokal Desa' ? 'PLD' :
|
const alias = jabatan === 'Pendamping Lokal Desa' ? 'PLD' :
|
||||||
@ -430,8 +437,8 @@
|
|||||||
<strong>Status Desa (Desa):</strong>
|
<strong>Status Desa (Desa):</strong>
|
||||||
<li>IDM - ${indexDesaHTML}</li>
|
<li>IDM - ${indexDesaHTML}</li>
|
||||||
<li>BUM - ${bumdesHTML}</li>
|
<li>BUM - ${bumdesHTML}</li>
|
||||||
<li>DD - ${danadesaHTML}</li>
|
<li>DD - ${danaTotalHTML}</li>
|
||||||
<li>SERAPAN - ${serapanHTML} </li>
|
<li>SERAPAN - ${danadesaHTML} </li>
|
||||||
<li>KOPERASI - ${koperasiHTML} </li>
|
<li>KOPERASI - ${koperasiHTML} </li>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -453,14 +460,35 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function formatWithUnit(value) {
|
||||||
|
const abs = Math.abs(value);
|
||||||
|
let scaled, unit;
|
||||||
|
|
||||||
|
if (abs >= 1e12) { scaled = value / 1e12; unit = 'Triliun'; }
|
||||||
|
else if (abs >= 1e9) { scaled = value / 1e9; unit = 'Miliar'; }
|
||||||
|
else if (abs >= 1e6) { scaled = value / 1e6; unit = 'Juta'; }
|
||||||
|
else if (abs >= 1e3) { scaled = value / 1e3; unit = 'Ribu'; }
|
||||||
|
else { scaled = value; unit = ''; }
|
||||||
|
const formatted = scaled.toLocaleString('id-ID', {
|
||||||
|
minimumFractionDigits: unit ? 2 : 0,
|
||||||
|
maximumFractionDigits: unit ? 2 : 0
|
||||||
|
});
|
||||||
|
|
||||||
|
return unit
|
||||||
|
? `${formatted} ${unit}`
|
||||||
|
: formatted;
|
||||||
|
}
|
||||||
|
|
||||||
async function fetchStatusDesaByProvinsi(kodeProvinsi) {
|
async function fetchStatusDesaByProvinsi(kodeProvinsi) {
|
||||||
const url = `http://localhost:5000/api/status-provinsi/${kodeProvinsi}`;
|
const url = `http://localhost:5000/api/status-provinsi/${kodeProvinsi}`;
|
||||||
|
const urltdd = `http://localhost:5000/api/status/danadesa/provinsi/${kodeProvinsi}`;
|
||||||
const urldd = `http://localhost:5000/api/provinsi/serapan/${kodeProvinsi}`;
|
const urldd = `http://localhost:5000/api/provinsi/serapan/${kodeProvinsi}`;
|
||||||
const urlpd = `http://localhost:5000//api/provinsi/pendamping/${kodeProvinsi}`
|
const urlpd = `http://localhost:5000//api/provinsi/pendamping/${kodeProvinsi}`
|
||||||
const urlkop = `http://localhost:5000//api/provinsi/koperasi/${kodeProvinsi}`
|
const urlkop = `http://localhost:5000//api/provinsi/koperasi/${kodeProvinsi}`
|
||||||
const urlbd = `http://localhost:5000/api/provinsi/bumdes/${kodeProvinsi}`;
|
const urlbd = `http://localhost:5000/api/provinsi/bumdes/${kodeProvinsi}`;
|
||||||
try {
|
try {
|
||||||
const res = await fetch(url);
|
const res = await fetch(url);
|
||||||
|
const tdd = await fetch(urltdd)
|
||||||
const bumdes = await fetch(urlbd)
|
const bumdes = await fetch(urlbd)
|
||||||
const dd = await fetch(urldd)
|
const dd = await fetch(urldd)
|
||||||
const pd = await fetch(urlpd)
|
const pd = await fetch(urlpd)
|
||||||
@ -468,12 +496,13 @@
|
|||||||
|
|
||||||
if (!res.ok && !bumdes.ok && !dd.ok) throw new Error(`HTTP ${res.status}`);
|
if (!res.ok && !bumdes.ok && !dd.ok) throw new Error(`HTTP ${res.status}`);
|
||||||
const IPD = await res.json()
|
const IPD = await res.json()
|
||||||
|
const dtdd = await tdd.json()
|
||||||
const bd = await bumdes.json()
|
const bd = await bumdes.json()
|
||||||
const danadesa = await dd.json()
|
const danadesa = await dd.json()
|
||||||
const dtpd = await pd.json()
|
const dtpd = await pd.json()
|
||||||
const dtkop = await kop.json()
|
const dtkop = await kop.json()
|
||||||
|
console.log([IPD, bd, danadesa, dtpd, dtkop, dtdd]);
|
||||||
return [IPD,bd, danadesa, dtpd, dtkop];
|
return [IPD, bd, danadesa, dtpd, dtkop, dtdd];
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Gagal ambil status desa:", err);
|
console.error("Gagal ambil status desa:", err);
|
||||||
return null;
|
return null;
|
||||||
@ -482,12 +511,14 @@
|
|||||||
|
|
||||||
async function fetchStatusDesaByKabupatenkota(kode_prov, kode_kabkota) {
|
async function fetchStatusDesaByKabupatenkota(kode_prov, kode_kabkota) {
|
||||||
const url = `http://localhost:5000/api/status-kabupatenkota/${kode_prov}/${kode_kabkota}`
|
const url = `http://localhost:5000/api/status-kabupatenkota/${kode_prov}/${kode_kabkota}`
|
||||||
|
const urltdd = `http://localhost:5000/api/status/danadesa/kabkota/${kode_kabkota}`;
|
||||||
const urldd = `http://localhost:5000/api/kabkota/serapan/${kode_kabkota}`;
|
const urldd = `http://localhost:5000/api/kabkota/serapan/${kode_kabkota}`;
|
||||||
const urlpd = `http://localhost:5000//api/kabkota/pendamping/${kode_kabkota}`
|
const urlpd = `http://localhost:5000//api/kabkota/pendamping/${kode_kabkota}`
|
||||||
const urlkop = `http://localhost:5000//api/kabkota/koperasi/${kode_kabkota}`
|
const urlkop = `http://localhost:5000//api/kabkota/koperasi/${kode_kabkota}`
|
||||||
const urlbd = `http://localhost:5000/api/kabkota/bumdes/${kode_kabkota}`;
|
const urlbd = `http://localhost:5000/api/kabkota/bumdes/${kode_kabkota}`;
|
||||||
try{
|
try{
|
||||||
const res = await fetch(url)
|
const res = await fetch(url)
|
||||||
|
const tdd = await fetch(urltdd)
|
||||||
const bumdes = await fetch(urlbd)
|
const bumdes = await fetch(urlbd)
|
||||||
const dd = await fetch(urldd)
|
const dd = await fetch(urldd)
|
||||||
const pd = await fetch(urlpd)
|
const pd = await fetch(urlpd)
|
||||||
@ -499,8 +530,9 @@
|
|||||||
const danadesa = await dd.json()
|
const danadesa = await dd.json()
|
||||||
const dtpd = await pd.json()
|
const dtpd = await pd.json()
|
||||||
const dtkop = await kop.json()
|
const dtkop = await kop.json()
|
||||||
|
const dttd = await tdd.json()
|
||||||
|
|
||||||
return [IPD,bd, danadesa, dtpd, dtkop];
|
return [IPD,bd, danadesa, dtpd, dtkop,dttd];
|
||||||
}catch(err){
|
}catch(err){
|
||||||
console.log(err)
|
console.log(err)
|
||||||
return null;
|
return null;
|
||||||
@ -509,12 +541,14 @@
|
|||||||
|
|
||||||
async function fetchStatusDesaByKecamatan(province_code, region_code, district_code){
|
async function fetchStatusDesaByKecamatan(province_code, region_code, district_code){
|
||||||
const url = `http://localhost:5000/api/status-kecamatan/${province_code}/${region_code}/${district_code}`
|
const url = `http://localhost:5000/api/status-kecamatan/${province_code}/${region_code}/${district_code}`
|
||||||
|
const urltdd = `http://localhost:5000/api/status/danadesa/kecamatan/${district_code}`;
|
||||||
const urldd = `http://localhost:5000/api/kecamatan/serapan/${district_code}`;
|
const urldd = `http://localhost:5000/api/kecamatan/serapan/${district_code}`;
|
||||||
const urlpd = `http://localhost:5000//api/kecamatan/pendamping/${district_code}`
|
const urlpd = `http://localhost:5000//api/kecamatan/pendamping/${district_code}`
|
||||||
const urlkop = `http://localhost:5000//api/kecamatan/koperasi/${district_code}`
|
const urlkop = `http://localhost:5000//api/kecamatan/koperasi/${district_code}`
|
||||||
const urlbd = `http://localhost:5000/api/kecamatan/bumdes/${district_code}`;
|
const urlbd = `http://localhost:5000/api/kecamatan/bumdes/${district_code}`;
|
||||||
try {
|
try {
|
||||||
const res = await fetch(url)
|
const res = await fetch(url)
|
||||||
|
const tdd = await fetch(urltdd)
|
||||||
const bumdes = await fetch(urlbd)
|
const bumdes = await fetch(urlbd)
|
||||||
const dd = await fetch(urldd)
|
const dd = await fetch(urldd)
|
||||||
const pd = await fetch(urlpd)
|
const pd = await fetch(urlpd)
|
||||||
@ -526,8 +560,9 @@
|
|||||||
const danadesa = await dd.json()
|
const danadesa = await dd.json()
|
||||||
const dtpd = await pd.json()
|
const dtpd = await pd.json()
|
||||||
const dtkop = await kop.json()
|
const dtkop = await kop.json()
|
||||||
|
const dttd = await tdd.json()
|
||||||
|
|
||||||
return [IPD,bd, danadesa, dtpd, dtkop];;
|
return [IPD,bd, danadesa, dtpd, dtkop, dttd];;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
return null
|
return null
|
||||||
@ -536,12 +571,14 @@
|
|||||||
|
|
||||||
async function fetchStatusDesaByDesa(province_code, region_code, district_code, village_code){
|
async function fetchStatusDesaByDesa(province_code, region_code, district_code, village_code){
|
||||||
const url = `http://localhost:5000//api/desa/status/${province_code}/${region_code}/${district_code}/${village_code}`
|
const url = `http://localhost:5000//api/desa/status/${province_code}/${region_code}/${district_code}/${village_code}`
|
||||||
|
const urltdd = `http://localhost:5000/api/status/danadesa/desa/${village_code}`;
|
||||||
const urldd = `http://localhost:5000/api/desa/serapan/${village_code}`;
|
const urldd = `http://localhost:5000/api/desa/serapan/${village_code}`;
|
||||||
const urlpd = `http://localhost:5000//api/desa/pendamping/${village_code}`
|
const urlpd = `http://localhost:5000//api/desa/pendamping/${village_code}`
|
||||||
const urlkop = `http://localhost:5000//api/desa/koperasi/${village_code}`
|
const urlkop = `http://localhost:5000//api/desa/koperasi/${village_code}`
|
||||||
const urlbd = `http://localhost:5000/api/desa/bumdes/${village_code}`;
|
const urlbd = `http://localhost:5000/api/desa/bumdes/${village_code}`;
|
||||||
try {
|
try {
|
||||||
const res = await fetch(url)
|
const res = await fetch(url)
|
||||||
|
const tdd = await fetch(urltdd)
|
||||||
const bumdes = await fetch(urlbd)
|
const bumdes = await fetch(urlbd)
|
||||||
const dd = await fetch(urldd)
|
const dd = await fetch(urldd)
|
||||||
const pd = await fetch(urlpd)
|
const pd = await fetch(urlpd)
|
||||||
@ -553,8 +590,9 @@
|
|||||||
const danadesa = await dd.json()
|
const danadesa = await dd.json()
|
||||||
const dtpd = await pd.json()
|
const dtpd = await pd.json()
|
||||||
const dtkop = await kop.json()
|
const dtkop = await kop.json()
|
||||||
|
const dttd = await tdd.json()
|
||||||
|
|
||||||
return [IPD,bd, danadesa, dtpd, dtkop];;
|
return [IPD,bd, danadesa, dtpd, dtkop, dttd];;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
return null
|
return null
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user