Commit 98ef74c7 by aa.gustiana@gmail.com

Merge branch '2025.05' of https://git.opensipkd.com/aa.gusti/eis into 2025.05

2 parents 85281360 dd216bfd
...@@ -5,30 +5,31 @@ eis-pajak,Pajak,#,1,0,1 ...@@ -5,30 +5,31 @@ eis-pajak,Pajak,#,1,0,1
eis-pajak-kumulatif,Pajak,/eis/pajak,1,0,1,eis-pajak,pcpd,Views,view_pajak,,pcpd_pajak.pt eis-pajak-kumulatif,Pajak,/eis/pajak,1,0,1,eis-pajak,pcpd,Views,view_pajak,,pcpd_pajak.pt
eis-pbb,PBB,/eis/pbb,1,0,1,eis-pajak,pcpd,Views,view_pbb,eis,pbb.pt eis-pbb,PBB,/eis/pbb,1,0,1,eis-pajak,pcpd,Views,view_pbb,eis,pbb.pt
eis-bphtb,BPHTB,/eis/bphtb,1,0,1,eis-pajak,pcpd,Views,view_bphtb,eis,pcpd.pt eis-bphtb,BPHTB,/eis/bphtb,1,0,1,eis-pajak,pcpd,Views,view_bphtb,eis,pcpd.pt
eis-hotel,Hotel,/eis/hotel,1,0,1,eis-pajak,pcpd,Views,view_hotel,eis,pcpd.pt eis-pbjt,PBJT,#,1,0,1,eis-pajak
eis-resto,Restoran,/eis/resto,1,0,1,eis-pajak,pcpd,Views,view_resto,eis,pcpd.pt eis-hotel,JASA PERHOTELAN,/eis/hotel,1,0,1,eis-pbjt,pcpd,Views,view_hotel,eis,pcpd.pt
eis-hiburan,Hiburan,/eis/hiburan,1,0,1,eis-pajak,pcpd,Views,view_hiburan,eis,pcpd.pt eis-resto,MAKANAN DAN/ATAU MINUMAN,/eis/resto,1,0,1,eis-pbjt,pcpd,Views,view_resto,eis,pcpd.pt
eis-parkir,Parkir,/eis/parkir,1,0,1,eis-pajak,pcpd,Views,view_parkir,eis,pcpd.pt eis-hiburan,JASA KESENIAN DAN HIBURAN,/eis/hiburan,1,0,1,eis-pbjt,pcpd,Views,view_hiburan,eis,pcpd.pt
eis-ppju,PPJU,/eis/ppju,1,0,1,eis-pajak,pcpd,Views,view_ppju,eis,pcpd.pt eis-parkir,JASA PARKIR,/eis/parkir,1,0,1,eis-pbjt,pcpd,Views,view_parkir,eis,pcpd.pt
eis-ppju,TENAGA LISTRIK,/eis/ppju,1,0,1,eis-pbjt,pcpd,Views,view_ppju,eis,pcpd.pt
eis-walet,Walet,/eis/walet,1,0,1,eis-pajak,pcpd,Views,view_walet,eis,pcpd.pt eis-walet,Walet,/eis/walet,1,0,1,eis-pajak,pcpd,Views,view_walet,eis,pcpd.pt
eis-minerba,Minerba,/eis/minerba,1,0,1,eis-pajak,pcpd,Views,view_minerba,eis,pcpd.pt eis-minerba,Minerba,/eis/minerba,1,0,1,eis-pajak,pcpd,Views,view_minerba,eis,pcpd.pt
eis-reklame,Reklame,/eis/reklame,1,0,1,eis-pajak,pcpd,Views,view_reklame,eis,pcpd.pt eis-reklame,Reklame,/eis/reklame,1,0,1,eis-pajak,pcpd,Views,view_reklame,eis,pcpd.pt
eis-atd,Air Tanah,/eis/atd,1,0,1,eis-pajak,pcpd,Views,view_atd,eis,pcpd.pt eis-atd,Air Tanah,/eis/atd,1,0,1,eis-pajak,pcpd,Views,view_atd,eis,pcpd.pt
eis-opsen,Opsen,/eis/opsen,1,0,1,eis-pajak,pcpd,Views,view_opsen,eis,pcpd.pt eis-opsen,Opsen,/eis/opsen,1,0,1,eis-pajak,pcpd,Views,view_opsen,eis,pcpd.pt
eis-webr,Retribusi,/eis/webr,1,0,1,,pcpd,Views,view_webr,eis,pcpd.pt eis-webr,Retribusi,/eis/webr,1,0,1,,pcpd,Views,view_webr,eis,pcpd.pt
eis,EIS,/eis,1,0,1 eis,EIS,/eis,0,0,0
eis-carousel,Carousel,/eis/carousel,1,0,1 eis-carousel,Carousel,/eis/carousel,1,0,0
eis-carousel-act,Carousel Action,/eis/carousel/{act}/act,1,0 eis-carousel-act,Carousel Action,/eis/carousel/{act}/act,1,0
eis-carousel-add,Carousel Add,/eis/carousel/add,1,0 eis-carousel-add,Carousel Add,/eis/carousel/add,1,0
eis-carousel-edit,Carousel Edit,/eis/carousel/{id}/edit,1,0 eis-carousel-edit,Carousel Edit,/eis/carousel/{id}/edit,1,0
eis-carousel-delete,Carousel Delete,/eis/carousel/{id}/delete,1,0 eis-carousel-delete,Carousel Delete,/eis/carousel/{id}/delete,1,0
eis-dashboard,EIS,/eis/dashboard,1,0,1 eis-dashboard,EIS,/eis/dashboard,0,0,0
eis-dashboard-act,EIS Act,/eis/dashboard/{act}/act,1,0 eis-dashboard-act,EIS Act,/eis/dashboard/{act}/act,1,0
eis-dashboard-calc-all,EIS Calc ALL,/eis/dashboad/calc/all,1,0 eis-dashboard-calc-all,EIS Calc ALL,/eis/dashboad/calc/all,1,0
eis-home,EIS Home,/eis/home,1,0,1 eis-home,EIS Home,/eis/home,0,0,0
eis-act,EIS Home Act,/eis/{act}/act,1,0 eis-act,EIS Home Act,/eis/{act}/act,1,0
eis-calc-all,EIS Calc ALL,/eis/calc/all,1,0 eis-calc-all,EIS Calc ALL,/eis/calc/all,1,0
eis-chart,Chart,/eis/chart,1,0,1 eis-chart,Chart,/eis/chart,1,0,0
eis-chart-act,EIS Chart Action,/eis/chart/{act}/act,1,0 eis-chart-act,EIS Chart Action,/eis/chart/{act}/act,1,0
eis-chart-add,EIS Chart Add,/eis/chart/add,1,0 eis-chart-add,EIS Chart Add,/eis/chart/add,1,0
eis-chart-edit,EIS Chart Edit,/eis/chart/{id}/edit,1,0 eis-chart-edit,EIS Chart Edit,/eis/chart/{id}/edit,1,0
...@@ -38,12 +39,12 @@ eis-chart-item-act,EIS Chart Item Action,/eis/chart/item/{chart_id}/{act}/act,1, ...@@ -38,12 +39,12 @@ eis-chart-item-act,EIS Chart Item Action,/eis/chart/item/{chart_id}/{act}/act,1,
eis-chart-item-add,EIS Chart Item Add,/eis/chart/item/{chart_id}/add,1,0 eis-chart-item-add,EIS Chart Item Add,/eis/chart/item/{chart_id}/add,1,0
eis-chart-item-edit,EIS Chart Item Edit,/eis/chart/item/{chart_id}/{id}/edit,1,0 eis-chart-item-edit,EIS Chart Item Edit,/eis/chart/item/{chart_id}/{id}/edit,1,0
eis-chart-item-delete,EIS Chart Item Delet,/eis/chart/item/{chart_id}/{id}/delete,1,0 eis-chart-item-delete,EIS Chart Item Delet,/eis/chart/item/{chart_id}/{id}/delete,1,0
eis-item,EIS Item,/eis/item,1,0,1 eis-item,EIS Item,/eis/item,1,0,0
eis-item-act,EIS Item Action,/eis/item/{act}/act,1,0 eis-item-act,EIS Item Action,/eis/item/{act}/act,1,0
eis-item-add,EIS Item Add,/eis/item/add,1,0 eis-item-add,EIS Item Add,/eis/item/add,1,0
eis-item-edit,EIS Item Edit,/eis/item/{id}/edit,1,0 eis-item-edit,EIS Item Edit,/eis/item/{id}/edit,1,0
eis-item-delete,EIS Item Delete,/eis/item/{id}/delete,1,0 eis-item-delete,EIS Item Delete,/eis/item/{id}/delete,1,0
eis-slide,EIS Slide,/eis/slide,1,0,1 eis-slide,EIS Slide,/eis/slide,1,0,0
eis-slide-act,EIS Slide Act,/eis/slide/{act}/act,1,0 eis-slide-act,EIS Slide Act,/eis/slide/{act}/act,1,0
eis-slide-add,EIS Slide Add,/eis/slide/add,1,0 eis-slide-add,EIS Slide Add,/eis/slide/add,1,0
eis-slide-edit,EIS Slide Edit,/eis/slide/{id}/edit,1,0 eis-slide-edit,EIS Slide Edit,/eis/slide/{id}/edit,1,0
......
...@@ -91,6 +91,9 @@ div.col-md-6 { ...@@ -91,6 +91,9 @@ div.col-md-6 {
.sub-odometer { .sub-odometer {
font-size: 2.5em; font-size: 2.5em;
} }
.odometer-value{
font-weight: bold;
}
.padding-top-sm { padding-top: .5em; } .padding-top-sm { padding-top: .5em; }
......
...@@ -156,8 +156,8 @@ class Views(BaseView): ...@@ -156,8 +156,8 @@ class Views(BaseView):
# for i, f in enumerate(filters): # for i, f in enumerate(filters):
qry = qry.filter(filters) qry = qry.filter(filters)
if typ != None: if typ != None:
if typ == "pbb": if typ == "pajak":
qry = qry.filter(table.jenis_pajak.notin_(PAD_TYP[typ])) qry = qry.filter(table.jenis_pajak.notin_(PAD_TYP['pbb']))
else: else:
qry = qry.filter(table.jenis_pajak.in_(PAD_TYP[typ])) qry = qry.filter(table.jenis_pajak.in_(PAD_TYP[typ]))
...@@ -242,6 +242,8 @@ class Views(BaseView): ...@@ -242,6 +242,8 @@ class Views(BaseView):
Targets.tahun == self.ses['tahun'], Targets.tahun == self.ses['tahun'],
) )
if kode: if kode:
if kode=="pajak":
return 0
targets = targets.filter( targets = targets.filter(
Targets.kode.ilike(jenis_pajak[kode]["kode"]+'%')) Targets.kode.ilike(jenis_pajak[kode]["kode"]+'%'))
targets = targets.first() targets = targets.first()
...@@ -366,7 +368,7 @@ class Views(BaseView): ...@@ -366,7 +368,7 @@ class Views(BaseView):
"ytdPersen": ytd_persen, "ytdPersen": ytd_persen,
} }
def get_pad_data(self, typ): def get_pad_data(self, typ=None):
if log.root.level == logging.DEBUG: if log.root.level == logging.DEBUG:
today = datetime.strptime('2025-06-05', "%Y-%m-%d") today = datetime.strptime('2025-06-05', "%Y-%m-%d")
else: else:
...@@ -494,7 +496,7 @@ class Views(BaseView): ...@@ -494,7 +496,7 @@ class Views(BaseView):
def get_pajak_data(self): def get_pajak_data(self):
pbb = self.get_pbb_data() pbb = self.get_pbb_data()
bphtb = self.get_bphtb_data() bphtb = self.get_bphtb_data()
pdl = self.get_pad_data("pbb") pdl = self.get_pad_data('pajak')
daily = [] daily = []
dailyTrx = [] dailyTrx = []
dailyAcc = [] dailyAcc = []
...@@ -546,8 +548,9 @@ class Views(BaseView): ...@@ -546,8 +548,9 @@ class Views(BaseView):
self.loop_data(pdl["weeklyTrx"], weeklyTrx) self.loop_data(pdl["weeklyTrx"], weeklyTrx)
self.loop_data(pdl["weeklyAcc"], weeklyAcc) self.loop_data(pdl["weeklyAcc"], weeklyAcc)
self.loop_data(pdl["weeklyAccTrx"], weeklyAccTrx) self.loop_data(pdl["weeklyAccTrx"], weeklyAccTrx)
ytd_target = float(pbb.get("ytdTarget", 0)) + float(bphtb.get("ytdTarget", 0)) + \ # ytd_target = float(pbb.get("ytdTarget", 0)) + float(bphtb.get("ytdTarget", 0)) + \
float(pdl.get("ytdTarget", 0)) # float(pdl.get("ytdTarget", 0))
ytd_target = self.get_targets()
ytd = float(pbb.get("ytd", 0)) + float(bphtb.get("ytd", 0)) + \ ytd = float(pbb.get("ytd", 0)) + float(bphtb.get("ytd", 0)) + \
float(pdl.get("ytd", 0)) float(pdl.get("ytd", 0))
resp = {"today": float(pbb.get("today", 0)) + float(bphtb.get("today", 0)) + float(pdl.get("today", 0)), resp = {"today": float(pbb.get("today", 0)) + float(bphtb.get("today", 0)) + float(pdl.get("today", 0)),
...@@ -630,7 +633,7 @@ class Views(BaseView): ...@@ -630,7 +633,7 @@ class Views(BaseView):
realisasi = self.get_pad_data(jenis)["ytd"] realisasi = self.get_pad_data(jenis)["ytd"]
return {jenis: {"kode": jenis_pajak[jenis]["kode"].rjust(8, '0'), return {jenis: {"kode": jenis_pajak[jenis]["kode"].ljust(8, '0'),
"nama": jenis_pajak[jenis]["nama"], "nama": jenis_pajak[jenis]["nama"],
"target": target, "target": target,
"realisasi": realisasi, "realisasi": realisasi,
...@@ -656,8 +659,9 @@ class Views(BaseView): ...@@ -656,8 +659,9 @@ class Views(BaseView):
data.update(self.get_grid_pajak("hiburan")) data.update(self.get_grid_pajak("hiburan"))
data.update(self.get_grid_pajak("parkir")) data.update(self.get_grid_pajak("parkir"))
data.update(self.get_grid_pajak("ppju")) data.update(self.get_grid_pajak("ppju"))
data.update(self.get_grid_pajak("reklame"))
data.update(self.get_grid_pajak("minerba")) data.update(self.get_grid_pajak("minerba"))
data.update(self.get_grid_pajak("walet"))
data.update(self.get_grid_pajak("reklame"))
data.update(self.get_grid_pajak("atd")) data.update(self.get_grid_pajak("atd"))
data.update(self.get_grid_pajak("pbb")) data.update(self.get_grid_pajak("pbb"))
data.update(self.get_grid_pajak("bphtb")) data.update(self.get_grid_pajak("bphtb"))
......
...@@ -190,6 +190,13 @@ ...@@ -190,6 +190,13 @@
<td class="right">0</td> <td class="right">0</td>
</tr> </tr>
</tbody> </tbody>
<tfoot>
<td colspan="2" class="text-right">Jumlah</td>
<td><span id="sum_ketetapan"></span></td>
<td><span id="sum_realisasi"></span></td>
<td><span id="sum_sisa"></span></td>
<td><span id="sum_persen"></span></td>
</tfoot>
</table> </table>
</div> </div>
</div> </div>
...@@ -219,12 +226,12 @@ ...@@ -219,12 +226,12 @@
$(document).ready(function () { $(document).ready(function () {
var ctxBar = document.getElementById('chartPie').getContext('2d'); var ctxBar = document.getElementById('chartPie').getContext('2d');
var canvasBar = document.getElementById('chartPie'); var canvasBar = document.getElementById('chartPie');
canvasBar.width = window.innerWidth; //canvasBar.width = window.innerWidth;
// canvas.height = window.innerHeight / 2; //canvasBar.height = window.innerHeight;
console.log(window.innerHeight); //console.log(window.innerHeight);
console.log($("#panelRealisasi").height()) //console.log($("#panelRealisasi").height())
// canvasBar.height = $("#panelRealisasi").height() + 125;
canvasBar.parentNode.parentNode.parentNode.style.height = $("#panelRealisasi").height() + "px"; canvasBar.parentNode.parentNode.parentNode.style.height = $("#panelRealisasi").height() + "px";
//canvasBar.height = canvasBar.parentNode.style.height;
// const bar_data = { // const bar_data = {
// labels: [ // labels: [
// 'Ketetapan', // 'Ketetapan',
...@@ -286,8 +293,8 @@ ...@@ -286,8 +293,8 @@
// borderWidth: 2, // borderWidth: 2,
// } // }
// }, // },
// responsive: true, responsive: true,
maintainAspectRatio: true, maintainAspectRatio: false,
plugins: { plugins: {
legend: { legend: {
display: false, display: false,
...@@ -518,6 +525,7 @@ ...@@ -518,6 +525,7 @@
"searching": false, "searching": false,
"info": false, "info": false,
"autoWidth": false, "autoWidth": false,
"scrollX": true,
"order": [[0, 'asc']], "order": [[0, 'asc']],
"columnDefs": [ "columnDefs": [
{ className: 'text-center', width: "50px", targets: [0] }, { className: 'text-center', width: "50px", targets: [0] },
...@@ -528,6 +536,10 @@ ...@@ -528,6 +536,10 @@
); );
var tableRefresh = function () { var tableRefresh = function () {
table.clear(); table.clear();
var sum_ketetapan = 0;
var sum_realisasi = 0;
var sum_sisa = 0;
var sum_persen = 0;
newData.tabel.forEach(function (row) { newData.tabel.forEach(function (row) {
// console.log(row); // console.log(row);
table.row.add([ table.row.add([
...@@ -538,7 +550,17 @@ ...@@ -538,7 +550,17 @@
row.sisa.toLocaleString("id-ID"), row.sisa.toLocaleString("id-ID"),
row.persen.toFixed(2) row.persen.toFixed(2)
]); ]);
sum_ketetapan += row.ketetapan;
sum_realisasi += row.realisasi;
sum_sisa += row.sisa;
sum_persen += row.persen;
}); });
$('#sum_ketetapan').html(sum_ketetapan.toLocaleString("id-ID"));
$('#sum_realisasi').html(sum_realisasi.toLocaleString("id-ID"));
$('#sum_sisa').html(sum_sisa.toLocaleString("id-ID"));
$('#sum_persen').html(sum_persen.toLocaleString("id-ID"));
table.draw(); table.draw();
} }
......
...@@ -100,7 +100,13 @@ ...@@ -100,7 +100,13 @@
<td class="right">0</td> <td class="right">0</td>
</tr> </tr>
</tbody> </tbody>
<tfoot>
<td colspan="2" class="text-right">Jumlah</td>
<td><span id="sum_target"></span></td>
<td><span id="sum_realisasi"></span></td>
<td><span id="sum_sisa"></span></td>
<td><span id="sum_persen"></span></td>
</tfoot>
</table> </table>
</div> </div>
</div> </div>
...@@ -428,6 +434,10 @@ ...@@ -428,6 +434,10 @@
$.get(url, {}, function (data, status) { $.get(url, {}, function (data, status) {
if (status === "success") { if (status === "success") {
console.log(data); console.log(data);
var sum_target = 0;
var sum_realisasi = 0;
var sum_sisa = 0;
var sum_persen = 0;
data.forEach(function (row) { data.forEach(function (row) {
console.log(row); console.log(row);
table.row.add([ table.row.add([
...@@ -438,7 +448,16 @@ ...@@ -438,7 +448,16 @@
row.sisa.toLocaleString("id-ID"), row.sisa.toLocaleString("id-ID"),
row.persen.toFixed(2) row.persen.toFixed(2)
]); ]);
sum_target += row.target;
sum_realisasi += row.realisasi;
sum_sisa += row.sisa;
sum_persen += row.persen;
}); });
$('#sum_target').html(sum_target.toLocaleString("id-ID"));
$('#sum_realisasi').html(sum_realisasi.toLocaleString("id-ID"));
$('#sum_sisa').html(sum_sisa.toLocaleString("id-ID"));
$('#sum_persen').html((sum_realisasi / sum_target * 100).toFixed(2));
table.draw(); table.draw();
} else { } else {
console.log("Request failed."); console.log("Request failed.");
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!