harian.py 2.26 KB
import json
from pyramid.view import (
    view_config,
    )
from pyramid.httpexceptions import (
    HTTPFound,
    )
from ..views import BaseView
from ..models import EisDBSession
from ..models import Harian, Chart, ChartItem, Slide
#from ..tools import row2dict
########
# APP Home #
########
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-sipkd-harian', renderer='templates/harian.pt',
                 permission='eis-sipkd-harian')
    def view_app(self):
        tahun = self.ses['tahun']
        ar_datas = Harian.query().filter(Harian.status==1).\
                   filter(Harian.kode.like('4%')).\
                   order_by(Harian.kode) or {}
        ap_datas = Harian.query().filter(Harian.status==1).\
                   filter(Harian.kode.like('5%')).\
                   order_by(Harian.kode) or {}
        return dict(project='EIS', ar_datas=ar_datas, ap_datas=ap_datas)

    @view_config(route_name='eis-sipkd-harian-act', renderer='json')
    def view_app_act(self):
        tahun = self.ses['tahun']
        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(Harian).filter(Harian.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