dph_rekap_report .py 4.53 KB
# import os
# import uuid
# import re
# #from ..tools import row2dict #, xls_reader
# from email.utils import parseaddr
# from datetime import datetime
# from sqlalchemy import not_, func, or_, desc, and_
# from sqlalchemy.orm import aliased
# from pyramid.view import (
#     view_config,
#     )
# from pyramid.httpexceptions import (HTTPFound,HTTPNotFound)
# import json
# import colander
# from deform import (
#     Form,
#     widget,
#     ValidationFailure,
#     )
from . import (ColumnDT, DataTables, BaseView,)
# from ..tools import (
#     open_rml_row,
#     open_rml_pdf,
#     pdf_response,
#     csv_response,
#     get_logo,
#     dmy,
#     date_from_str,
#     thousand,
#     STATUS,
#     get_settings
#     )
# from ..models import PbbmDBSession
# from ..models import (
#     PembayaranDph, Kecamatan, Kelurahan
#     )
#
# class Views(BaseView):
#     @view_config(route_name='pbbm-dph-rekap-rpt', renderer='csv')
#     def view_csv(self):
#         request = self.req
#         ses = request.session
#         params = request.params
#         url_dict = request.matchdict
#         uid = request.user.id
#         tgl = datetime.now().strftime('%d-%m-%Y')
#         if url_dict['rpt']=='csv' :
#             query = query_reg(request)
#             row = query.first()
#             header = row.keys()
#             rows = []
#             for item in query.all():
#                 rows.append(list(item))
#
#             filename = 'dph_set_report.csv'
#             value = {
#                   'header': header,
#                   'rows'  : rows,
#                 }
#             return csv_response(request, value, filename)
#
#         elif url_dict['rpt']=='pdf':
#             query = query_reg(request)
#             _here = os.path.dirname(__file__) #get current folder -> views
#             path = os.path.dirname(_here) #mundur 1 level
#             path = os.path.join(path, 'reports')
#             rml_row = open_rml_row(path+'/dph-rek.row.rml')
#
#             rows=[]
#             tot_jumlah = tot_bayar = 0
#             for r in query.all():
#                 s = rml_row.format(kdkecamatan=r.KodeKecamatan, uraian=r.Uraian, jumlah=r.Jumlah, nilai=r.Nilai)
#                 rows.append(s)
#
#             s = rml_row.format(kdkecamatan='', uraian='', jumlah=tot_jumlah, nilai=thousand(tot_bayar))
#             rows.append(s)
#             pdf, filename = open_rml_pdf(path+'/dphrek.rml', rows=rows,
#                                 company=request.company,
#                                 departement = request.departement,
#                                 address = request.address,
#                                 periode = "%s s.d %s" % (self.awal, self.akhir))
#             return pdf_response(request, pdf, filename)
#
# # ##########
# # # query   #
# # ##########
#     def view_rekap(request):
#         return PbbmDBSession.query(
#             PembayaranDph.kd_kecamatan.label('Kode Kecamatan'),
#             func.count(PembayaranDph.kd_kelurahan).label("Jumlah"),
#     		func.sum(PembayaranDph.bayar).label("nilai")
#     	        ).\
#                 outerjoin(Kecamatan ,(Kecamatan.kd_kecamatan == PembayaranDph.kd_kecamatan)).\
#                 group_by(
#     			    PembayaranDph.kd_kecamatan,
#     				PembayaranDph.kd_kelurahan,
#     				Kelurahan.nm_kelurahan
#     			).\
#                 filter(
#     			    PembayaranDph.tgl_pembayaran.between(
#     				    request.session['dt_awal'],
#     					request.session['dt_akhir']
#     				)
#     			)
#
# def query_reg(request):
#     # return PbbmDBSession.query(
#     #     PembayaranDph.kd_kecamatan.label('KodeKecamatan'),
#     #     func.count(PembayaranDph.kd_kelurahan).label('Jumlah'),
#     #     func.sum(PembayaranDph.bayar).label('Nilai')).\
#     # group_by(PembayaranDph.kd_kecamatan).\
#     #     filter(PembayaranDph.tgl_pembayaran.between(
#     #             request.session['dt_awal'], request.session['dt_akhir']),
#     #         PembayaranDph.user_id == request.user.id)
#
#     query_union = PembayaranDph.rekap(request.session['dt_awal'], request.session['dt_akhir'])
#
#
#
#
#     return PbbmDBSession.query(query_union.c.kode.label('KodeKecamatan'),
#                                 query_union.c.uraian.label('Uraian'),
#                                   query_union.c.jumlah.label('Jumlah'),
#                                     query_union.c.bayar.label('Nilai')).select_from(query_union).\
#                       order_by(query_union.c.kode)