Commit 20f05c3f by taufikyu

update laporan skrd, dan tbp menu tbpb

1 parent 8772e736
No preview for this file type
......@@ -676,6 +676,7 @@ def view_act(request):
from ..reports.rml_report import open_rml_row, open_rml_pdf, pdf_response
def query_reg():
return DBSession.query(ARInvoice.kode.label('a'),
ARInvoice.no_skrd.label('h'),
ARInvoice.wp_nama.label('b'),
ARInvoice.rek_kode.label('c'),
ARInvoice.op_nama.label('d'),
......@@ -720,7 +721,7 @@ def view_csv(request):
row = query.filter(ARInvoice.tgl_tetap.between(awal,akhir),
ARInvoice.status_grid==0)#.first()
#print "-- ROW -- ",row
header = 'No. Bayar','Penyetor','Objek','Uraian','Tgl. Tetap','Jumlah','OPD' #row.keys()
header = 'No. Bayar','No. SKRD','Penyetor','Objek','Uraian','Tgl. Tetap','Jumlah','OPD' #row.keys()
rows = []
for item in row.all():
rows.append(list(item))
......
import sys
import re
import os
import qrcode
from email.utils import parseaddr
from sqlalchemy import not_, func, desc
from datetime import datetime
......@@ -16,7 +18,8 @@ from deform import (
widget,
ValidationFailure,
)
from ..tools import _DTnumberformat, _DTstrftime, multi_dict_values
from ..tools import (_DTnumberformat, _DTstrftime, multi_dict_values,
odt_export,dmy,BULANS,get_settings, terbilang,thousand)
from ..models import DBSession
from ..models.isipkd import(
ObjekPajak,
......@@ -27,6 +30,7 @@ from ..models.isipkd import(
Rekening,
ARTbp,
ARInvoice,
ARSspd,
Unit,
UserUnit
)
......@@ -901,3 +905,201 @@ def view_pdf(request):
pdf, filename = open_rml_pdf('artbp_cetak.rml', rows2=rows)
return pdf_response(request, pdf, filename)
if url_dict['pdf']=='skrd' :
if not 'id' in params or not params['id']:
request.session.flash('ID tidak ditemukan','error')
raise route_list()
from py3o.template import Template
class Item(object):
pass
_here = os.path.dirname(__file__) # get current folder -> views
path = os.path.dirname(_here) # mundur 1 level
path = os.path.join(path, 'reports/')
file = '/tmp/skrd'
template= Template(path+'skrd.odt', file+'.odt')
row = DBSession.query(ARInvoice.unit_nama.label('unit_nama'),
ARInvoice.wp_nama.label('wp_nama'),
ARInvoice.wp_alamat_1.label('wp_alamat_1'),
ARInvoice.wp_alamat_2.label('wp_alamat_2'),
ARInvoice.wp_kode.label('wp_kode'),
ARInvoice.rek_nama.label('rek_nama'),
ARInvoice.keterangan.label('keterangan'),
ARInvoice.rek_kode.label('rek_kode'),
ARInvoice.periode_1.label('periode_1'),
ARInvoice.periode_2.label('periode_2'),
ARInvoice.kode.label('kode'),
ARInvoice.no_skrd.label('no_skrd'),
ARInvoice.tahun_id.label('tahun_id'),
ARInvoice.tgl_tetap.label('tgl_tetap'),
ARInvoice.jumlah.label('jumlah'),
ARInvoice.jatuh_tempo.label('jatuh_tempo'),
ARInvoice.status_bayar.label('status_bayar'),
ARInvoice.pokok.label('pokok'),
ARInvoice.denda.label('denda'),
ARInvoice.pejabat_nama.label('pejabat_nama'),
ARInvoice.pejabat_pangkat.label('pejabat_pangkat'),
ARInvoice.pejabat_nip.label('pejabat_nip'),
ARSspd.ntp.label('ntp'),
ARSspd.ntb.label('ntb'),
ARSspd.tgl_bayar.label('tgl_bayar'),
ARSspd.bunga.label('bunga'),
ARSspd.bayar.label('bayar'))\
.join(ARTbp, ARTbp.invoice_id==ARInvoice.id)\
.outerjoin(ARSspd, ARSspd.arinvoice_id==ARInvoice.id)\
.filter(ARTbp.id==params['id']).first()
item = Item()
item.pejabat_nama = row.pejabat_nama
item.pejabat_pangkat = row.pejabat_pangkat
item.pejabat_nip = row.pejabat_nip
item.opd = row.unit_nama
item.wp_nama = row.wp_nama
item.wp_alamat = (row.wp_alamat_2 and row.wp_alamat_2 != '-') and ('{} {}'.format(row.wp_alamat_1, row.wp_alamat_2)) or row.wp_alamat_1
item.wp_kode = row.wp_kode
item.rek_nama = row.rek_nama
item.keterangan = row.keterangan
item.rek_kode = row.rek_kode
item.periode_1 = dmy(row.periode_1)
item.periode_2 = dmy(row.periode_2)
item.kodebayar = row.kode
item.no_skrd = row.no_skrd
item.tahunskrd = row.tahun_id
BULAN = dict(BULANS)
bulan = row.tgl_tetap.strftime('%m')
item.tgl_tetap = '{} {}'.format(row.tgl_tetap.strftime('%d'),BULAN[bulan])
item.tahun_tetap = row.tgl_tetap.year
item.tahun = datetime.now().year
item.jumlah = thousand(row.jumlah)
item.jatuh_tempo = dmy(row.jatuh_tempo)
item.terbilang = terbilang(row.jumlah) + ' Rupiah'
# item.status_pembayaran = (row.ntb) and 'H2H Bank' or (row.ntp) and 'Manual' or '-'
item.tgl_pembayaran = row.tgl_bayar and dmy(row.tgl_bayar) or '-'
# item.pokok = row.pokok and thousand(row.pokok) or '-'
# item.denda = (row.tgl_bayar) and thousand(row.bunga) or (row.denda) and thousand(row.denda) or '0'
# item.bayar = row.bayar and thousand(row.bayar) or (row.jumlah) and thousand(row.jumlah) or (int(item.pokok)+int(item.denda))
if (row.status_bayar == 0):
item.status_pembayaran = 'Belum Lunas'
item.pokok = 0
item.denda = 0
item.bayar = 0
else:
item.status_pembayaran = 'Sudah Lunas'
item.pokok = row.pokok and thousand(row.pokok) or '-'
item.denda = (row.tgl_bayar) and thousand(row.bunga) or (row.denda) and thousand(row.denda) or '0'
item.bayar = row.bayar and thousand(row.bayar) or (row.jumlah) and thousand(row.jumlah) or (int(item.pokok)+int(item.denda))
qrcodename = 'skrd_{}'.format(params['id'])
path = '/tmp/' + qrcodename
## ambil host
settings = get_settings()
host = settings['_host']
## generate qrcode
imgqrcode = qrcode.make('{}/public/skrd?id={}'\
.format(host, params['id']))
imgqrcode.save(path, 'PNG')
item.qrcode = open(path, 'rb').read()
data = {}
data['item'] = item
template.render(data)
return odt_export(request, file, 'pdf')
if url_dict['pdf']=='tbp' :
if not 'id' in params or not params['id']:
request.session.flash('ID tidak ditemukan','error')
raise route_list()
from py3o.template import Template
class Item(object):
pass
_here = os.path.dirname(__file__) # get current folder -> views
path = os.path.dirname(_here) # mundur 1 level
path = os.path.join(path, 'reports/')
file = '/tmp/skrd'
template= Template(path+'tbp.odt', file+'.odt')
row = DBSession.query(ARInvoice.unit_nama.label('unit_nama'),
ARInvoice.wp_nama.label('wp_nama'),
ARInvoice.wp_alamat_1.label('wp_alamat_1'),
ARInvoice.wp_alamat_2.label('wp_alamat_2'),
ARInvoice.wp_kode.label('wp_kode'),
ARInvoice.rek_nama.label('rek_nama'),
ARInvoice.keterangan.label('keterangan'),
ARInvoice.rek_kode.label('rek_kode'),
ARInvoice.periode_1.label('periode_1'),
ARInvoice.periode_2.label('periode_2'),
ARInvoice.kode.label('kode'),
ARInvoice.no_skrd.label('no_skrd'),
ARInvoice.tahun_id.label('tahun_id'),
ARInvoice.tgl_tetap.label('tgl_tetap'),
ARInvoice.jumlah.label('jumlah'),
ARInvoice.jatuh_tempo.label('jatuh_tempo'),
ARInvoice.status_bayar.label('status_bayar'),
ARInvoice.pokok.label('pokok'),
ARInvoice.denda.label('denda'),
ARInvoice.pejabat_nama.label('pejabat_nama'),
ARInvoice.pejabat_pangkat.label('pejabat_pangkat'),
ARInvoice.pejabat_nip.label('pejabat_nip'),
ARSspd.ntp.label('ntp'),
ARSspd.ntb.label('ntb'),
ARSspd.tgl_bayar.label('tgl_bayar'),
ARSspd.bunga.label('bunga'),
ARSspd.bayar.label('bayar'),
ARTbp.kode.label('kode_tbp'))\
.join(ARTbp, ARTbp.invoice_id==ARInvoice.id)\
.outerjoin(ARSspd, ARSspd.arinvoice_id==ARInvoice.id)\
.filter(ARTbp.id==params['id']).first()
item = Item()
item.pejabat_nama = row.pejabat_nama
item.pejabat_pangkat = row.pejabat_pangkat
item.pejabat_nip = row.pejabat_nip
item.opd = row.unit_nama
item.wp_nama = row.wp_nama
item.wp_alamat = (row.wp_alamat_2 and row.wp_alamat_2 != '-') and ('{} {}'.format(row.wp_alamat_1, row.wp_alamat_2)) or row.wp_alamat_1
item.wp_kode = row.wp_kode
item.rek_nama = row.rek_nama
item.keterangan = row.keterangan
item.rek_kode = row.rek_kode
item.periode_1 = dmy(row.periode_1)
item.periode_2 = dmy(row.periode_2)
item.kodebayar = row.kode_tbp
item.no_skrd = row.kode_tbp
item.tahunskrd = row.tahun_id
BULAN = dict(BULANS)
bulan = row.tgl_tetap.strftime('%m')
item.tgl_tetap = '{} {}'.format(row.tgl_tetap.strftime('%d'),BULAN[bulan])
item.tahun_tetap = row.tgl_tetap.year
item.tahun = datetime.now().year
item.jumlah = thousand(row.jumlah)
item.jatuh_tempo = dmy(row.jatuh_tempo)
item.terbilang = terbilang(row.jumlah) + ' Rupiah'
# item.status_pembayaran = (row.ntb) and 'H2H Bank' or (row.ntp) and 'Manual' or '-'
item.tgl_pembayaran = row.tgl_bayar and dmy(row.tgl_bayar) or '-'
# item.pokok = row.pokok and thousand(row.pokok) or '-'
# item.denda = (row.tgl_bayar) and thousand(row.bunga) or (row.denda) and thousand(row.denda) or '0'
# item.bayar = row.bayar and thousand(row.bayar) or (row.jumlah) and thousand(row.jumlah) or (int(item.pokok)+int(item.denda))
if (row.status_bayar == 0):
item.status_pembayaran = 'Belum Lunas'
item.pokok = 0
item.denda = 0
item.bayar = 0
else:
item.status_pembayaran = 'Sudah Lunas'
item.pokok = row.pokok and thousand(row.pokok) or '-'
item.denda = (row.tgl_bayar) and thousand(row.bunga) or (row.denda) and thousand(row.denda) or '0'
item.bayar = row.bayar and thousand(row.bayar) or (row.jumlah) and thousand(row.jumlah) or (int(item.pokok)+int(item.denda))
qrcodename = 'skrd_{}'.format(params['id'])
path = '/tmp/' + qrcodename
## ambil host
settings = get_settings()
host = settings['_host']
## generate qrcode
imgqrcode = qrcode.make('{}/public/skrd?id={}'\
.format(host, params['id']))
imgqrcode.save(path, 'PNG')
item.qrcode = open(path, 'rb').read()
data = {}
data['item'] = item
template.render(data)
return odt_export(request, file, 'pdf')
\ No newline at end of file
......@@ -199,6 +199,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_skrd" class="btn btn btn-success pull-left" type="button">SKRD</button>',
' <button id="btn_tbp" class="btn btn btn-success pull-left" type="button">TBP</button>',
' <button id="btn_print" class="btn btn btn-info pull-left" type="button">Kwitansi</button>',
' <button id="btn_posting" class="btn btn btn-success pull-left" type="button">Posting</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
......@@ -306,6 +308,24 @@
window.open(url);
});
$('#btn_skrd').click(function () {
if (mID) {
url = oFormUrl+'skrd/pdf?id='+mID;
window.open(url);
} else {
alert('Silahkan pilih data yang akan dicetak skrdnya.');
}
});
$('#btn_tbp').click(function () {
if (mID) {
url = oFormUrl+'tbp/pdf?id='+mID;
window.open(url);
} else {
alert('Silahkan pilih data yang akan dicetak tbpnya.');
}
});
$('#btn_print').click(function () {
if (mID) {
url = oFormUrl+'cetak/pdf?awal='+$('#awal').val()+"&akhir="+$('#akhir').val()+"&id1="+mID;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!