Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
eis
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit d6ded8e3
authored
Oct 28, 2025
by
aa.gustiana@gmail.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Add webr.py to import Webr models
1 parent
d8e4d127
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
343 additions
and
37 deletions
eispajak/views/pcpd.py
eispajak/views/templates/eis-base.pt
eispajak/views/templates/pcpd_retribusi.pt
eispajak/views/webr.py
eispajak/views/pcpd.py
View file @
d6ded8e
...
...
@@ -12,7 +12,7 @@ from ..models.payment import PaymentPBB, PaymentPAD, PaymentBPHTB, PaymentWEBR,
from
opensipkd.pbb.monitoring.models
import
PembayaranSppt
,
Kecamatan
,
Kelurahan
,
Sppt
from
datetime
import
timedelta
from
..models.payment
import
PCDBSession
from
opensipkd.webr.models
import
WebrAnggaran
,
WebrArPayment
log
=
logging
.
getLogger
(
__name__
)
PAD_TYP
=
{
...
...
@@ -155,11 +155,11 @@ class Views(BaseView):
}
def
get_daily_data
(
self
,
table
,
field
,
today
,
filters
,
typ
=
None
):
#todo ada kemungkinan menyebabkan error ke transaksi yang lain
#
todo ada kemungkinan menyebabkan error ke transaksi yang lain
if
type
(
filters
)
is
not
list
:
filters
=
[
filters
]
if
PCDBSession
.
registry
()
.
in_transaction
():
PCDBSession
.
rollback
()
PCDBSession
.
rollback
()
columns
=
[
field
.
label
(
"step"
)]
qry
=
table
.
qry_sum
(
columns
)
\
.
group_by
(
field
)
\
...
...
@@ -177,15 +177,14 @@ class Views(BaseView):
dailyAcc
=
[]
dailyAccTrx
=
[]
amt
=
trx
=
acc
=
accTrx
=
0
for
r
in
qry
:
mapped
=
r
.
_mapping
step
=
mapped
.
get
(
"step"
,
""
)
step
=
mapped
.
get
(
"step"
,
""
)
bayar
=
mapped
.
get
(
"bayar"
,
0
)
denda
=
mapped
.
get
(
"denda"
,
0
)
pokok
=
bayar
-
denda
tx
=
mapped
.
get
(
"trx"
,
0
)
tx
=
mapped
.
get
(
"trx"
,
0
)
daily
.
append
((
step
,
pokok
))
dailyTrx
.
append
((
step
,
tx
))
acc
+=
pokok
...
...
@@ -219,25 +218,25 @@ class Views(BaseView):
def
get_pbb_data
(
self
):
today
=
datetime
.
now
()
.
date
()
#Piutang
#
Piutang
#Harian
#
Harian
field
=
func
.
to_char
(
PembayaranSppt
.
tgl_pembayaran_sppt
,
'yyyy-mm-dd'
)
filter_exp
=
PembayaranSppt
.
tgl_pembayaran_sppt
.
between
(
today
-
timedelta
(
days
=
6
),
today
)
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
=
\
self
.
get_daily_data
(
PembayaranSppt
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
)
#Total Setahun
#
Total Setahun
field
=
func
.
to_char
(
PembayaranSppt
.
tgl_pembayaran_sppt
,
'IYYY'
)
filter_exp
=
PembayaranSppt
.
tgl_pembayaran_sppt
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
)
ytd
,
ytdTrx
,
yearly
,
yearlyTrx
,
yearlyAcc
,
yearlyAccTrx
=
\
self
.
get_daily_data
(
PembayaranSppt
,
field
,
str
(
today
.
year
),
filter_exp
)
#Piutang
#
Piutang
filter_exp
=
[
PembayaranSppt
.
tgl_pembayaran_sppt
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
),
PembayaranSppt
.
thn_pajak_sppt
<
today
.
year
]
...
...
@@ -245,12 +244,12 @@ class Views(BaseView):
self
.
get_daily_data
(
PembayaranSppt
,
field
,
str
(
today
.
year
),
filter_exp
)
#Bulanan
#
Bulanan
field
=
func
.
to_char
(
PembayaranSppt
.
tgl_pembayaran_sppt
,
'MM'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PembayaranSppt
,
field
,
None
,
filter_exp
)
#Mingguan
#
Mingguan
field
=
func
.
to_char
(
PembayaranSppt
.
tgl_pembayaran_sppt
,
'WW'
)
filter_exp
=
PembayaranSppt
.
tgl_pembayaran_sppt
.
between
(
today
-
timedelta
(
weeks
=
6
),
today
)
...
...
@@ -296,15 +295,15 @@ class Views(BaseView):
else
:
today
=
datetime
.
now
()
.
date
()
#Harian
#
Harian
field
=
func
.
to_char
(
PaymentBPHTB
.
tgl
,
'yyyy-mm-dd'
)
filter_exp
=
PaymentBPHTB
.
tgl
.
between
(
today
-
timedelta
(
days
=
6
),
today
)
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
=
\
self
.
get_daily_data
(
PaymentBPHTB
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
)
#Total Tahunan
#
Total Tahunan
field
=
func
.
to_char
(
PaymentBPHTB
.
tgl
,
'IYYY'
)
filter_exp
=
PaymentBPHTB
.
tgl
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
)
...
...
@@ -312,18 +311,18 @@ class Views(BaseView):
self
.
get_daily_data
(
PaymentBPHTB
,
field
,
str
(
today
.
year
),
filter_exp
)
#Bulanan
#
Bulanan
field
=
func
.
to_char
(
PaymentBPHTB
.
tgl
,
'MM'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PaymentBPHTB
,
field
,
None
,
filter_exp
)
#Mingguan
#
Mingguan
field
=
func
.
to_char
(
PaymentBPHTB
.
tgl
,
'WW'
)
filter_exp
=
PaymentBPHTB
.
tgl
.
between
(
today
-
timedelta
(
weeks
=
6
),
today
)
week
,
weekTrx
,
weekly
,
weeklyTrx
,
weeklyAcc
,
weeklyAccTrx
=
\
self
.
get_daily_data
(
PaymentBPHTB
,
field
,
None
,
filter_exp
)
ytd_target
=
float
(
self
.
get_targets
(
"bphtb"
))
ytd_persen
=
round
(
ytd
/
ytd_target
*
100
,
2
)
if
ytd_target
>
0
else
0
return
{
"today"
:
amt
,
...
...
@@ -356,15 +355,14 @@ class Views(BaseView):
today
=
datetime
.
now
()
.
date
()
filter_ex
=
[]
#Harian
#
Harian
field
=
func
.
to_char
(
PaymentPAD
.
tgl
,
'yyyy-mm-dd'
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
today
-
timedelta
(
days
=
6
),
today
)
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
=
\
self
.
get_daily_data
(
PaymentPAD
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
,
typ
)
#Total Tahun Berjalan
# Total Tahun Berjalan
field
=
func
.
to_char
(
PaymentPAD
.
tgl
,
'IYYY'
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
)
...
...
@@ -372,19 +370,19 @@ class Views(BaseView):
self
.
get_daily_data
(
PaymentPAD
,
field
,
str
(
today
.
year
),
filter_exp
,
typ
)
#Bulanan
#
Bulanan
field
=
func
.
to_char
(
PaymentPAD
.
tgl
,
'MM'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PaymentPAD
,
field
,
None
,
filter_exp
,
typ
)
#Mingguan
#
Mingguan
field
=
func
.
to_char
(
PaymentPAD
.
tgl
,
'WW'
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
today
-
timedelta
(
weeks
=
6
),
today
)
week
,
weekTrx
,
weekly
,
weeklyTrx
,
weeklyAcc
,
weeklyAccTrx
=
\
self
.
get_daily_data
(
PaymentPAD
,
field
,
None
,
filter_exp
,
typ
)
#
Target
#
Target
ytd_target
=
float
(
self
.
get_targets
(
typ
))
ytd_persen
=
round
(
ytd
/
ytd_target
*
100
,
2
)
if
ytd_target
>
0
else
0
return
{
"today"
:
amt
,
...
...
@@ -424,7 +422,7 @@ class Views(BaseView):
self
.
get_daily_data
(
PaymentWEBR
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
)
#Tahunan
#
Tahunan
field
=
func
.
to_char
(
PaymentWEBR
.
tgl
,
'IYYY'
)
filter_exp
=
PaymentWEBR
.
tgl
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
)
...
...
@@ -432,12 +430,12 @@ class Views(BaseView):
self
.
get_daily_data
(
PaymentWEBR
,
field
,
str
(
today
.
year
),
filter_exp
)
#Bulanan
#
Bulanan
field
=
func
.
to_char
(
PaymentWEBR
.
tgl
,
'YYYY-MM'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PaymentWEBR
,
field
,
None
,
filter_exp
)
#Mingguan
#
Mingguan
field
=
func
.
to_char
(
PaymentWEBR
.
tgl
,
'YYYY-WW'
)
filter_exp
=
PaymentWEBR
.
tgl
.
between
(
today
-
timedelta
(
weeks
=
6
),
today
)
...
...
@@ -625,6 +623,78 @@ class Views(BaseView):
"persen"
:
round
(
realisasi
/
target
*
100
,
2
)
if
target
>
0
else
0
}
}
def
get_ret_dinas_data
(
self
):
today
=
datetime
.
now
()
.
date
()
result
=
[]
tahun
=
today
.
year
anggaran
=
WebrAnggaran
.
sum_departemen
(
tahun
)
for
dept
in
anggaran
:
d
=
dept
.
_asdict
()
result
.
append
({
"kode"
:
d
[
"departemen_kode"
],
"nama"
:
d
[
"departemen_nama"
],
"target"
:
float
(
d
[
"total_perubahan"
])
or
float
(
d
[
"total_murni"
])
or
0
,
"realisasi"
:
0
,
}
)
realisasi
=
WebrArPayment
.
sum_departemen
(
tahun
)
for
dept
in
realisasi
:
found
=
False
d
=
dept
.
_asdict
()
for
res
in
result
:
if
d
[
"departemen_kode"
]
==
res
[
"kode"
]:
found
=
True
res
[
"realisasi"
]
=
float
(
d
[
"total_pokok"
])
or
0
res
[
"sisa"
]
=
res
[
"target"
]
-
res
[
"realisasi"
]
res
[
"persen"
]
=
round
(
res
[
"realisasi"
]
/
res
[
"target"
]
*
100
,
2
)
if
res
[
"target"
]
>
0
else
0
if
not
found
:
result
.
append
({
"kode"
:
d
[
"departemen_kode"
],
"nama"
:
d
[
"departemen_nama"
],
"target"
:
0
,
"realisasi"
:
float
(
dept
.
total_pokok
)
or
0
,
"sisa"
:
0
-
(
float
(
dept
.
total_pokok
)
or
0
),
"persen"
:
0
,
}
)
return
result
def
get_ret_jenis_data
(
self
):
today
=
datetime
.
now
()
.
date
()
result
=
[]
tahun
=
today
.
year
anggaran
=
WebrAnggaran
.
sum_rekening
(
tahun
)
for
dept
in
anggaran
:
result
.
append
({
"kode"
:
dept
.
rekening_kode
,
"nama"
:
dept
.
rekening_nama
,
"target"
:
dept
.
total_perubahan
or
dept
.
total_murni
or
0
,
"realisasi"
:
0
,
}
)
realisasi
=
WebrArPayment
.
sum_rekening
(
tahun
)
for
dept
in
realisasi
:
found
=
False
for
res
in
result
:
if
dept
.
rekening_kode
==
res
[
"kode"
]:
found
=
True
res
[
"realisasi"
]
=
float
(
dept
.
total_pokok
)
or
0
res
[
"sisa"
]
=
res
[
"target"
]
-
res
[
"realisasi"
]
res
[
"persen"
]
=
round
(
res
[
"realisasi"
]
/
res
[
"target"
]
*
100
,
2
)
if
res
[
"target"
]
>
0
else
0
if
not
found
:
result
.
append
({
"kode"
:
dept
.
rekening_kode
,
"nama"
:
dept
.
rekening_nama
,
"target"
:
0
,
"realisasi"
:
float
(
dept
.
total_pokok
)
or
0
,
"sisa"
:
0
-
(
float
(
dept
.
total_pokok
)
or
0
),
"persen"
:
0
,
}
)
return
result
@view_config
(
route_name
=
'eis-pcpd-act'
,
renderer
=
'json'
)
def
view_app_act
(
self
):
tahun
=
self
.
ses
[
'tahun'
]
...
...
@@ -675,8 +745,14 @@ class Views(BaseView):
resp
=
self
.
get_webr_data
()
elif
act
==
'pajak'
:
resp
=
self
.
get_pajak_data
()
elif
act
==
'rdinas'
:
return
self
.
get_ret_dinas_data
()
elif
act
==
'rjenis'
:
return
self
.
get_ret_jenis_data
()
else
:
resp
=
self
.
get_pad_data
(
act
)
resp
[
"time"
]
=
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
return
resp
...
...
eispajak/views/templates/eis-base.pt
View file @
d6ded8e
...
...
@@ -41,14 +41,18 @@
<metal:css
define-slot=
"css_files"
></metal:css>
<style
metal:define-slot=
"styles"
></style>
<style>
#logo
{
margin
:
0
!important
;}
#logo
{
margin
:
0
!important
;
}
#logo
img
{
height
:
44px
;
width
:
auto
;
margin
:
0
;
margin-left
:
10px
;
}
.project-context
.title-page
{
.project-context
.title-page
{
font-size
:
19px
;
line-height
:
40px
;
color
:
#474544
;
...
...
@@ -108,19 +112,19 @@
</span>
<i
class=
"fa fa-angle-down"
></i>
</a>
<ul
class=
"dropdown-menu pull-right"
>
<li><a
style=
"text-transform:capitalize"
href=
"${request.route_url('profile')}"
>
Profile
</a>
<li><a
style=
"text-transform:capitalize"
href=
"${request.route_url('
base-
profile')}"
>
Profile
</a>
</li>
<li
tal:condition=
"not request.user.external"
>
<a
style=
"text-transform:capitalize"
href=
"${request.route_url('password')}"
>
Ubah
<a
style=
"text-transform:capitalize"
href=
"${request.route_url('
base-
password')}"
>
Ubah
password
</a>
</li>
<li><a
style=
"text-transform:capitalize"
href=
"${request.route_url('logout')}"
>
Logout
</a>
<li><a
style=
"text-transform:capitalize"
href=
"${request.route_url('
base-
logout')}"
>
Logout
</a>
</li>
<li
tal:condition=
"request.user.api_key"
><a
style=
"text-transform:capitalize"
href=
"${home}/recreate-api-key"
>
API Key
</a></li>
<!-- <li talcondition="'core' in request.modules and change_unit(request)">-->
<!-- <a style="text-transform:capitalize" href="${home}/departemen/chg">Ubah-->
<!-- Organisasi</a>-->
<!-- <a style="text-transform:capitalize" href="${home}/departemen/chg">Ubah-->
<!-- Organisasi</a>-->
<!-- </li> -->
</ul>
</li>
...
...
@@ -336,4 +340,4 @@
<script
metal:define-slot=
"scripts"
></script>
</body>
</html>
</html>
\ No newline at end of file
eispajak/views/templates/pcpd_retribusi.pt
View file @
d6ded8e
...
...
@@ -134,12 +134,102 @@
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<img
src=
"${home}/eis/static/42x42-statistics.png"
class=
"icon-rounded"
alt=
""
align=
"left"
>
<h5
class=
"text-left bold"
>
Target dan Realisasi per Dinas
<i
class=
"fa fa-info-circle pull-right icon-color"
></i>
</h5>
</div>
<div
class=
"panel-body"
>
<table
class=
"table table-bordered table-sm"
id=
"tableDinas"
>
<thead>
<tr>
<th
class=
"align-middle text-center"
>
Kode
</th>
<th
class=
"align-middle text-center"
>
Instansi
</th>
<th
class=
"text-center"
>
Target
</th>
<th
class=
"text-center"
>
Realisasi
</th>
<th
class=
"text-center"
>
Selisih
</th>
<th
class=
"text-center"
>
%
</th>
</tr>
</thead>
<tbody>
<tr
class=
"odd"
>
<td
class=
""
></td>
<td
class=
""
></td>
<td
class=
"right"
>
0
</td>
<td
class=
"right"
>
0
</td>
<td
class=
"right"
>
0
</td>
<td
class=
"right"
>
0
</td>
</tr>
</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>
</div>
</div>
</div>
<hr>
</div>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<img
src=
"${home}/eis/static/42x42-statistics.png"
class=
"icon-rounded"
alt=
""
align=
"left"
>
<h5
class=
"text-left bold"
>
Target dan Realisasi per Jenis
<i
class=
"fa fa-info-circle pull-right icon-color"
></i>
</h5>
</div>
<div
class=
"panel-body"
>
<table
class=
"table table-bordered table-sm"
id=
"tableJenis"
>
<thead>
<tr>
<th
class=
"align-middle text-center"
>
Kode
</th>
<th
class=
"align-middle text-center"
>
Jenis
</th>
<th
class=
"text-center"
>
Target
</th>
<th
class=
"text-center"
>
Realisasi
</th>
<th
class=
"text-center"
>
Selisih
</th>
<th
class=
"text-center"
>
%
</th>
</tr>
</thead>
<tbody>
<tr
class=
"odd"
>
<td
class=
""
></td>
<td
class=
""
></td>
<td
class=
"right"
>
0
</td>
<td
class=
"right"
>
0
</td>
<td
class=
"right"
>
0
</td>
<td
class=
"right"
>
0
</td>
</tr>
</tbody>
<tfoot>
<td
colspan=
"2"
class=
"text-right"
>
Jumlah
</td>
<td><span
id=
"jns_target"
></span></td>
<td><span
id=
"jns_realisasi"
></span></td>
<td><span
id=
"jns_sisa"
></span></td>
<td><span
id=
"jns_persen"
></span></td>
</tfoot>
</table>
</div>
</div>
</div>
<hr>
</div>
</div>
<metal:js
fill-slot=
"js_files"
>
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.js"></script> -->
<script
src=
"${home}/eis/static/js/chart.js"
></script>
<script
src=
"${home}/eis/static/js/chartjs-adapter-date-fns.bundle.min.js"
></script>
<script
src=
"${home}/eis/static/js/odometer.js"
></script>
<script
src=
"${home}/static/v3/plugin/datatables/1.10/media/js/jquery.dataTables.min.js"
></script>
<script
src=
"${home}/static/v3/plugin/datatables/1.10/media/js/jquery.dataTables.ext.js"
></script>
</metal:js>
...
...
@@ -349,7 +439,134 @@
value
:
0
,
format
:
'(.ddd)'
,
});
//Ditambahkan atas permintaan 2025-10-28
//grid per dinas
var
tableDinas
=
$
(
'#tableDinas'
).
DataTable
(
{
"destroy"
:
true
,
"paging"
:
false
,
"searching"
:
false
,
"info"
:
false
,
"autoWidth"
:
false
,
"scrollX"
:
true
,
"order"
:
[[
0
,
'asc'
]],
"columnDefs"
:
[
{
className
:
'text-center'
,
width
:
"50px"
,
targets
:
[
0
]
},
{
className
:
'text-left'
,
targets
:
[
1
]
},
{
className
:
'text-right'
,
width
:
"100px"
,
targets
:
[
2
,
3
,
4
],
render
:
$
.
fn
.
dataTable
.
render
.
number
(
'.'
,
','
,
0
,
''
)
},
{
className
:
'text-right'
,
width
:
"100px"
,
targets
:
[
5
],
render
:
$
.
fn
.
dataTable
.
render
.
number
(
'.'
,
','
,
2
,
''
)
},
]
}
);
var
dinasRefresh
=
function
()
{
tableDinas
.
clear
();
var
dinasUrl
=
"${url}"
.
replace
(
"/webr/"
,
"/rdinas/"
);
$
.
get
(
dinasUrl
,
{},
function
(
data
,
status
)
{
if
(
status
===
"success"
)
{
console
.
log
(
"Data:"
,
data
);
var
sum_target
=
0
;
var
sum_realisasi
=
0
;
var
sum_sisa
=
0
;
var
sum_persen
=
0
;
data
.
forEach
(
function
(
row
)
{
console
.
log
(
row
);
tableDinas
.
row
.
add
([
row
.
kode
,
row
.
nama
,
row
.
target
,
row
.
realisasi
,
row
.
sisa
,
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"
));
if
(
sum_target
>
0
)
$
(
'#sum_persen'
).
html
((
sum_realisasi
/
sum_target
*
100
).
toFixed
(
2
));
else
$
(
'#sum_persen'
).
html
(
"0.00"
);
tableDinas
.
draw
();
}
else
{
console
.
log
(
"Request failed."
);
tableDinas
.
draw
();
}
}).
fail
(
function
()
{
console
.
log
(
"Request failed."
);
tableDinas
.
draw
();
});
}
//grid per jenis
var
tableJenis
=
$
(
'#tableJenis'
).
DataTable
(
{
"destroy"
:
true
,
"paging"
:
false
,
"searching"
:
false
,
"info"
:
false
,
"autoWidth"
:
false
,
"scrollX"
:
true
,
"order"
:
[[
0
,
'asc'
]],
"columnDefs"
:
[
{
className
:
'text-center'
,
width
:
"50px"
,
targets
:
[
0
]
},
{
className
:
'text-left'
,
targets
:
[
1
]
},
{
className
:
'text-right'
,
width
:
"100px"
,
targets
:
[
2
,
3
,
4
],
render
:
$
.
fn
.
dataTable
.
render
.
number
(
'.'
,
','
,
0
,
''
)
},
{
className
:
'text-right'
,
width
:
"100px"
,
targets
:
[
5
],
render
:
$
.
fn
.
dataTable
.
render
.
number
(
'.'
,
','
,
2
,
''
)
},
]
}
);
var
jenisRefresh
=
function
()
{
tableJenis
.
clear
();
var
jenisUrl
=
"${url}"
.
replace
(
"/webr/"
,
"/rjenis/"
);
$
.
get
(
jenisUrl
,
{},
function
(
data
,
status
)
{
if
(
status
===
"success"
)
{
console
.
log
(
data
);
var
jns_target
=
0
;
var
jns_realisasi
=
0
;
var
jns_sisa
=
0
;
var
jns_persen
=
0
;
data
.
forEach
(
function
(
row
)
{
console
.
log
(
row
);
tableJenis
.
row
.
add
([
row
.
kode
,
row
.
nama
,
row
.
target
,
row
.
realisasi
,
row
.
sisa
,
row
.
persen
.
toFixed
(
2
)
]);
jns_target
+=
row
.
target
;
jns_realisasi
+=
row
.
realisasi
;
jns_sisa
+=
row
.
sisa
;
jns_persen
+=
row
.
persen
;
});
$
(
'#jns_target'
).
html
(
jns_target
.
toLocaleString
(
"id-ID"
));
$
(
'#jns_realisasi'
).
html
(
jns_realisasi
.
toLocaleString
(
"id-ID"
));
$
(
'#jns_sisa'
).
html
(
jns_sisa
.
toLocaleString
(
"id-ID"
));
if
(
jns_target
>
0
)
$
(
'#jns_persen'
).
html
((
jns_realisasi
/
jns_target
*
100
).
toFixed
(
2
));
else
$
(
'#jns_persen'
).
html
(
"0.00"
);
tableJenis
.
draw
();
}
else
{
console
.
log
(
"Request failed."
);
tableJenis
.
draw
();
}
}).
fail
(
function
()
{
console
.
log
(
"Request failed."
);
tableJenis
.
draw
();
});
}
$
.
fn
.
datarefresh
=
function
()
{
console
.
log
(
"data_refresh"
);
console
.
log
(
"${url}"
);
...
...
@@ -367,6 +584,8 @@
time
.
style
.
fontWeight
=
'bold'
;
addData
(
pieChart
,
newData
.
pie
);
trendChart
();
dinasRefresh
();
jenisRefresh
();
}
else
{
console
.
log
(
"Request failed."
);
}
...
...
eispajak/views/webr.py
0 → 100644
View file @
d6ded8e
from
opensipkd.webr.models
import
(
WebrAnggaran
,
WebrProduk
,
WebrArInvoice
,
Departemen
)
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment