Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Taufik Yulianto
/
esipkd
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 20f05c3f
authored
Apr 27, 2021
by
taufikyu
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
update laporan skrd, dan tbp menu tbpb
1 parent
8772e736
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
225 additions
and
2 deletions
esipkd/reports/tbp.odt
esipkd/views/arinvoice_b.py
esipkd/views/artbp.py
esipkd/views/templates/artbp/list.pt
esipkd/reports/tbp.odt
0 → 100644
View file @
20f05c3
No preview for this file type
esipkd/views/arinvoice_b.py
View file @
20f05c3
...
@@ -676,6 +676,7 @@ def view_act(request):
...
@@ -676,6 +676,7 @@ def view_act(request):
from
..reports.rml_report
import
open_rml_row
,
open_rml_pdf
,
pdf_response
from
..reports.rml_report
import
open_rml_row
,
open_rml_pdf
,
pdf_response
def
query_reg
():
def
query_reg
():
return
DBSession
.
query
(
ARInvoice
.
kode
.
label
(
'a'
),
return
DBSession
.
query
(
ARInvoice
.
kode
.
label
(
'a'
),
ARInvoice
.
no_skrd
.
label
(
'h'
),
ARInvoice
.
wp_nama
.
label
(
'b'
),
ARInvoice
.
wp_nama
.
label
(
'b'
),
ARInvoice
.
rek_kode
.
label
(
'c'
),
ARInvoice
.
rek_kode
.
label
(
'c'
),
ARInvoice
.
op_nama
.
label
(
'd'
),
ARInvoice
.
op_nama
.
label
(
'd'
),
...
@@ -720,7 +721,7 @@ def view_csv(request):
...
@@ -720,7 +721,7 @@ def view_csv(request):
row
=
query
.
filter
(
ARInvoice
.
tgl_tetap
.
between
(
awal
,
akhir
),
row
=
query
.
filter
(
ARInvoice
.
tgl_tetap
.
between
(
awal
,
akhir
),
ARInvoice
.
status_grid
==
0
)
#.first()
ARInvoice
.
status_grid
==
0
)
#.first()
#print "-- ROW -- ",row
#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
=
[]
rows
=
[]
for
item
in
row
.
all
():
for
item
in
row
.
all
():
rows
.
append
(
list
(
item
))
rows
.
append
(
list
(
item
))
...
...
esipkd/views/artbp.py
View file @
20f05c3
import
sys
import
sys
import
re
import
re
import
os
import
qrcode
from
email.utils
import
parseaddr
from
email.utils
import
parseaddr
from
sqlalchemy
import
not_
,
func
,
desc
from
sqlalchemy
import
not_
,
func
,
desc
from
datetime
import
datetime
from
datetime
import
datetime
...
@@ -16,7 +18,8 @@ from deform import (
...
@@ -16,7 +18,8 @@ from deform import (
widget
,
widget
,
ValidationFailure
,
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
import
DBSession
from
..models.isipkd
import
(
from
..models.isipkd
import
(
ObjekPajak
,
ObjekPajak
,
...
@@ -27,6 +30,7 @@ from ..models.isipkd import(
...
@@ -27,6 +30,7 @@ from ..models.isipkd import(
Rekening
,
Rekening
,
ARTbp
,
ARTbp
,
ARInvoice
,
ARInvoice
,
ARSspd
,
Unit
,
Unit
,
UserUnit
UserUnit
)
)
...
@@ -901,3 +905,201 @@ def view_pdf(request):
...
@@ -901,3 +905,201 @@ def view_pdf(request):
pdf
,
filename
=
open_rml_pdf
(
'artbp_cetak.rml'
,
rows2
=
rows
)
pdf
,
filename
=
open_rml_pdf
(
'artbp_cetak.rml'
,
rows2
=
rows
)
return
pdf_response
(
request
,
pdf
,
filename
)
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
\ No newline at end of file
esipkd/views/templates/artbp/list.pt
View file @
20f05c3
...
@@ -199,6 +199,8 @@
...
@@ -199,6 +199,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>'
,
' <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_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_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_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_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>'
,
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>'
,
...
@@ -306,6 +308,24 @@
...
@@ -306,6 +308,24 @@
window
.
open
(
url
);
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
()
{
$
(
'#btn_print'
).
click
(
function
()
{
if
(
mID
)
{
if
(
mID
)
{
url
=
oFormUrl
+
'cetak/pdf?awal='
+
$
(
'#awal'
).
val
()
+
"&akhir="
+
$
(
'#akhir'
).
val
()
+
"&id1="
+
mID
;
url
=
oFormUrl
+
'cetak/pdf?awal='
+
$
(
'#awal'
).
val
()
+
"&akhir="
+
$
(
'#akhir'
).
val
()
+
"&id1="
+
mID
;
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment