dph_rekap_report .py
4.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# 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)