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 2e660d0d
authored
Oct 06, 2025
by
Ari Agung Prasetiyo
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
update query pbb
1 parent
1f8e56ae
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
333 additions
and
3 deletions
eispajak/views/pcpd.py
eispajak/views/realisasi_pad.sql
eispajak/views/pcpd.py
View file @
2e660d0
# from types import NoneType
# from types import NoneType
import
os
from
pyramid.view
import
(
from
pyramid.view
import
(
view_config
,
view_config
,
)
)
...
@@ -6,11 +7,11 @@ from ..views import BaseView
...
@@ -6,11 +7,11 @@ from ..views import BaseView
from
..models
import
*
from
..models
import
*
from
..models.eis
import
Eis
,
Chart
,
ChartItem
,
Slide
from
..models.eis
import
Eis
,
Chart
,
ChartItem
,
Slide
from
datatables
import
ColumnDT
,
DataTables
from
datatables
import
ColumnDT
,
DataTables
from
sqlalchemy
import
func
,
and_
,
String
from
sqlalchemy
import
func
,
and_
,
String
,
text
from
sqlalchemy.sql.expression
import
cast
from
sqlalchemy.sql.expression
import
cast
from
..models.payment
import
PaymentPBB
,
PaymentPAD
,
PaymentBPHTB
,
PaymentWEBR
,
TargetsBangbadil
,
UploadRealisasiOpsen
from
..models.payment
import
PaymentPBB
,
PaymentPAD
,
PaymentBPHTB
,
PaymentWEBR
,
TargetsBangbadil
,
UploadRealisasiOpsen
from
opensipkd.pbb.monitoring.models
import
PembayaranSppt
,
Kecamatan
,
Kelurahan
,
Sppt
from
opensipkd.pbb.monitoring.models
import
PembayaranSppt
,
Kecamatan
,
Kelurahan
,
Sppt
from
opensipkd.pjdl.models
import
Sspd
,
Pajak
,
Usaha
from
opensipkd.pjdl.models
import
Sspd
,
Pajak
,
Usaha
,
PdlDBSession
from
datetime
import
timedelta
from
datetime
import
timedelta
from
..models.payment
import
PCDBSession
from
..models.payment
import
PCDBSession
...
@@ -29,6 +30,20 @@ PAD_TYP = {
...
@@ -29,6 +30,20 @@ PAD_TYP = {
"pbb"
:
[
"0"
],
"pbb"
:
[
"0"
],
}
}
PAD2_TYP
=
{
"hotel"
:
"41011903"
,
"resto"
:
"41011901"
,
"hiburan"
:
"41011905"
,
"ppju"
:
"41011902"
,
"minerba"
:
"410114"
,
"parkir"
:
"41011904"
,
"walet"
:
"410113"
,
"atd"
:
"410112"
,
"reklame"
:
"410109"
,
"pbb"
:
"0"
,
}
jenis_pajak
=
{
jenis_pajak
=
{
"opsen_pkb"
:
{
"opsen_pkb"
:
{
"kode"
:
"4.1.01.20.01.0001"
,
"kode"
:
"4.1.01.20.01.0001"
,
...
@@ -165,6 +180,8 @@ class Views(BaseView):
...
@@ -165,6 +180,8 @@ class Views(BaseView):
bayar
=
mapped
.
get
(
"bayar"
,
0
)
bayar
=
mapped
.
get
(
"bayar"
,
0
)
denda
=
mapped
.
get
(
"denda"
,
0
)
denda
=
mapped
.
get
(
"denda"
,
0
)
pokok
=
float
(
bayar
)
pokok
=
float
(
bayar
)
if
typ
==
'pbb'
:
pokok
=
bayar
-
denda
tx
=
mapped
.
get
(
"trx"
,
0
)
tx
=
mapped
.
get
(
"trx"
,
0
)
daily
.
append
((
step
,
pokok
))
daily
.
append
((
step
,
pokok
))
dailyTrx
.
append
((
step
,
tx
))
dailyTrx
.
append
((
step
,
tx
))
...
@@ -793,8 +810,9 @@ class Views(BaseView):
...
@@ -793,8 +810,9 @@ class Views(BaseView):
elif
jenis
==
"bphtb"
:
elif
jenis
==
"bphtb"
:
realisasi
=
self
.
get_bphtb_data
()[
"ytd"
]
realisasi
=
self
.
get_bphtb_data
()[
"ytd"
]
else
:
else
:
realisasi
=
self
.
get_pad_data
(
jenis
)[
"ytd"
]
realisasi
=
self
.
get_pad_data
(
jenis
)[
"ytd"
]
#realisasi = self.get_pad_data(jenis)
#realisasi = realisasi[f"{jenis}"]["realisasi"]
return
{
jenis
:
{
"kode"
:
jenis_pajak
[
jenis
][
"kode"
]
.
ljust
(
8
,
'0'
),
return
{
jenis
:
{
"kode"
:
jenis_pajak
[
jenis
][
"kode"
]
.
ljust
(
8
,
'0'
),
"nama"
:
jenis_pajak
[
jenis
][
"nama"
],
"nama"
:
jenis_pajak
[
jenis
][
"nama"
],
...
@@ -863,6 +881,32 @@ class Views(BaseView):
...
@@ -863,6 +881,32 @@ class Views(BaseView):
resp
[
"time"
]
=
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
resp
[
"time"
]
=
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
return
resp
return
resp
def
realisasi_pad
(
self
,
jenis
):
target
=
self
.
get_targets
(
jenis
)
today
=
datetime
.
now
()
.
date
()
file_dir
=
os
.
path
.
split
(
__file__
)[
0
]
filename
=
os
.
path
.
join
(
file_dir
,
'realisasi_pad.sql'
)
rekeningkd
=
PAD2_TYP
[
jenis
]
with
open
(
filename
,
'r'
)
as
f
:
qry
=
f
.
read
()
.
format
(
bulan
=
today
.
month
,
tahun
=
today
.
year
,
kondisi
=
f
"and levelid in (3,4) and issummary = 1 and rekeningkd='{rekeningkd}'"
)
engine
=
PdlDBSession
.
get_bind
()
with
engine
.
connect
()
as
conn
:
result
=
conn
.
execute
(
text
(
qry
.
replace
(
'
\n
'
,
' '
)))
d
=
[]
# r = result[0]
for
r
in
result
:
d
.
append
(
dict
(
zip
(
result
.
keys
(),
r
)))
d
=
d
[
0
]
realisasi
=
d
[
"realisasi_lalu"
]
+
d
[
"realisasi"
]
return
{
jenis
:
{
"kode"
:
d
[
"kode"
],
"nama"
:
d
[
"nama"
],
"target"
:
target
,
"realisasi"
:
realisasi
,
"sisa"
:
target
-
realisasi
,
"persen"
:
round
(
realisasi
/
target
*
100
,
2
)
if
target
>
0
else
0
}
}
def
view_pajak
(
self
):
def
view_pajak
(
self
):
return
{
"module"
:
'pajak'
,
return
{
"module"
:
'pajak'
,
"title"
:
"Realisasi Pajak Daerah"
}
"title"
:
"Realisasi Pajak Daerah"
}
...
...
eispajak/views/realisasi_pad.sql
0 → 100644
View file @
2e660d0
select
tglcetak
,
bulan
,
substring
(
rekeningkd
,
1
,
25
)
as
kode
,
rekeningnm
as
nama
,
levelid
,
issummary
,
sum
(
murni
)
murni
,
sum
(
perubahan
)
perubahan
,
sum
(
realisasi_lalu
)
realisasi_lalu
,
sum
(
realisasi
)
realisasi
,
d
.
nip
as
dnip
,
d
.
pejabatnm
as
dpejabatnm
,
d
.
jabatan
as
djabatan
,
d
.
pangkat
as
dpangkat
,
e
.
nip
as
enip
,
e
.
pejabatnm
as
epejabatnm
,
e
.
jabatan
as
ejabatan
,
e
.
pangkat
as
epangkat
from
(
with
r
as
(
select
id
,
rekeningkd
,
rekeningnm
,
levelid
,
issummary
,
enabled
from
tblrekening
),
a5
as
(
select
r
.
rekeningkd
,
substring
(
r
.
rekeningkd
,
1
,
1
)
||
'%'
rlevel0
,
substring
(
r
.
rekeningkd
,
1
,
2
)
||
'%'
rlevel1
,
substring
(
r
.
rekeningkd
,
1
,
3
)
||
'%'
rlevel2
,
substring
(
r
.
rekeningkd
,
1
,
6
)
||
'%'
rlevel3
,
substring
(
r
.
rekeningkd
,
1
,
8
)
||
'%'
rlevel4
,
substring
(
r
.
rekeningkd
,
1
,
12
)
||
'%'
rlevel5
,
sum
(
a
.
murni
)
murni
,
sum
(
a
.
perubahan
)
perubahan
from
rka_kegiatan_line
a
left
join
r
on
r
.
id
=
a
.
rekening_id
where
a
.
tahun
::
text
=
'{tahun}'
group
by
r
.
rekeningkd
),
a4
as
(
select
r
.
rekeningkd
,
sum
(
a
.
murni
)
murni
,
sum
(
a
.
perubahan
)
perubahan
from
a5
a
left
join
r
on
r
.
rekeningkd
ilike
a
.
rlevel4
where
r
.
levelid
=
4
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
a3
as
(
select
r
.
rekeningkd
,
sum
(
a
.
murni
)
murni
,
sum
(
a
.
perubahan
)
perubahan
from
a5
a
left
join
r
on
r
.
rekeningkd
ilike
a
.
rlevel3
where
r
.
levelid
=
3
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
a2
as
(
select
r
.
rekeningkd
,
sum
(
a
.
murni
)
murni
,
sum
(
a
.
perubahan
)
perubahan
from
a5
a
left
join
r
on
r
.
rekeningkd
ilike
a
.
rlevel2
where
r
.
levelid
=
2
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
a1
as
(
select
r
.
rekeningkd
,
sum
(
a
.
murni
)
murni
,
sum
(
a
.
perubahan
)
perubahan
from
a5
a
left
join
r
on
r
.
rekeningkd
ilike
a
.
rlevel1
where
r
.
levelid
=
1
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
a0
as
(
select
r
.
rekeningkd
,
sum
(
a
.
murni
)
murni
,
sum
(
a
.
perubahan
)
perubahan
from
a5
a
left
join
r
on
r
.
rekeningkd
ilike
a
.
rlevel0
where
r
.
levelid
=
0
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lv5
as
(
select
r
.
rekeningkd
,
substring
(
r
.
rekeningkd
,
1
,
1
)
||
'%'
rlevel0
,
substring
(
r
.
rekeningkd
,
1
,
2
)
||
'%'
rlevel1
,
substring
(
r
.
rekeningkd
,
1
,
3
)
||
'%'
rlevel2
,
substring
(
r
.
rekeningkd
,
1
,
6
)
||
'%'
rlevel3
,
substring
(
r
.
rekeningkd
,
1
,
8
)
||
'%'
rlevel4
,
substring
(
r
.
rekeningkd
,
1
,
12
)
||
'%'
rlevel5
,
sum
(
case
when
ss
.
hitung_bunga
in
(
0
,
2
)
then
ss
.
jml_bayar
when
s
.
type_id
in
(
5
)
then
s
.
pajak_terhutang
when
s
.
type_id
in
(
13
)
then
0
else
ss
.
jml_bayar
-
ss
.
bunga
end
)
realisasi
from
pad_sspd
ss
left
join
pad_spt
s
on
s
.
id
=
ss
.
spt_id
left
join
pad_pajak
p
on
p
.
id
=
s
.
pajak_id
left
join
r
on
r
.
id
=
p
.
rekening_id
where
ss
.
is_valid
=
1
and
extract
(
month
FROM
ss
.
sspdtgl
)
=
{
bulan
}
and
extract
(
year
FROM
ss
.
sspdtgl
)
=
{
tahun
}
group
by
r
.
rekeningkd
union
select
r
.
rekeningkd
,
substring
(
r
.
rekeningkd
,
1
,
1
)
||
'%'
rlevel0
,
substring
(
r
.
rekeningkd
,
1
,
2
)
||
'%'
rlevel1
,
substring
(
r
.
rekeningkd
,
1
,
3
)
||
'%'
rlevel2
,
substring
(
r
.
rekeningkd
,
1
,
6
)
||
'%'
rlevel3
,
substring
(
r
.
rekeningkd
,
1
,
8
)
||
'%'
rlevel4
,
substring
(
r
.
rekeningkd
,
1
,
12
)
||
'%'
rlevel5
,
sum
(
case
when
ss
.
hitung_bunga
in
(
0
,
2
)
then
0
when
s
.
type_id
in
(
5
)
then
ss
.
jml_bayar
-
s
.
pajak_terhutang
when
s
.
type_id
in
(
13
)
then
ss
.
jml_bayar
else
ss
.
bunga
end
)
realisasi
from
pad_sspd
ss
left
join
pad_spt
s
on
s
.
id
=
ss
.
spt_id
left
join
pad_pajak
p
on
p
.
id
=
s
.
pajak_id
left
join
r
on
r
.
id
=
p
.
rekdenda_id
where
ss
.
is_valid
=
1
and
extract
(
month
FROM
ss
.
sspdtgl
)
=
{
bulan
}
and
extract
(
year
FROM
ss
.
sspdtgl
)
=
{
tahun
}
group
by
r
.
rekeningkd
),
lv4
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lv5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel4
where
r
.
levelid
=
4
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lv3
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lv5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel3
where
r
.
levelid
=
3
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lv2
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lv5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel2
where
r
.
levelid
=
2
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lv1
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lv5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel1
where
r
.
levelid
=
1
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lv0
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lv5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel0
where
r
.
levelid
=
0
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lu5
as
(
select
r
.
rekeningkd
,
substring
(
r
.
rekeningkd
,
1
,
1
)
||
'%'
rlevel0
,
substring
(
r
.
rekeningkd
,
1
,
2
)
||
'%'
rlevel1
,
substring
(
r
.
rekeningkd
,
1
,
3
)
||
'%'
rlevel2
,
substring
(
r
.
rekeningkd
,
1
,
6
)
||
'%'
rlevel3
,
substring
(
r
.
rekeningkd
,
1
,
8
)
||
'%'
rlevel4
,
substring
(
r
.
rekeningkd
,
1
,
12
)
||
'%'
rlevel5
,
sum
(
case
when
ss
.
hitung_bunga
in
(
0
,
2
)
then
ss
.
jml_bayar
when
s
.
type_id
in
(
5
)
then
s
.
pajak_terhutang
when
s
.
type_id
in
(
13
)
then
0
else
ss
.
jml_bayar
-
ss
.
bunga
end
)
realisasi
from
pad_sspd
ss
left
join
pad_spt
s
on
s
.
id
=
ss
.
spt_id
left
join
pad_pajak
p
on
p
.
id
=
s
.
pajak_id
left
join
r
on
r
.
id
=
p
.
rekening_id
where
r
.
levelid
=
5
and
ss
.
is_valid
=
1
and
extract
(
month
FROM
ss
.
sspdtgl
)
<
{
bulan
}
and
extract
(
year
FROM
ss
.
sspdtgl
)
=
{
tahun
}
group
by
r
.
rekeningkd
union
select
r
.
rekeningkd
,
substring
(
r
.
rekeningkd
,
1
,
1
)
||
'%'
rlevel0
,
substring
(
r
.
rekeningkd
,
1
,
2
)
||
'%'
rlevel1
,
substring
(
r
.
rekeningkd
,
1
,
3
)
||
'%'
rlevel2
,
substring
(
r
.
rekeningkd
,
1
,
6
)
||
'%'
rlevel3
,
substring
(
r
.
rekeningkd
,
1
,
8
)
||
'%'
rlevel4
,
substring
(
r
.
rekeningkd
,
1
,
12
)
||
'%'
rlevel5
,
sum
(
case
when
ss
.
hitung_bunga
in
(
0
,
2
)
then
0
when
s
.
type_id
in
(
5
)
then
ss
.
jml_bayar
-
s
.
pajak_terhutang
when
s
.
type_id
in
(
13
)
then
ss
.
jml_bayar
else
ss
.
bunga
end
)
realisasi
from
pad_sspd
ss
left
join
pad_spt
s
on
s
.
id
=
ss
.
spt_id
left
join
pad_pajak
p
on
p
.
id
=
s
.
pajak_id
left
join
r
on
r
.
id
=
p
.
rekdenda_id
where
(
r
.
levelid
=
5
or
(
r
.
levelid
=
4
and
issummary
=
0
))
and
ss
.
is_valid
=
1
and
extract
(
month
FROM
ss
.
sspdtgl
)
<
{
bulan
}
and
extract
(
year
FROM
ss
.
sspdtgl
)
=
{
tahun
}
group
by
r
.
rekeningkd
),
lu4
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lu5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel4
where
r
.
levelid
=
4
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lu3
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lu5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel3
where
r
.
levelid
=
3
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lu2
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lu5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel2
where
r
.
levelid
=
2
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lu1
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lu5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel1
where
r
.
levelid
=
1
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
),
lu0
as
(
select
r
.
rekeningkd
,
sum
(
realisasi
)
realisasi
from
lu5
tl
left
join
r
on
r
.
rekeningkd
ilike
tl
.
rlevel0
where
r
.
levelid
=
0
and
r
.
issummary
=
1
group
by
r
.
rekeningkd
)
select
format_tgl
(
date
(
now
()),
false
,
false
)
tglcetak
,
upper
(
get_bulan
(
{
bulan
}
::
int
,
false
))
||
{
tahun
}
as
bulan
,
r
.
rekeningkd
,
r
.
rekeningnm
,
r
.
levelid
,
r
.
issummary
,
coalesce
(
case
when
r
.
levelid
=
0
then
a0
.
murni
when
r
.
levelid
=
1
then
a1
.
murni
when
r
.
levelid
=
2
then
a2
.
murni
when
r
.
levelid
=
3
then
a3
.
murni
when
r
.
levelid
=
4
then
a4
.
murni
when
r
.
levelid
=
5
then
a5
.
murni
end
,
0
)
murni
,
coalesce
(
case
when
r
.
levelid
=
0
then
a0
.
perubahan
when
r
.
levelid
=
1
then
a1
.
perubahan
when
r
.
levelid
=
2
then
a2
.
perubahan
when
r
.
levelid
=
3
then
a3
.
perubahan
when
r
.
levelid
=
4
then
a4
.
perubahan
when
r
.
levelid
=
5
then
a5
.
perubahan
end
,
0
)
perubahan
,
coalesce
(
case
when
r
.
levelid
=
0
then
lu0
.
realisasi
when
r
.
levelid
=
1
then
lu1
.
realisasi
when
r
.
levelid
=
2
then
lu2
.
realisasi
when
r
.
levelid
=
3
then
lu3
.
realisasi
when
r
.
levelid
=
4
then
lu4
.
realisasi
when
r
.
levelid
=
5
then
lu5
.
realisasi
end
,
0
)
realisasi_lalu
,
coalesce
(
case
when
r
.
levelid
=
0
then
lv0
.
realisasi
when
r
.
levelid
=
1
then
lv1
.
realisasi
when
r
.
levelid
=
2
then
lv2
.
realisasi
when
r
.
levelid
=
3
then
lv3
.
realisasi
when
r
.
levelid
=
4
then
lv4
.
realisasi
when
r
.
levelid
=
5
then
lv5
.
realisasi
end
,
0
)
realisasi
from
r
left
join
a0
on
a0
.
rekeningkd
=
r
.
rekeningkd
left
join
a1
on
a1
.
rekeningkd
=
r
.
rekeningkd
left
join
a2
on
a2
.
rekeningkd
=
r
.
rekeningkd
left
join
a3
on
a3
.
rekeningkd
=
r
.
rekeningkd
left
join
a4
on
a4
.
rekeningkd
=
r
.
rekeningkd
left
join
a5
on
a5
.
rekeningkd
=
r
.
rekeningkd
left
join
lv0
on
lv0
.
rekeningkd
=
r
.
rekeningkd
left
join
lv1
on
lv1
.
rekeningkd
=
r
.
rekeningkd
left
join
lv2
on
lv2
.
rekeningkd
=
r
.
rekeningkd
left
join
lv3
on
lv3
.
rekeningkd
=
r
.
rekeningkd
left
join
lv4
on
lv4
.
rekeningkd
=
r
.
rekeningkd
left
join
lv5
on
lv5
.
rekeningkd
=
r
.
rekeningkd
left
join
lu0
on
lu0
.
rekeningkd
=
r
.
rekeningkd
left
join
lu1
on
lu1
.
rekeningkd
=
r
.
rekeningkd
left
join
lu2
on
lu2
.
rekeningkd
=
r
.
rekeningkd
left
join
lu3
on
lu3
.
rekeningkd
=
r
.
rekeningkd
left
join
lu4
on
lu4
.
rekeningkd
=
r
.
rekeningkd
left
join
lu5
on
lu5
.
rekeningkd
=
r
.
rekeningkd
where
r
.
enabled
=
1
)
as
data
left
join
tblpejabat
d
on
d
.
id
=
1
left
join
tblpejabat
e
on
e
.
id
=
1
where
1
=
1
{
kondisi
}
group
by
1
,
2
,
3
,
4
,
5
,
6
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
order
by
kode
\ No newline at end of file
\ No newline at end of file
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