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 7ca34d70
authored
Jun 11, 2025
by
aa.gustiana@gmail.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
perhitungan webr
1 parent
1e43b80c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
217 additions
and
213 deletions
eispajak/models/payment.py
eispajak/scripts/data/routes.csv
eispajak/views/pcpd.py
eispajak/models/payment.py
View file @
7ca34d7
...
...
@@ -6,7 +6,7 @@ from opensipkd.base.models import (
)
from
sqlalchemy
import
(
Column
,
Integer
,
DateTime
,
String
,
Text
,
ForeignKey
,
Float
,
Boolean
,
BigInteger
,
SmallInteger
,
desc
,
asc
,
Date
,
Time
,
UniqueConstraint
,
func
)
UniqueConstraint
,
func
,
literal_column
)
from
sqlalchemy.ext.declarative
import
declarative_base
from
sqlalchemy
import
engine_from_config
from
opensipkd.tools
import
get_settings
...
...
@@ -69,24 +69,7 @@ class PaymentPBB(PCBase, DefaultModel):
for
col
in
columns
:
qry
=
qry
.
add_columns
(
col
)
return
qry
@classmethod
def
sum_data
(
cls
):
return
PCDBSession
.
query
(
func
.
to_char
(
cls
.
tgl_pembayaran_sppt
,
'yyyy-mm-dd'
)
.
label
(
'tanggal'
),
func
.
sum
(
cls
.
jml_sppt_yg_dibayar
)
.
label
(
'bayar'
),
func
.
sum
(
cls
.
denda_sppt
)
.
label
(
'denda'
))
\
.
group_by
(
func
.
to_char
(
cls
.
tgl_pembayaran_sppt
,
'yyyy-mm-dd'
))
@classmethod
def
sum_daily
(
cls
,
length
=
0
):
now
=
datetime
.
now
()
tod
=
now
.
date
tom
=
tod
+
timedelta
(
days
=
1
)
if
length
:
tod
=
tod
-
timedelta
(
days
=
length
)
return
cls
.
sum_data
()
.
filter
(
cls
.
tgl_pembayaran_sppt
.
between
(
tod
,
tom
))
# baru dari db BPHTB
...
...
@@ -119,16 +102,15 @@ class PaymentBPHTB(PCBase, CommonModel):
)
@classmethod
def
sum_data
(
cls
):
return
PCDBSession
.
query
(
func
.
sum
(
cls
.
nilai_bphtb
)
.
label
(
'bayar'
),
func
.
sum
(
'0'
)
.
label
(
'denda'
))
@classmethod
def
sum_today
(
cls
):
now
=
datetime
.
now
()
tom
=
timedelta
(
now
.
date
,
days
=
1
)
qry
=
cls
.
sum_data
()
.
filter
(
cls
.
tgl
.
between
(
now
.
date
,
tom
))
return
qry
.
first
()
def
qry_sum
(
cls
,
columns
=
[]):
qry
=
PCDBSession
.
query
(
func
.
sum
(
cls
.
nilai_bphtb
)
.
label
(
'bayar'
),
literal_column
(
"0"
)
.
label
(
'denda'
),
func
.
count
(
cls
.
id
)
.
label
(
'trx'
))
.
select_from
(
cls
)
for
col
in
columns
:
qry
=
qry
.
add_columns
(
col
)
return
qry
# baru PAD
...
...
@@ -175,16 +157,14 @@ class PaymentPAD(PCBase, CommonModel):
)
@classmethod
def
sum_data
(
cls
):
return
PCDBSession
.
query
(
func
.
sum
(
cls
.
jml_bayar
)
.
label
(
'bayar'
),
func
.
sum
(
cls
.
denda
+
cls
.
bunga
)
.
label
(
'denda'
))
@classmethod
def
sum_today
(
cls
):
now
=
datetime
.
now
()
tom
=
timedelta
(
now
.
date
,
days
=
1
)
qry
=
cls
.
sum_data
()
.
filter
(
cls
.
tgl
.
between
(
now
.
date
,
tom
))
return
qry
.
first
()
def
qry_sum
(
cls
,
columns
=
[]):
qry
=
PCDBSession
.
query
(
func
.
sum
(
cls
.
jml_bayar
)
.
label
(
'bayar'
),
func
.
sum
(
cls
.
denda
+
cls
.
bunga
)
.
label
(
'denda'
),
func
.
count
(
cls
.
id
)
.
label
(
'trx'
))
.
select_from
(
cls
)
for
col
in
columns
:
qry
=
qry
.
add_columns
(
col
)
return
qry
# baru PAD
...
...
@@ -218,17 +198,15 @@ class PaymentWEBR(PCBase, CommonModel):
)
@classmethod
def
sum_data
(
cls
):
return
PCDBSession
.
query
(
func
.
sum
(
cls
.
jml_bayar
)
.
label
(
'bayar'
),
func
.
sum
(
cls
.
denda
)
.
label
(
'denda'
))
@classmethod
def
sum_today
(
cls
):
now
=
datetime
.
now
()
tom
=
timedelta
(
now
.
date
,
days
=
1
)
qry
=
cls
.
sum_data
()
.
filter
(
cls
.
tgl
.
between
(
now
.
date
,
tom
))
return
qry
.
first
()
def
qry_sum
(
cls
,
columns
=
[]):
qry
=
PCDBSession
.
query
(
func
.
sum
(
cls
.
jml_bayar
)
.
label
(
'bayar'
),
func
.
sum
(
cls
.
denda
)
.
label
(
'denda'
),
func
.
count
(
cls
.
id
)
.
label
(
'trx'
))
.
select_from
(
cls
)
for
col
in
columns
:
qry
=
qry
.
add_columns
(
col
)
return
qry
def
get_connection
(
settings
):
...
...
eispajak/scripts/data/routes.csv
View file @
7ca34d7
...
...
@@ -14,7 +14,7 @@ eis-minerba,Minerba,/eis/minerba,1,0,1,eis-pajak,pcpd,Views,view_minerba,eis,pcp
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-opsen,Opsen,/eis/opsen,1,0,1,eis-pajak,pcpd,Views,view_opsen,eis,pcpd.pt
eis-
retribusi,Retribusi,/eis/webr,1,0,1,
,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,0
eis-carousel,Carousel,/eis/carousel,1,0,0
eis-carousel-act,Carousel Action,/eis/carousel/{act}/act,1,0
...
...
eispajak/views/pcpd.py
View file @
7ca34d7
...
...
@@ -12,6 +12,7 @@ from ..models.payment import PaymentPBB, PaymentPAD, PaymentBPHTB, PaymentWEBR
from
datetime
import
timedelta
logger
=
logging
.
getLogger
(
__name__
)
class
Views
(
BaseView
):
@view_config
(
route_name
=
'eis-pcpd'
,
renderer
=
'templates/pcpd.pt'
,
permission
=
'eis'
)
...
...
@@ -41,12 +42,13 @@ class Views(BaseView):
"monthtrAccTrx"
:
[(
"JAN"
,
100
),
(
"FEB"
,
200
),
(
"MAR"
,
300
),
(
"APR"
,
200
),
(
"MAY"
,
100
),
(
"JUN"
,
100
),
(
"JUL"
,
700
)],
}
def
get_daily_data
(
self
,
table
,
fi
lter
,
field
=
None
,
today
=
None
):
def
get_daily_data
(
self
,
table
,
fi
eld
,
today
,
filters
):
columns
=
[
field
.
label
(
"step"
)]
qry
=
table
.
qry_sum
(
columns
)
\
.
group_by
(
field
)
\
.
order_by
(
field
)
qry
=
qry
.
filter
(
filter
)
# for i, f in enumerate(filters):
qry
=
qry
.
filter
(
filters
)
daily
=
[]
dailyTrx
=
[]
dailyAcc
=
[]
...
...
@@ -57,7 +59,7 @@ class Views(BaseView):
bayar
=
r
[
0
]
or
0
denda
=
r
[
1
]
or
0
pokok
=
bayar
-
denda
tx
=
r
[
2
]
or
0
tx
=
r
[
2
]
or
0
daily
.
append
((
step
,
pokok
))
dailyTrx
.
append
((
step
,
tx
))
acc
+=
pokok
...
...
@@ -70,37 +72,200 @@ class Views(BaseView):
return
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
def
get_pbb_data
(
self
):
log
.
debug
(
"YYYYY"
)
logger
.
debug
(
"XXXX"
)
if
log
.
root
.
level
==
logging
.
DEBUG
:
today
=
datetime
.
strptime
(
'2025-06-05'
,
"
%
Y-
%
m-
%
d"
)
else
:
today
=
datetime
.
now
()
.
date
()
field
=
func
.
to_char
(
PaymentPBB
.
tgl_pembayaran_sppt
,
'yyyy-mm-dd'
)
filter
=
PaymentPBB
.
tgl_pembayaran_sppt
.
between
(
filter
_exp
=
PaymentPBB
.
tgl_pembayaran_sppt
.
between
(
today
-
timedelta
(
6
),
today
)
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
=
\
self
.
get_daily_data
(
PaymentPBB
,
filter
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
))
filter
=
PaymentPBB
.
tgl_pembayaran_sppt
.
between
(
self
.
get_daily_data
(
PaymentPBB
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
)
filter_exp
=
PaymentPBB
.
tgl_pembayaran_sppt
.
between
(
today
-
timedelta
(
days
=
6
),
today
)
field
=
func
.
to_char
(
PaymentPBB
.
tgl_pembayaran_sppt
,
'IYYY'
)
filter
=
PaymentPBB
.
tgl_pembayaran_sppt
.
between
(
filter_exp
=
PaymentPBB
.
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
(
PaymentPBB
,
field
,
str
(
today
.
year
),
filter_exp
)
field
=
func
.
to_char
(
PaymentPBB
.
tgl_pembayaran_sppt
,
'IYYY-MM'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PaymentPBB
,
field
,
None
,
filter_exp
)
filter_exp
=
PaymentPBB
.
tgl_pembayaran_sppt
.
between
(
today
-
timedelta
(
weeks
=
6
),
today
)
week
,
weekTrx
,
weekly
,
weeklyTrx
,
weeklyAcc
,
weeklyAccTrx
=
\
self
.
get_daily_data
(
PaymentPBB
,
field
,
None
,
filter_exp
)
field
=
func
.
to_char
(
PaymentPBB
.
tgl_pembayaran_sppt
,
'YYYY-IW'
)
return
{
"today"
:
amt
,
"trx"
:
trx
,
"daily"
:
daily
,
"dailyTrx"
:
dailyTrx
,
"dailyAcc"
:
dailyAcc
,
"dailyAccTrx"
:
dailyAccTrx
,
"ytd"
:
ytd
,
"trxYtd"
:
ytdTrx
,
"pie"
:
[(
"I"
,
100
,
'#16a75c'
),
(
"II"
,
200
,
'#ffb900'
),
(
"III"
,
300
,
'#133132'
),
(
"IV"
,
200
,
'#123456'
),
(
"V"
,
100
,
'#545355'
)],
"weekly"
:
weekly
,
"weeklyTrx"
:
weeklyTrx
,
"weeklyAcc"
:
weeklyAcc
,
"weeklyAccTrx"
:
weeklyAccTrx
,
"monthly"
:
monthly
,
"monthlyTrx"
:
monthlyTrx
,
"monthlyAcc"
:
monthlyAcc
,
"monthlyAccTrx"
:
monthlyAccTrx
,
}
def
get_bphtb_data
(
self
):
if
log
.
root
.
level
==
logging
.
DEBUG
:
today
=
datetime
.
strptime
(
'2025-06-05'
,
"
%
Y-
%
m-
%
d"
)
else
:
today
=
datetime
.
now
()
.
date
()
field
=
func
.
to_char
(
PaymentBPHTB
.
tgl
,
'yyyy-mm-dd'
)
filter_exp
=
PaymentBPHTB
.
tgl
.
between
(
today
-
timedelta
(
6
),
today
)
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
=
\
self
.
get_daily_data
(
PaymentBPHTB
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
)
filter_exp
=
PaymentBPHTB
.
tgl
.
between
(
today
-
timedelta
(
days
=
6
),
today
)
field
=
func
.
to_char
(
PaymentBPHTB
.
tgl
,
'IYYY'
)
filter_exp
=
PaymentBPHTB
.
tgl
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
)
ytd
,
ytdTrx
,
yearly
,
yearlyTrx
,
yearlyAcc
,
yearlyAccTrx
=
\
self
.
get_daily_data
(
PaymentBPHTB
,
field
,
str
(
today
.
year
),
filter_exp
)
field
=
func
.
to_char
(
PaymentBPHTB
.
tgl
,
'MM'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PaymentBPHTB
,
field
,
None
,
filter_exp
)
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
)
return
{
"today"
:
amt
,
"trx"
:
trx
,
"daily"
:
daily
,
"dailyTrx"
:
dailyTrx
,
"dailyAcc"
:
dailyAcc
,
"dailyAccTrx"
:
dailyAccTrx
,
"ytd"
:
ytd
,
"trxYtd"
:
ytdTrx
,
"pie"
:
[(
"I"
,
100
,
'#16a75c'
),
(
"II"
,
200
,
'#ffb900'
),
(
"III"
,
300
,
'#133132'
),
(
"IV"
,
200
,
'#123456'
),
(
"V"
,
100
,
'#545355'
)],
"weekly"
:
weekly
,
"weeklyTrx"
:
weeklyTrx
,
"weeklyAcc"
:
weeklyAcc
,
"weeklyAccTrx"
:
weeklyAccTrx
,
"monthly"
:
monthly
,
"monthlyTrx"
:
monthlyTrx
,
"monthlyAcc"
:
monthlyAcc
,
"monthlyAccTrx"
:
monthlyAccTrx
,
}
def
get_pad_data
(
self
,
typ
):
if
log
.
root
.
level
==
logging
.
DEBUG
:
today
=
datetime
.
strptime
(
'2025-06-05'
,
"
%
Y-
%
m-
%
d"
)
else
:
today
=
datetime
.
now
()
.
date
()
filter_ex
=
[]
if
typ
==
'hotel'
:
filter_ex
=
[
PaymentPAD
.
jenis_pajak
==
"PBJT - JASA PERHOTELAN"
,]
field
=
func
.
to_char
(
PaymentPAD
.
tgl
,
'yyyy-mm-dd'
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
today
-
timedelta
(
6
),
today
)
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
=
\
self
.
get_daily_data
(
PaymentPAD
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
today
-
timedelta
(
days
=
6
),
today
)
field
=
func
.
to_char
(
PaymentPAD
.
tgl
,
'IYYY'
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
)
ytd
,
ytdTrx
,
yearly
,
yearlyTrx
,
yearlyAcc
,
yearlyAccTrx
=
\
self
.
get_daily_data
(
PaymentP
BB
,
filter
,
field
,
str
(
today
.
year
)
)
self
.
get_daily_data
(
PaymentP
AD
,
field
,
str
(
today
.
year
),
filter_exp
)
field
=
func
.
to_char
(
PaymentP
BB
.
tgl_pembayaran_sppt
,
'IYYY-I
M'
)
field
=
func
.
to_char
(
PaymentP
AD
.
tgl
,
'YYYY-M
M'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PaymentP
BB
,
filter
,
field
)
self
.
get_daily_data
(
PaymentP
AD
,
field
,
None
,
filter_exp
)
filter
=
PaymentPBB
.
tgl_pembayaran_sppt
.
between
(
field
=
func
.
to_char
(
PaymentPAD
.
tgl
,
'YYYY-WW'
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
today
-
timedelta
(
weeks
=
6
),
today
)
week
,
weekTrx
,
weekly
,
weeklyTrx
,
weeklyAcc
,
weeklyAccTrx
=
\
self
.
get_daily_data
(
PaymentP
BB
,
filter
,
field
)
self
.
get_daily_data
(
PaymentP
AD
,
field
,
None
,
filter_exp
)
field
=
func
.
to_char
(
PaymentPBB
.
tgl_pembayaran_sppt
,
'YYYY-MM'
)
return
{
"today"
:
amt
,
"trx"
:
trx
,
"daily"
:
daily
,
"dailyTrx"
:
dailyTrx
,
"dailyAcc"
:
dailyAcc
,
"dailyAccTrx"
:
dailyAccTrx
,
"ytd"
:
ytd
,
"trxYtd"
:
ytdTrx
,
"pie"
:
[(
"I"
,
100
,
'#16a75c'
),
(
"II"
,
200
,
'#ffb900'
),
(
"III"
,
300
,
'#133132'
),
(
"IV"
,
200
,
'#123456'
),
(
"V"
,
100
,
'#545355'
)],
"weekly"
:
weekly
,
"weeklyTrx"
:
weeklyTrx
,
"weeklyAcc"
:
weeklyAcc
,
"weeklyAccTrx"
:
weeklyAccTrx
,
"monthly"
:
monthly
,
"monthlyTrx"
:
monthlyTrx
,
"monthlyAcc"
:
monthlyAcc
,
"monthlyAccTrx"
:
monthlyAccTrx
,
}
def
get_webr_data
(
self
):
if
log
.
root
.
level
==
logging
.
DEBUG
:
today
=
datetime
.
strptime
(
'2025-06-05'
,
"
%
Y-
%
m-
%
d"
)
else
:
today
=
datetime
.
now
()
.
date
()
filter_ex
=
[]
# if typ == 'hotel':
# filter_ex = [PaymentPAD.jenis_pajak == "PBJT - JASA PERHOTELAN",]
field
=
func
.
to_char
(
PaymentWEBR
.
tgl
,
'yyyy-mm-dd'
)
filter_exp
=
PaymentWEBR
.
tgl
.
between
(
today
-
timedelta
(
6
),
today
)
amt
,
trx
,
daily
,
dailyTrx
,
dailyAcc
,
dailyAccTrx
=
\
self
.
get_daily_data
(
PaymentWEBR
,
field
,
today
.
strftime
(
"
%
Y-
%
m-
%
d"
),
filter_exp
)
filter_exp
=
PaymentWEBR
.
tgl
.
between
(
today
-
timedelta
(
days
=
6
),
today
)
field
=
func
.
to_char
(
PaymentWEBR
.
tgl
,
'IYYY'
)
filter_exp
=
PaymentWEBR
.
tgl
.
between
(
datetime
.
strptime
(
f
"{today.year}-01-01"
,
"
%
Y-
%
m-
%
d"
),
today
)
ytd
,
ytdTrx
,
yearly
,
yearlyTrx
,
yearlyAcc
,
yearlyAccTrx
=
\
self
.
get_daily_data
(
PaymentWEBR
,
field
,
str
(
today
.
year
),
filter_exp
)
field
=
func
.
to_char
(
PaymentWEBR
.
tgl
,
'YYYY-MM'
)
month
,
monthTrx
,
monthly
,
monthlyTrx
,
monthlyAcc
,
monthlyAccTrx
=
\
self
.
get_daily_data
(
PaymentWEBR
,
field
,
None
,
filter_exp
)
field
=
func
.
to_char
(
PaymentWEBR
.
tgl
,
'YYYY-WW'
)
filter_exp
=
PaymentPAD
.
tgl
.
between
(
today
-
timedelta
(
weeks
=
6
),
today
)
week
,
weekTrx
,
weekly
,
weeklyTrx
,
weeklyAcc
,
weeklyAccTrx
=
\
self
.
get_daily_data
(
PaymentWEBR
,
field
,
None
,
filter_exp
)
return
{
"today"
:
amt
,
"trx"
:
trx
,
...
...
@@ -120,7 +285,7 @@ class Views(BaseView):
"monthly"
:
monthly
,
"monthlyTrx"
:
monthlyTrx
,
"monthlyAcc"
:
monthlyAcc
,
"month
tr
AccTrx"
:
monthlyAccTrx
,
"month
ly
AccTrx"
:
monthlyAccTrx
,
}
@view_config
(
route_name
=
'eis-pcpd-act'
,
renderer
=
'json'
)
...
...
@@ -139,8 +304,12 @@ class Views(BaseView):
return
json_data
elif
act
==
'pbb'
:
resp
=
self
.
get_pbb_data
()
elif
act
==
'bphtb'
:
resp
=
self
.
get_bphtb_data
()
elif
act
==
'webr'
:
resp
=
self
.
get_webr_data
()
else
:
resp
=
self
.
get_
dummy_data
(
)
resp
=
self
.
get_
pad_data
(
act
)
resp
[
"time"
]
=
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
return
resp
...
...
@@ -189,152 +358,9 @@ class Views(BaseView):
"title"
:
"Realisasi Pajak Air Tanah"
}
def
view_webr
(
self
):
return
{
"module"
:
'webr'
}
return
{
"module"
:
'webr'
,
"title"
:
"Realisasi Retribusi"
}
def
view_opsen
(
self
):
return
{
"module"
:
'opsen'
,
"title"
:
"Opsen Pajak PKB dan BBNKB"
}
# class eis(BaseView):
# def cek_value(self,value,devider,simbol):
# if value<devider:
# return "{0:,.0f}".format(value)
# else:
# return "{0:,.0f} {1}".format(value/devider,simbol)
# @view_config(route_name='eis', renderer='templates/eis.pt',
# permission='eis')
# def view_app(self):
# tahun = self.ses['tahun']
# datas = DBSession.query(Slide).filter(Slide.status==1).order_by(Slide.order_id) or {}
# tab_datas = DBSession.query(Slide).filter(Slide.source_type=='grid').order_by(Slide.order_id) or {}
# line_datas = DBSession.query(Slide).filter(Slide.source_type=='chart-line').order_by(Slide.order_id)or {}
# bar_datas = DBSession.query(Slide).filter(Slide.source_type=='chart-bar').order_by(Slide.order_id)or {}
# pie_datas = DBSession.query(Slide).filter(Slide.source_type=='chart-pie').order_by(Slide.order_id)or {}
# return dict(project='EIS', datas=datas, tab_datas=tab_datas,
# line_datas=line_datas, bar_datas=bar_datas,
# pie_datas=pie_datas, )#, datas=Eis.sum_order_id('2014'))
# @view_config(route_name='eis-act', renderer='json')
# def view_app_act(self):
# tahun = self.ses['tahun']
# req = self.req
# ses = req.session
# params = req.params
# id = 'id' in params and params['id'] or 0
# json_data = {}
# json_data['success']=False
# if req.matchdict['act']=='grid':
# rows = DBSession.query(Eis).filter(Eis.id==id)
# if not rows:
# return json_data
# for row in rows:
# row_dicted = row.to_dict()
# amt_hari = float(row_dicted['amt_hari'])
# amt_minggu = float(row_dicted['amt_minggu']) #+amt_hari
# amt_bulan = float(row_dicted['amt_bulan']) #+amt_hari
# amt_tahun = float(row_dicted['amt_tahun']) #+amt_bulan
# json_data['success']= True
# json_data['tahun'] = self.cek_value(amt_tahun,1, '')
# json_data['bulan'] = self.cek_value(amt_bulan,1, '')
# json_data['minggu'] = self.cek_value(amt_minggu,1, '')
# json_data['hari'] = self.cek_value(amt_hari,1, '')
# return json_data
# #######################################################################
# # GRAFIK LINE/BAR
# #######################################################################
# elif req.matchdict['act']=='linebar':
# rows = DBSession.query(Chart).filter(Chart.id==id).first()
# if not rows:
# return json_data
# json_data['label'] = rows.label.split(',')
# rows = DBSession.query(ChartItem).filter(ChartItem.chart_id==id).\
# order_by(ChartItem.id)
# for row in rows:
# json_data[row.source_type] = [row.value_1/row.chart.devider,row.value_2/row.chart.devider,row.value_3/row.chart.devider,
# row.value_4/row.chart.devider,row.value_5/row.chart.devider,row.value_6/row.chart.devider,
# row.value_7/row.chart.devider,row.value_8/row.chart.devider,row.value_9/row.chart.devider,
# row.value10/row.chart.devider,row.value11/row.chart.devider,row.value12/row.chart.devider,]
# json_data['success']= True
# return json_data
# #######################################################################
# # GRAFIK LINGKARAN
# #######################################################################
# elif req.matchdict['act']=='pie':
# rows = DBSession.query(Chart).filter(Chart.id==id).first()
# if not rows:
# return json_data
# json_data['label'] = rows.label.split(',')
# rows = DBSession.query(ChartItem).filter(ChartItem.chart_id==id).\
# order_by(ChartItem.id)
# json_data['rows'] = {}
# for row in rows:
# anama = {}
# anama['nama'] = row.nama
# anama['color'] = row.color
# anama ['highlight'] = row.highlight
# anama ['value'] = row.value_1/row.chart.devider
# json_data['rows'][row.nama] =anama
# json_data['success']= True
# return json_data
# elif req.matchdict['act']=='dasboard':
# # max_tahun = DBSession.query(func.max(Eis.tahun)).scalar()
# max_tahun = ses['tahun']
# subqx = DBSession.query(
# func.max(Eis.nama).label('nama'),
# func.sum(ChartItem.value_1+ChartItem.value_2+ChartItem.value_3+ChartItem.value_4+\
# ChartItem.value_5+ChartItem.value_6+ChartItem.value_7+ChartItem.value_8+ChartItem.value_9+\
# ChartItem.value10+ChartItem.value11+ChartItem.value12).label('target'),
# func.sum(Eis.amt_bulan).label('amt_bulan'),
# func.sum(Eis.amt_tahun).label('amt_tahun'),
# func.sum(
# (ChartItem.value_1+ChartItem.value_2+ChartItem.value_3+ChartItem.value_4+ChartItem.value_5+\
# ChartItem.value_6+ChartItem.value_7+ChartItem.value_8+ChartItem.value_9+ChartItem.value10+\
# ChartItem.value11+ChartItem.value12) - Eis.amt_tahun).label('sisa_target'),
# cast(func.round((func.sum(Eis.amt_tahun)/
# func.sum(ChartItem.value_1+ChartItem.value_2+ChartItem.value_3+ChartItem.value_4+\
# ChartItem.value_5+ChartItem.value_6+ChartItem.value_7+ChartItem.value_8+ChartItem.value_9+\
# ChartItem.value10+ChartItem.value11+ChartItem.value12))*100,2),String).label('persen')).\
# join(ChartItem, and_(func.trim(ChartItem.rekening_kd)==func.trim(Eis.kode),ChartItem.source_type=='target')).\
# join(Chart, and_(Chart.id == ChartItem.chart_id, Chart.chart_type == 'line')).\
# filter(Eis.tahun==max_tahun).\
# group_by(Eis.kode,Eis.nama,Eis.tahun).order_by(Eis.kode).subquery()
# subq = DBSession.query(
# (Eis.nama).label('nama'),
# (ChartItem.value_1*12).label('target'),
# (Eis.amt_bulan).label('amt_bulan'),
# (Eis.amt_tahun).label('amt_tahun'),
# ((ChartItem.value_1*12) - Eis.amt_tahun).label('sisa_target'),
# cast(func.round(((Eis.amt_tahun)/
# (ChartItem.value_1*12))*100,2),String).label('persen')).\
# join(ChartItem, and_(func.trim(ChartItem.rekening_kd)==func.trim(Eis.kode),ChartItem.source_type=='target')).\
# join(Chart, and_(Chart.id == ChartItem.chart_id, Chart.chart_type == 'line')).\
# filter(Eis.tahun==max_tahun).\
# order_by(Eis.kode).subquery()
# query = DBSession.query().select_from(subq)
# columns = [
# ColumnDT(subq.c.nama, mData="jenis_pajak"),
# ColumnDT(subq.c.target, mData="target"),
# ColumnDT(subq.c.amt_bulan, mData="realisasi_bulan_ini"),
# ColumnDT(subq.c.amt_tahun, mData="realisasi_sampai_dengan"),
# ColumnDT(subq.c.sisa_target, mData="sisa_target"),
# ColumnDT(subq.c.persen, mData="persen"),
# ]
# rowTable = DataTables(req.GET, query, columns)
# return rowTable.output_result()
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