Commit fad3037e by aa.gusti

title

1 parent 50bf112b
...@@ -8,166 +8,126 @@ from ..models import (EisDBSession, EisSipkdArPayment, EisSipkdApPayment, ...@@ -8,166 +8,126 @@ from ..models import (EisDBSession, EisSipkdArPayment, EisSipkdApPayment,
EisSipkdPbPayment, EisSipkdAnggaran) EisSipkdPbPayment, EisSipkdAnggaran)
from ..views import BaseView from ..views import BaseView
from datetime import datetime from datetime import datetime
########
# APP Home #
########
class Views(BaseView): class Views(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-sipkd-kinerja', renderer='templates/kinerja.pt', @view_config(route_name='eis-sipkd-kinerja', renderer='templates/kinerja.pt',
permission='eis-sipkd-kinerja') permission='eis-sipkd-kinerja')
def view_app(self): def view_app(self):
tahun = self.ses['tahun'] tahun = self.ses['tahun']
params = self.params params = self.params
kode = 'kode' in params and params['kode'] or '' kode = 'kode' in params and params['kode'] or ''
######################################################################## ########################################################################
aar_qry = EisDBSession.query(EisSipkdAnggaran.kode.label('kode'), ang_qry = EisDBSession.query(EisSipkdAnggaran.kode.label('kode'),
EisSipkdAnggaran.nama.label('nama'), EisSipkdAnggaran.nama.label('nama'),
EisSipkdAnggaran.level_id.label('level_id'), EisSipkdAnggaran.level_id.label('level_id'),
func.sum(EisSipkdAnggaran.murni).label('anggaran'), func.sum(EisSipkdAnggaran.murni).label('anggaran'),
literal_column('0').label('realisasi'), literal_column('0').label('realisasi'),).\
).\ group_by(EisSipkdAnggaran.kode,
group_by(EisSipkdAnggaran.kode, EisSipkdAnggaran.nama,
EisSipkdAnggaran.nama, EisSipkdAnggaran.level_id,).\
EisSipkdAnggaran.level_id, filter(EisSipkdAnggaran.tahun == tahun)
).\ ########################################################################
filter(EisSipkdAnggaran.tahun == tahun, aar_qry = ang_qry.filter(EisSipkdAnggaran.kode.like('4.%'))
EisSipkdAnggaran.kode.like('4.%'))
rar_qry = EisDBSession.query(EisSipkdArPayment.kode, rar_qry = EisDBSession.query(EisSipkdArPayment.kode,
EisSipkdArPayment.nama, EisSipkdArPayment.nama,
EisSipkdArPayment.level_id.label('level_id'), EisSipkdArPayment.level_id.label('level_id'),
literal_column('0').label('anggaran'), literal_column('0').label('anggaran'),
func.sum(EisSipkdArPayment.jumlah).label('realisasi')).\ func.sum(EisSipkdArPayment.jumlah).label('realisasi')).\
group_by(EisSipkdArPayment.kode, group_by(EisSipkdArPayment.kode,
EisSipkdArPayment.nama, EisSipkdArPayment.nama,
EisSipkdArPayment.level_id, EisSipkdArPayment.level_id,).\
).\ filter(EisSipkdArPayment.tanggal.\
filter(EisSipkdArPayment.tanggal.between( between(date_from_str('01-01-'+tahun), datetime.now()))
date_from_str('01-01-'+tahun), datetime.now())
)
######################################################################## ########################################################################
aap_qry = EisDBSession.query(EisSipkdAnggaran.kode.label('kode'), aap_qry = ang_qry.filter(EisSipkdAnggaran.kode.like('5.%'))
EisSipkdAnggaran.nama.label('nama'),
EisSipkdAnggaran.level_id.label('level_id'),
func.sum(EisSipkdAnggaran.murni).label('anggaran'),
literal_column('0').label('realisasi'),
).\
group_by(EisSipkdAnggaran.kode,
EisSipkdAnggaran.nama,
EisSipkdAnggaran.level_id,
).\
filter(EisSipkdAnggaran.tahun == tahun,
EisSipkdAnggaran.kode.like('5.%'))
rap_qry = EisDBSession.query(EisSipkdApPayment.kode, rap_qry = EisDBSession.query(EisSipkdApPayment.kode,
EisSipkdApPayment.nama, EisSipkdApPayment.nama,
EisSipkdApPayment.level_id, EisSipkdApPayment.level_id,
literal_column('0').label('anggaran'), literal_column('0').label('anggaran'),
func.sum(EisSipkdApPayment.jumlah).label('realisasi')).\ func.sum(EisSipkdApPayment.jumlah).label('realisasi')).\
group_by(EisSipkdApPayment.kode, group_by(EisSipkdApPayment.kode,
EisSipkdApPayment.nama, EisSipkdApPayment.nama,
EisSipkdApPayment.level_id).\ EisSipkdApPayment.level_id).\
filter(EisSipkdApPayment.tanggal.between( filter(EisSipkdApPayment.tanggal.between(
date_from_str('01-01-'+tahun), datetime.now()) date_from_str('01-01-'+tahun), datetime.now())).\
).\ order_by(EisSipkdApPayment.kode)
order_by(EisSipkdApPayment.kode)
######################################################################## ########################################################################
apb_qry = EisDBSession.query(EisSipkdAnggaran.kode.label('kode'), apb_qry = ang_qry.filter(EisSipkdAnggaran.kode.like('6.%'))
EisSipkdAnggaran.nama.label('nama'),
EisSipkdAnggaran.level_id.label('level_id'),
func.sum(EisSipkdAnggaran.murni).label('anggaran'),
literal_column('0').label('realisasi'),
).\
group_by(EisSipkdAnggaran.kode,
EisSipkdAnggaran.nama,
EisSipkdAnggaran.level_id,
).\
filter(EisSipkdAnggaran.tahun == tahun,
EisSipkdAnggaran.kode.like('6.%'))
rpb_qry = EisDBSession.query(EisSipkdPbPayment.kode, rpb_qry = EisDBSession.query(EisSipkdPbPayment.kode,
EisSipkdPbPayment.nama, EisSipkdPbPayment.nama,
EisSipkdPbPayment.level_id, EisSipkdPbPayment.level_id,
literal_column('0').label('anggaran'), literal_column('0').label('anggaran'),
func.sum(EisSipkdPbPayment.jumlah).label('realisasi')).\ func.sum(EisSipkdPbPayment.jumlah).label('realisasi')).\
group_by(EisSipkdPbPayment.kode, group_by(EisSipkdPbPayment.kode,
EisSipkdPbPayment.nama, EisSipkdPbPayment.nama,
EisSipkdPbPayment.level_id).\ EisSipkdPbPayment.level_id).\
filter(EisSipkdPbPayment.tanggal.between( filter(EisSipkdPbPayment.tanggal.between(
date_from_str('01-01-'+tahun), datetime.now()) date_from_str('01-01-'+tahun), datetime.now())).\
).\ order_by(EisSipkdPbPayment.kode)
order_by(EisSipkdPbPayment.kode)
######################################################################## ########################################################################
level_id = 2 if kode:
if not kode: level_id = kode.count('.')+2
aar_qry = aar_qry.filter(EisSipkdAnggaran.level_id <= level_id, title = 'nama' in params and params['nama'] or ''
EisSipkdAnggaran.level_id > level_id-2,) aar_qry = aar_qry.filter(EisSipkdAnggaran.kode.like(kode+'%'),)
#.subquery() rar_qry = rar_qry.filter(EisSipkdArPayment.kode.like(kode+'%'),)
rar_qry = rar_qry.filter(EisSipkdArPayment.level_id <= level_id, aap_qry = aap_qry.filter(EisSipkdAnggaran.kode.like(kode+'%'),)
EisSipkdArPayment.level_id > level_id-2,) #.subquery() rap_qry = rap_qry.filter(EisSipkdApPayment.kode.like(kode+'%'),)
uar_qry = union(aar_qry, rar_qry).alias('uar_qry') apb_qry = apb_qry.filter(EisSipkdAnggaran.kode.like(kode+'%'),)
ar_qry = EisDBSession.query(uar_qry.c.kode,uar_qry.c.nama, rpb_qry = rpb_qry.filter(EisSipkdPbPayment.kode.like(kode+'%'),)
uar_qry.c.level_id,
func.sum(uar_qry.c.anggaran).label('anggaran'),
func.sum(uar_qry.c.realisasi).label('realisasi'),).\
group_by(uar_qry.c.kode,uar_qry.c.nama,
uar_qry.c.level_id,
).\
order_by(uar_qry.c.kode)
aap_qry = aap_qry.filter(EisSipkdAnggaran.level_id <= level_id,
EisSipkdAnggaran.level_id > level_id-2,)
rap_qry = rap_qry.filter(EisSipkdApPayment.level_id <= level_id,
EisSipkdApPayment.level_id > level_id-2,)
uap_qry = union(aap_qry, rap_qry).alias('uap_qry')
ap_qry = EisDBSession.query(uap_qry.c.kode, uap_qry.c.nama,
uap_qry.c.level_id,
func.sum(uap_qry.c.anggaran).label('anggaran'),
func.sum(uap_qry.c.realisasi).label('realisasi'),).\
group_by(uap_qry.c.kode,uap_qry.c.nama,
uap_qry.c.level_id,
).\
order_by(uap_qry.c.kode)
apb_qry = apb_qry.filter(EisSipkdAnggaran.level_id <= level_id,
EisSipkdAnggaran.level_id > level_id-2,)
rpb_qry = rpb_qry.filter(EisSipkdPbPayment.level_id <= level_id,
EisSipkdPbPayment.level_id > level_id-2,)
upb_qry = union(apb_qry, rpb_qry).alias('upb_qry')
pb_qry = EisDBSession.query(upb_qry.c.kode,
upb_qry.c.nama,
upb_qry.c.level_id,
func.sum(upb_qry.c.anggaran).label('anggaran'),
func.sum(upb_qry.c.realisasi).label('realisasi'),).\
group_by(upb_qry.c.kode,
upb_qry.c.nama,
upb_qry.c.level_id,
).\
order_by(upb_qry.c.kode)
title = "RINGKASAN REALISASI APBD"
else: else:
level_id = kode.count('.')+2 level_id = 2
ar_qry = ar_qry.filter(EisSipkdArPayment.kode.like(kode+'%'), title = "RINGKASAN REALISASI APBD"
EisSipkdArPayment.level_id <= level_id, print("***************************************************************")
EisSipkdArPayment.level_id >= level_id-1, print(kode, aar_qry)
) ########################################################################
ap_qry = ap_qry.filter(EisSipkdApPayment.kode.like(kode+'%'), aar_qry = aar_qry.filter(EisSipkdAnggaran.level_id <= level_id,
EisSipkdApPayment.level_id <= level_id, EisSipkdAnggaran.level_id > level_id-2,)
EisSipkdApPayment.level_id >= level_id-1, rar_qry = rar_qry.filter(EisSipkdArPayment.level_id <= level_id,
) EisSipkdArPayment.level_id > level_id-2,)
pb_qry = pb_qry.filter(EisSipkdPbPayment.kode.like(kode+'%'), uar_qry = union(aar_qry, rar_qry).alias('uar_qry')
EisSipkdPbPayment.level_id <= level_id, ar_qry = EisDBSession.query(uar_qry.c.kode,uar_qry.c.nama,
EisSipkdPbPayment.level_id >= level_id-1, uar_qry.c.level_id,
) func.sum(uar_qry.c.anggaran).label('anggaran'),
title = 'nama' in params and params['nama'] or '' func.sum(uar_qry.c.realisasi).label('realisasi'),).\
group_by(uar_qry.c.kode,uar_qry.c.nama,
uar_qry.c.level_id,).\
order_by(uar_qry.c.kode)
########################################################################
aap_qry = aap_qry.filter(EisSipkdAnggaran.level_id <= level_id,
EisSipkdAnggaran.level_id > level_id-2,)
rap_qry = rap_qry.filter(EisSipkdApPayment.level_id <= level_id,
EisSipkdApPayment.level_id > level_id-2,)
uap_qry = union(aap_qry, rap_qry).alias('uap_qry')
ap_qry = EisDBSession.query(uap_qry.c.kode, uap_qry.c.nama,
uap_qry.c.level_id,
func.sum(uap_qry.c.anggaran).label('anggaran'),
func.sum(uap_qry.c.realisasi).label('realisasi'),).\
group_by(uap_qry.c.kode,uap_qry.c.nama,
uap_qry.c.level_id,).\
order_by(uap_qry.c.kode)
########################################################################
apb_qry = apb_qry.filter(EisSipkdAnggaran.level_id <= level_id,
EisSipkdAnggaran.level_id > level_id-2,)
rpb_qry = rpb_qry.filter(EisSipkdPbPayment.level_id <= level_id,
EisSipkdPbPayment.level_id > level_id-2,)
upb_qry = union(apb_qry, rpb_qry).alias('upb_qry')
pb_qry = EisDBSession.query(upb_qry.c.kode,
upb_qry.c.nama,
upb_qry.c.level_id,
func.sum(upb_qry.c.anggaran).label('anggaran'),
func.sum(upb_qry.c.realisasi).label('realisasi'),).\
group_by(upb_qry.c.kode,
upb_qry.c.nama,
upb_qry.c.level_id,).\
order_by(upb_qry.c.kode)
########################################################################
jml_ar = dict(anggaran = 0, jml_ar = dict(anggaran = 0,
realisasi = 0) realisasi = 0)
jml_ap = dict(anggaran = 0, jml_ap = dict(anggaran = 0,
...@@ -193,89 +153,15 @@ class Views(BaseView): ...@@ -193,89 +153,15 @@ class Views(BaseView):
if row['level_id'] == 1: if row['level_id'] == 1:
jml_pb['anggaran'] += row['anggaran'] jml_pb['anggaran'] += row['anggaran']
jml_pb['realisasi'] += row['realisasi'] jml_pb['realisasi'] += row['realisasi']
#ar_rows={}
#pb_rows={} return dict(ar_rows = ar_rows, ap_rows = ap_rows, pb_rows = pb_rows,
#ap_rows={}
return dict(ar_rows = ar_rows,
ap_rows = ap_rows,
pb_rows = pb_rows,
sd_row = dict(anggaran = jml_ar['anggaran']-jml_ap['anggaran'], sd_row = dict(anggaran = jml_ar['anggaran']-jml_ap['anggaran'],
realisasi = jml_ar['realisasi']-jml_ap['realisasi'],), realisasi = jml_ar['realisasi']-jml_ap['realisasi'],),
title = title, kode=kode, title = title, kode=kode, level_id=level_id, )
level_id=level_id,
)
@view_config(route_name='eis-sipkd-kinerja-act', renderer='json') @view_config(route_name='eis-sipkd-kinerja-act', renderer='json')
def view_app_act(self): def view_app_act(self):
tahun = self.ses['tahun'] pass
req = self.req
params = req.params
id = 'id' in params and params['id'] or 0
json_data = {}
json_data['success']=False
if req.matchdict['act']=='grid':
rows = EisDBSession.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 = EisDBSession.query(Chart).filter(Chart.id==id).first()
if not rows:
return json_data
json_data['label'] = rows.label.split(',')
rows = EisDBSession.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 = EisDBSession.query(Chart).filter(Chart.id==id).first()
if not rows:
return json_data
json_data['label'] = rows.label.split(',')
rows = EisDBSession.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
def row2dict(rows): def row2dict(rows):
return [dict(zip(row.keys(), list(row))) for row in rows] return [dict(zip(row.keys(), list(row))) for row in rows]
...@@ -5,10 +5,12 @@ ...@@ -5,10 +5,12 @@
<div class="col-md-2 judul"> <div class="col-md-2 judul">
<img class="" src="/static/img/logo.png" style="height:80px; width:80px; padding-bottom:10px;"> <img class="" src="/static/img/logo.png" style="height:80px; width:80px; padding-bottom:10px;">
</div> </div>
<div class="col-md-10 sub-judul"> <div class="col-md-8 sub-judul">
EKSEKUTIF SUMMARY APBD<br> EKSEKUTIF SUMMARY APBD<br>
TAHUN ${request.session['tahun']} TAHUN ${request.session['tahun']}
</div> </div>
<div class="col-md-2 judul">
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="sub-judul bg-primary"> <div class="sub-judul bg-primary">
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</a> </a>
</li--> </li-->
<li data-toggle="collapse" data-target="#pendapatan" class="collapsed active"> <li data-toggle="collapse" data-target="#pendapatan" class="collapsed active">
<a href="#"><i class="fa fa-gift fa-lg"></i> Pendatan <span class="arrow"></span></a> <a href="#"><i class="fa fa-gift fa-lg"></i> Pendapatan <span class="arrow"></span></a>
</li> </li>
<ul class="sub-menu collapse" id="pendapatan"> <ul class="sub-menu collapse" id="pendapatan">
<li tal:repeat="dat ar_datas"><a href="#" onclick="javascript:hide_other();$('#grid-${dat.id}').show();">${dat.nama}</a></li> <li tal:repeat="dat ar_datas"><a href="#" onclick="javascript:hide_other();$('#grid-${dat.id}').show();">${dat.nama}</a></li>
...@@ -118,11 +118,13 @@ ...@@ -118,11 +118,13 @@
<div class="col-md-2"> <div class="col-md-2">
<img class="" src="/static/img/logo.png" style="height:80px; width:80px;padding-bottom:5px;"> <img class="" src="/static/img/logo.png" style="height:80px; width:80px;padding-bottom:5px;">
</div> </div>
<div class="col-md-10"> <div class="col-md-8">
EKSEKUTIF SUMMARY KEUANGAN DAERAH<br> EKSEKUTIF SUMMARY KEUANGAN DAERAH<br>
TAHUN ${request.session['tahun']} TAHUN ${request.session['tahun']}
</div> </div>
</div> </div>
<div class="col-md-2">
</div>
<div class="row data welcome"> <div class="row data welcome">
SELAMAT DATANG SELAMAT DATANG
</div> </div>
......
...@@ -5,10 +5,12 @@ ...@@ -5,10 +5,12 @@
<div class="col-md-2 judul"> <div class="col-md-2 judul">
<img class="" src="/static/img/logo.png" style="height:80px; width:80px; padding-bottom:10px;"> <img class="" src="/static/img/logo.png" style="height:80px; width:80px; padding-bottom:10px;">
</div> </div>
<div class="col-md-10 sub-judul"> <div class="col-md-8 sub-judul">
EKSEKUTIF SUMMARY REALISASI APBD<br> EKSEKUTIF SUMMARY REALISASI APBD<br>
TAHUN ${request.session['tahun']} TAHUN ${request.session['tahun']}
</div> </div>
<div class="col-md-2 judul">
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="sub-judul bg-primary">${title}</div> <div class="sub-judul bg-primary">${title}</div>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!