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 f4bad9a5
authored
Oct 25, 2022
by
suri
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'master' of
https://git.opensipkd.com/taufik/esipkd
2 parents
25e7790f
1907c979
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
468 additions
and
468 deletions
esipkd/views/pap.py
esipkd/views/pap.py
View file @
f4bad9a
import
colander
import
informixdb
import
re
from
datetime
import
(
datetime
,
date
)
from
time
import
(
strptime
,
strftime
,
time
,
sleep
)
from
sqlalchemy
import
(
not_
,
or_
,
text
)
from
pyramid.view
import
(
view_config
,)
from
pyramid.httpexceptions
import
(
HTTPFound
,)
from
deform
import
(
Form
,
widget
,
ValidationFailure
,)
from
datatables
import
(
ColumnDT
,
DataTables
)
from
recaptcha.client
import
captcha
from
..tools
import
(
email_validator
,
BULANS
,
captcha_submit
,
get_settings
,
npwpd_validator
)
from
..models
import
(
DBSession
)
from
..models.isipkd
import
(
Pap
)
from
..models.informix
import
EngInformix
from
.bjb_va
import
rpc_params
,
BJBVA
from
.bjb_qris
import
BJBQRIS
from
..tools
import
ymd
,
dmy
,
ymdhms
,
dmyhms
,
dmy_to_date
SESS_ADD_FAILED
=
'user add failed'
SESS_EDIT_FAILED
=
'user edit failed'
#######
# Add #
#######
def
form_validator
(
form
,
value
):
def
err_no_skpd
():
raise
colander
.
Invalid
(
form
,
'NIK Harus diisi'
)
def
err_no_handphone
():
raise
colander
.
Invalid
(
form
,
'No handphone harus diisi'
)
def
err_no_handphone
():
raise
colander
.
Invalid
(
form
,
'Kode validasi harus diisi'
)
def
deferred_bulan
(
node
,
kw
):
values
=
kw
.
get
(
'bulans'
,
[])
return
widget
.
SelectWidget
(
values
=
values
)
BULANS
=
((
''
,
'Pilih Bulan'
),
(
'01'
,
'Januari'
),
(
'02'
,
'Februari'
),
(
'03'
,
'Maret'
),
(
'04'
,
'April'
),
(
'05'
,
'Mei'
),
(
'06'
,
'Juni'
),
(
'07'
,
'Juli'
),
(
'08'
,
'Agustus'
),
(
'09'
,
'September'
),
(
'10'
,
'Oktober'
),
(
'11'
,
'November'
),
(
'12'
,
'Desember'
),
)
def
deferred_tahun
(
node
,
kw
):
values
=
kw
.
get
(
'tahuns'
,
[])
return
widget
.
SelectWidget
(
values
=
values
)
TAHUNS
=
((
''
,
'Pilih Tahun'
),
# ('1990','1990'),('1991','1991'),('1992','1992'),('1993','1993'),('1994','1994'),
# ('1995','1995'),('1996','1996'),('1997','1997'),('1998','1998'),('1999','1999'),
# ('2000','2000'),('2001','2001'),('2002','2002'),('2003','2003'),('2004','2004'),
(
'2005'
,
'2005'
),(
'2006'
,
'2006'
),(
'2007'
,
'2007'
),(
'2008'
,
'2008'
),(
'2009'
,
'2009'
),
(
'2010'
,
'2010'
),(
'2011'
,
'2011'
),(
'2012'
,
'2012'
),(
'2013'
,
'2013'
),(
'2014'
,
'2014'
),
(
'2015'
,
'2015'
),(
'2016'
,
'2016'
),(
'2017'
,
'2017'
),(
'2018'
,
'2018'
),(
'2019'
,
'2019'
),
(
'2020'
,
'2020'
),(
'2021'
,
'2021'
),(
'2022'
,
'2022'
),(
'2023'
,
'2023'
),(
'2024'
,
'2024'
),
(
'2025'
,
'2025'
),(
'2026'
,
'2026'
),(
'2027'
,
'2027'
),(
'2028'
,
'2028'
),(
'2029'
,
'2029'
),
(
'2030'
,
'2030'
),
)
class
AddSchema
(
colander
.
Schema
):
npwpd
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
TextInputWidget
(
max
=
14
),
#validator=npwpd_validator,
title
=
"NPWPD"
,
oid
=
"npwpd"
)
m_pjk_bln
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
SelectWidget
(
values
=
BULANS
),
title
=
"Bulan"
,
oid
=
"m_pjk_bln"
)
m_pjk_thn
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
SelectWidget
(
values
=
TAHUNS
),
title
=
"Tahun"
,
oid
=
"m_pjk_thn"
)
kd_bayar
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Kode Bayar'
,
oid
=
"kd_bayar"
)
kd_status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Status.bayar'
,
missing
=
colander
.
drop
,
oid
=
"kd_status"
)
npwpd1
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'NPWPD'
,
oid
=
"npwpd1"
)
nm_perus
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Nama'
,
oid
=
"nm_perus"
)
al_perus
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Alamat'
,
oid
=
"al_perus"
)
vol_air
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Volume'
,
missing
=
colander
.
drop
,
oid
=
"vol_air"
)
npa
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'NPS'
,
missing
=
colander
.
drop
,
oid
=
"npa"
)
bea_pok_pjk
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Bea Pokok Pjk'
,
missing
=
colander
.
drop
,
oid
=
"bea_pok_pjk"
)
bea_den_pjk
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Bea Denda Pjk'
,
missing
=
colander
.
drop
,
oid
=
"bea_den_pjk"
)
m_pjk_bln1
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Bulan'
,
oid
=
"m_pjk_bln1"
)
m_pjk_thn1
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Tahun'
,
oid
=
"m_pjk_thn1"
)
tgl_tetap
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Tgl. Penetapan'
,
oid
=
"tgl_tetap"
)
tgl_jt_tempo
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Tgl. Jth Tempo'
,
oid
=
"tgl_jt_tempo"
)
keterangan
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Keterangan'
,
oid
=
"keterangan"
)
class
VASchema
(
AddSchema
):
va
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'VA'
,
oid
=
"va"
)
class
QRISSchema
(
AddSchema
):
qris
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'QRIS'
,
oid
=
"qris"
)
class
EditSchema
(
AddSchema
):
nr
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"nr"
)
nk
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"nk"
)
em
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"em"
)
def
get_form
(
request
,
class_form
):
schema
=
class_form
(
validator
=
form_validator
)
schema
.
request
=
request
return
Form
(
schema
,
buttons
=
(
'simpan'
,
'batal'
))
def
save
(
request
,
values
,
row
=
None
):
engInformix
=
EngInformix
()
sql_result
=
"""
SELECT * FROM v_jupntepap
WHERE npwpd= '{npwpd}' and m_pjk_bln= '{m_pjk_bln}'
and m_pjk_thn = '{m_pjk_thn}'
"""
.
format
(
npwpd
=
values
[
'npwpd'
],
m_pjk_bln
=
values
[
'm_pjk_bln'
],
m_pjk_thn
=
values
[
'm_pjk_thn'
])
#kd_status = 2)
p
=
engInformix
.
fetchone
(
sql_result
)
# print '----------------P Hasil Select----------------------',p
return
p
class
Item
():
pass
def
save_request
(
values
,
request
,
row
=
None
):
values
[
'npwpd'
]
=
values
[
'npwpd'
]
values
[
'm_pjk_bln'
]
=
values
[
'm_pjk_bln'
]
values
[
'm_pjk_thn'
]
=
values
[
'm_pjk_thn'
]
row
=
save
(
request
,
values
,
row
)
return
row
def
route_list
(
request
):
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-add'
))
def
session_failed
(
request
,
session_name
):
r
=
dict
(
form
=
request
.
session
[
session_name
])
del
request
.
session
[
session_name
]
return
r
@view_config
(
route_name
=
'pap'
,
renderer
=
'templates/pap/add.pt'
,
)
#permission='view')
@view_config
(
route_name
=
'pap-add'
,
renderer
=
'templates/pap/add.pt'
,
)
#permission='view')
def
view_add
(
request
):
req
=
request
found
=
0
settings
=
get_settings
()
private_key
=
settings
[
'recaptcha.private_key'
]
data_key
=
settings
[
'recaptcha.data_key'
]
form
=
get_form
(
request
,
AddSchema
)
if
request
.
POST
:
if
'simpan'
in
request
.
POST
:
controls
=
request
.
POST
.
items
()
a
=
form
.
validate
(
controls
)
try
:
c
=
form
.
validate
(
controls
)
if
private_key
:
response
=
captcha_submit
(
data_key
,
req
.
params
[
'g-recaptcha-response'
],
private_key
,
None
)
if
not
response
.
is_valid
:
req
.
session
.
flash
(
response
.
error_code
,
'error'
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
found
=
found
,
data_key
=
data_key
)
except
ValidationFailure
,
e
:
return
dict
(
form
=
form
,
private_key
=
private_key
,
found
=
found
,
data_key
=
data_key
)
row
=
save_request
(
dict
(
controls
),
request
)
if
not
row
:
request
.
session
.
flash
(
'Data PAP tidak ditemukan'
,
'error'
)
values
=
{}
values
[
'npwpd'
]
=
a
[
'npwpd'
]
values
[
'm_pjk_bln'
]
=
a
[
'm_pjk_bln'
]
values
[
'm_pjk_thn'
]
=
a
[
'm_pjk_thn'
]
form
.
set_appstruct
(
values
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
)
return
route_list
(
request
)
else
:
request
.
session
.
flash
(
'Data PAP ditemukan.'
)
found
=
1
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
row
.
npwpd
,
nk
=
row
.
m_pjk_bln
,
em
=
row
.
m_pjk_thn
))
return
route_list
(
request
)
elif
SESS_ADD_FAILED
in
request
.
session
:
return
session_failed
(
request
,
SESS_ADD_FAILED
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
found
=
found
,
data_key
=
data_key
)
def
query_id
(
request
):
engInformix
=
EngInformix
()
sql_result1
=
"""
SELECT * FROM v_jupntepap
WHERE npwpd= '{npwpd}' and m_pjk_bln= '{m_pjk_bln}'
and m_pjk_thn = '{m_pjk_thn}'
"""
.
format
(
npwpd
=
request
.
matchdict
[
'nr'
],
m_pjk_bln
=
request
.
matchdict
[
'nk'
],
m_pjk_thn
=
request
.
matchdict
[
'em'
])
#kd_status = 2)
x
=
engInformix
.
fetchone
(
sql_result1
)
# print '----------------X Hasil Select----------------------',x
return
x
@view_config
(
route_name
=
'pap-edit'
,
renderer
=
'templates/pap/edit.pt'
,
)
#permission='view')
def
view_edit
(
request
):
req
=
request
found
=
0
row
=
query_id
(
request
)
# print '----------------Row Hasil Params--------------------',row
settings
=
get_settings
()
# print 'X--------_______SETTING INFORMIX______--------X',settings
private_key
=
settings
[
'recaptcha.private_key'
]
data_key
=
settings
[
'recaptcha.data_key'
]
form
=
get_form
(
request
,
AddSchema
)
if
request
.
POST
:
if
'simpan'
in
request
.
POST
:
controls
=
request
.
POST
.
items
()
a
=
form
.
validate
(
controls
)
try
:
c
=
form
.
validate
(
controls
)
if
private_key
:
response
=
captcha_submit
(
data_key
,
req
.
params
[
'g-recaptcha-response'
],
private_key
,
None
)
if
not
response
.
is_valid
:
req
.
session
.
flash
(
response
.
error_code
,
'error'
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
,
found
=
found
)
except
ValidationFailure
,
e
:
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
,
found
=
found
)
row
=
save_request
(
dict
(
controls
),
request
)
if
not
row
:
request
.
session
.
flash
(
'Data PAP tidak ditemukan'
,
'error'
)
values
=
{}
values
[
'npwpd'
]
=
a
[
'npwpd'
]
values
[
'm_pjk_bln'
]
=
a
[
'm_pjk_bln'
]
values
[
'm_pjk_thn'
]
=
a
[
'm_pjk_thn'
]
form
.
set_appstruct
(
values
)
return
dict
(
form
=
form
)
return
route_list
(
request
)
else
:
request
.
session
.
flash
(
'Data PAP ditemukan.'
)
found
=
1
# print '----------------Row Hasil Select--------------------',row
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
row
.
npwpd
,
nk
=
row
.
m_pjk_bln
,
em
=
row
.
m_pjk_thn
))
elif
'createva'
in
request
.
POST
:
val
=
dict
(
request
.
POST
.
items
())
val
.
update
(
dict
(
client_type
=
3
,
invoice_no
=
val
[
'kd_bayar'
],
product_code
=
98
,
description
=
val
[
'keterangan'
],
customer_name
=
val
[
'nm_perus'
],
customer_email
=
"-"
,
customer_phone
=
"-"
,
expired_date
=
ymdhms
(
datetime
.
now
()),
))
val
[
'amount'
]
=
(
val
[
'bea_pok_pjk'
]
+
val
[
'bea_den_pjk'
])
cekpap
=
Pap
.
query
()
.
filter
(
Pap
.
kd_bayar
==
val
[
'kd_bayar'
])
.
first
()
if
not
cekpap
:
cekpap
=
Pap
()
cekpap
.
from_dict
(
val
)
DBSession
.
add
(
cekpap
)
DBSession
.
flush
()
row
=
BJBVA
.
create_va
(
val
,
rpc_params
())
if
row
:
request
.
session
.
flash
(
'BJBVA No.
%
s sudah ditambahkan.'
%
row
.
va_number
)
else
:
request
.
session
.
flash
(
'BJBVA gagal ditambahkan.'
)
form
=
get_form
(
request
,
VASchema
)
val
[
'va'
]
=
row
.
va_number
form
.
set_appstruct
(
val
)
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
val
[
'npwpd'
],
nk
=
val
[
'm_pjk_bln'
],
em
=
val
[
'm_pjk_thn'
]))
elif
'createqris'
in
request
.
POST
:
val
=
dict
(
request
.
POST
.
items
())
val
.
update
(
dict
(
client_type
=
3
,
invoice_no
=
val
[
'kd_bayar'
],
product_code
=
98
,
description
=
val
[
'keterangan'
],
customer_name
=
val
[
'nm_perus'
],
customer_email
=
"-"
,
customer_phone
=
"-"
,
expired_date
=
ymdhms
(
datetime
.
now
()),
))
val
[
'amount'
]
=
(
val
[
'bea_pok_pjk'
]
+
val
[
'bea_den_pjk'
])
cekpap
=
Pap
.
query
()
.
filter
(
Pap
.
kd_bayar
==
val
[
'kd_bayar'
])
.
first
()
if
not
cekpap
:
cekpap
=
Pap
()
cekpap
.
from_dict
(
val
)
DBSession
.
add
(
cekpap
)
DBSession
.
flush
()
row
=
BJBQRIS
.
create_va
(
val
,
rpc_params
())
if
row
:
request
.
session
.
flash
(
'BJBQRIS No.
%
s sudah ditambahkan.'
%
row
.
va_number
)
else
:
request
.
session
.
flash
(
'BJBQRIS gagal ditambahkan.'
)
form
=
get_form
(
request
,
QRISSchema
)
val
[
'qris'
]
=
row
.
va_number
form
.
set_appstruct
(
val
)
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
val
[
'npwpd'
],
nk
=
val
[
'm_pjk_bln'
],
em
=
val
[
'm_pjk_thn'
]))
return
route_list
(
request
)
elif
SESS_EDIT_FAILED
in
request
.
session
:
return
session_failed
(
request
,
SESS_EDIT_FAILED
)
values
=
{}
values
[
'npwpd'
]
=
row
and
row
.
npwpd
or
request
.
matchdict
[
'nr'
]
values
[
'm_pjk_bln'
]
=
row
and
row
.
m_pjk_bln
or
request
.
matchdict
[
'nk'
]
values
[
'm_pjk_thn'
]
=
row
and
row
.
m_pjk_thn
or
request
.
matchdict
[
'em'
]
values
[
'kd_status'
]
=
row
and
row
.
kd_status
or
0
values
[
'kd_bayar'
]
=
row
and
row
.
kd_bayar
or
None
values
[
'npwpd1'
]
=
row
and
row
.
npwpd
or
request
.
matchdict
[
'nr'
]
values
[
'nm_perus'
]
=
row
and
row
.
nm_perus
or
None
values
[
'al_perus'
]
=
row
and
row
.
al_perus
or
None
values
[
'm_pjk_bln1'
]
=
row
and
row
.
m_pjk_bln
or
request
.
matchdict
[
'nk'
]
values
[
'm_pjk_thn1'
]
=
row
and
row
.
m_pjk_thn
or
request
.
matchdict
[
'em'
]
values
[
'tgl_tetap'
]
=
row
and
row
.
tgl_tetap
or
None
values
[
'tgl_jt_tempo'
]
=
row
and
row
.
tgl_jt_tempo
or
None
values
[
'keterangan'
]
=
row
and
row
.
keterangan
or
None
values
[
'vol_air'
]
=
row
and
row
.
vol_air
or
0
values
[
'npa'
]
=
row
and
row
.
npa
or
0
values
[
'bea_pok_pjk'
]
=
row
and
row
.
bea_pok_pjk
or
0
values
[
'bea_den_pjk'
]
=
row
and
row
.
bea_den_pjk
or
0
form
.
set_appstruct
(
values
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
,
found
=
found
)
import
colander
import
informixdb
import
re
from
datetime
import
(
datetime
,
date
)
from
time
import
(
strptime
,
strftime
,
time
,
sleep
)
from
sqlalchemy
import
(
not_
,
or_
,
text
)
from
pyramid.view
import
(
view_config
,)
from
pyramid.httpexceptions
import
(
HTTPFound
,)
from
deform
import
(
Form
,
widget
,
ValidationFailure
,)
from
datatables
import
(
ColumnDT
,
DataTables
)
from
recaptcha.client
import
captcha
from
..tools
import
(
email_validator
,
BULANS
,
captcha_submit
,
get_settings
,
npwpd_validator
)
from
..models
import
(
DBSession
)
from
..models.isipkd
import
(
Pap
)
from
..models.informix
import
EngInformix
from
.bjb_va
import
rpc_params
,
BJBVA
from
.bjb_qris
import
BJBQRIS
from
..tools
import
ymd
,
dmy
,
ymdhms
,
dmyhms
,
dmy_to_date
SESS_ADD_FAILED
=
'user add failed'
SESS_EDIT_FAILED
=
'user edit failed'
#######
# Add #
#######
def
form_validator
(
form
,
value
):
def
err_no_skpd
():
raise
colander
.
Invalid
(
form
,
'NIK Harus diisi'
)
def
err_no_handphone
():
raise
colander
.
Invalid
(
form
,
'No handphone harus diisi'
)
def
err_no_handphone
():
raise
colander
.
Invalid
(
form
,
'Kode validasi harus diisi'
)
def
deferred_bulan
(
node
,
kw
):
values
=
kw
.
get
(
'bulans'
,
[])
return
widget
.
SelectWidget
(
values
=
values
)
BULANS
=
((
''
,
'Pilih Bulan'
),
(
'01'
,
'Januari'
),
(
'02'
,
'Februari'
),
(
'03'
,
'Maret'
),
(
'04'
,
'April'
),
(
'05'
,
'Mei'
),
(
'06'
,
'Juni'
),
(
'07'
,
'Juli'
),
(
'08'
,
'Agustus'
),
(
'09'
,
'September'
),
(
'10'
,
'Oktober'
),
(
'11'
,
'November'
),
(
'12'
,
'Desember'
),
)
def
deferred_tahun
(
node
,
kw
):
values
=
kw
.
get
(
'tahuns'
,
[])
return
widget
.
SelectWidget
(
values
=
values
)
TAHUNS
=
((
''
,
'Pilih Tahun'
),
# ('1990','1990'),('1991','1991'),('1992','1992'),('1993','1993'),('1994','1994'),
# ('1995','1995'),('1996','1996'),('1997','1997'),('1998','1998'),('1999','1999'),
# ('2000','2000'),('2001','2001'),('2002','2002'),('2003','2003'),('2004','2004'),
(
'2005'
,
'2005'
),(
'2006'
,
'2006'
),(
'2007'
,
'2007'
),(
'2008'
,
'2008'
),(
'2009'
,
'2009'
),
(
'2010'
,
'2010'
),(
'2011'
,
'2011'
),(
'2012'
,
'2012'
),(
'2013'
,
'2013'
),(
'2014'
,
'2014'
),
(
'2015'
,
'2015'
),(
'2016'
,
'2016'
),(
'2017'
,
'2017'
),(
'2018'
,
'2018'
),(
'2019'
,
'2019'
),
(
'2020'
,
'2020'
),(
'2021'
,
'2021'
),(
'2022'
,
'2022'
),(
'2023'
,
'2023'
),(
'2024'
,
'2024'
),
(
'2025'
,
'2025'
),(
'2026'
,
'2026'
),(
'2027'
,
'2027'
),(
'2028'
,
'2028'
),(
'2029'
,
'2029'
),
(
'2030'
,
'2030'
),
)
class
AddSchema
(
colander
.
Schema
):
npwpd
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
TextInputWidget
(
max
=
14
),
#validator=npwpd_validator,
title
=
"NPWPD"
,
oid
=
"npwpd"
)
m_pjk_bln
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
SelectWidget
(
values
=
BULANS
),
title
=
"Bulan"
,
oid
=
"m_pjk_bln"
)
m_pjk_thn
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
SelectWidget
(
values
=
TAHUNS
),
title
=
"Tahun"
,
oid
=
"m_pjk_thn"
)
kd_bayar
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Kode Bayar'
,
oid
=
"kd_bayar"
)
kd_status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Status.bayar'
,
missing
=
colander
.
drop
,
oid
=
"kd_status"
)
npwpd1
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'NPWPD'
,
oid
=
"npwpd1"
)
nm_perus
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Nama'
,
oid
=
"nm_perus"
)
al_perus
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Alamat'
,
oid
=
"al_perus"
)
vol_air
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Volume'
,
missing
=
colander
.
drop
,
oid
=
"vol_air"
)
npa
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'NPS'
,
missing
=
colander
.
drop
,
oid
=
"npa"
)
bea_pok_pjk
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Bea Pokok Pjk'
,
missing
=
colander
.
drop
,
oid
=
"bea_pok_pjk"
)
bea_den_pjk
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
'Bea Denda Pjk'
,
missing
=
colander
.
drop
,
oid
=
"bea_den_pjk"
)
m_pjk_bln1
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Bulan'
,
oid
=
"m_pjk_bln1"
)
m_pjk_thn1
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Tahun'
,
oid
=
"m_pjk_thn1"
)
tgl_tetap
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Tgl. Penetapan'
,
oid
=
"tgl_tetap"
)
tgl_jt_tempo
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Tgl. Jth Tempo'
,
oid
=
"tgl_jt_tempo"
)
keterangan
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'Keterangan'
,
oid
=
"keterangan"
)
class
VASchema
(
AddSchema
):
va
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'VA'
,
oid
=
"va"
)
class
QRISSchema
(
AddSchema
):
qris
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
title
=
'QRIS'
,
oid
=
"qris"
)
class
EditSchema
(
AddSchema
):
nr
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"nr"
)
nk
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"nk"
)
em
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"em"
)
def
get_form
(
request
,
class_form
):
schema
=
class_form
(
validator
=
form_validator
)
schema
.
request
=
request
return
Form
(
schema
,
buttons
=
(
'simpan'
,
'batal'
))
def
save
(
request
,
values
,
row
=
None
):
engInformix
=
EngInformix
()
sql_result
=
"""
SELECT * FROM v_jupntepap
WHERE npwpd= '{npwpd}' and m_pjk_bln= '{m_pjk_bln}'
and m_pjk_thn = '{m_pjk_thn}'
"""
.
format
(
npwpd
=
values
[
'npwpd'
],
m_pjk_bln
=
values
[
'm_pjk_bln'
],
m_pjk_thn
=
values
[
'm_pjk_thn'
])
#kd_status = 2)
p
=
engInformix
.
fetchone
(
sql_result
)
# print '----------------P Hasil Select----------------------',p
return
p
class
Item
():
pass
def
save_request
(
values
,
request
,
row
=
None
):
values
[
'npwpd'
]
=
values
[
'npwpd'
]
values
[
'm_pjk_bln'
]
=
values
[
'm_pjk_bln'
]
values
[
'm_pjk_thn'
]
=
values
[
'm_pjk_thn'
]
row
=
save
(
request
,
values
,
row
)
return
row
def
route_list
(
request
):
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-add'
))
def
session_failed
(
request
,
session_name
):
r
=
dict
(
form
=
request
.
session
[
session_name
])
del
request
.
session
[
session_name
]
return
r
@view_config
(
route_name
=
'pap'
,
renderer
=
'templates/pap/add.pt'
,
)
#permission='view')
@view_config
(
route_name
=
'pap-add'
,
renderer
=
'templates/pap/add.pt'
,
)
#permission='view')
def
view_add
(
request
):
req
=
request
found
=
0
settings
=
get_settings
()
private_key
=
settings
[
'recaptcha.private_key'
]
data_key
=
settings
[
'recaptcha.data_key'
]
form
=
get_form
(
request
,
AddSchema
)
if
request
.
POST
:
if
'simpan'
in
request
.
POST
:
controls
=
request
.
POST
.
items
()
a
=
form
.
validate
(
controls
)
try
:
c
=
form
.
validate
(
controls
)
if
private_key
:
response
=
captcha_submit
(
data_key
,
req
.
params
[
'g-recaptcha-response'
],
private_key
,
None
)
if
not
response
.
is_valid
:
req
.
session
.
flash
(
response
.
error_code
,
'error'
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
found
=
found
,
data_key
=
data_key
)
except
ValidationFailure
,
e
:
return
dict
(
form
=
form
,
private_key
=
private_key
,
found
=
found
,
data_key
=
data_key
)
row
=
save_request
(
dict
(
controls
),
request
)
if
not
row
:
request
.
session
.
flash
(
'Data PAP tidak ditemukan'
,
'error'
)
values
=
{}
values
[
'npwpd'
]
=
a
[
'npwpd'
]
values
[
'm_pjk_bln'
]
=
a
[
'm_pjk_bln'
]
values
[
'm_pjk_thn'
]
=
a
[
'm_pjk_thn'
]
form
.
set_appstruct
(
values
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
)
return
route_list
(
request
)
else
:
request
.
session
.
flash
(
'Data PAP ditemukan.'
)
found
=
1
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
row
.
npwpd
,
nk
=
row
.
m_pjk_bln
,
em
=
row
.
m_pjk_thn
))
return
route_list
(
request
)
elif
SESS_ADD_FAILED
in
request
.
session
:
return
session_failed
(
request
,
SESS_ADD_FAILED
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
found
=
found
,
data_key
=
data_key
)
def
query_id
(
request
):
engInformix
=
EngInformix
()
sql_result1
=
"""
SELECT * FROM v_jupntepap
WHERE npwpd= '{npwpd}' and m_pjk_bln= '{m_pjk_bln}'
and m_pjk_thn = '{m_pjk_thn}'
"""
.
format
(
npwpd
=
request
.
matchdict
[
'nr'
],
m_pjk_bln
=
request
.
matchdict
[
'nk'
],
m_pjk_thn
=
request
.
matchdict
[
'em'
])
#kd_status = 2)
x
=
engInformix
.
fetchone
(
sql_result1
)
# print '----------------X Hasil Select----------------------',x
return
x
@view_config
(
route_name
=
'pap-edit'
,
renderer
=
'templates/pap/edit.pt'
,
)
#permission='view')
def
view_edit
(
request
):
req
=
request
found
=
0
row
=
query_id
(
request
)
# print '----------------Row Hasil Params--------------------',row
settings
=
get_settings
()
# print 'X--------_______SETTING INFORMIX______--------X',settings
private_key
=
settings
[
'recaptcha.private_key'
]
data_key
=
settings
[
'recaptcha.data_key'
]
form
=
get_form
(
request
,
AddSchema
)
if
request
.
POST
:
if
'simpan'
in
request
.
POST
:
controls
=
request
.
POST
.
items
()
a
=
form
.
validate
(
controls
)
try
:
c
=
form
.
validate
(
controls
)
if
private_key
:
response
=
captcha_submit
(
data_key
,
req
.
params
[
'g-recaptcha-response'
],
private_key
,
None
)
if
not
response
.
is_valid
:
req
.
session
.
flash
(
response
.
error_code
,
'error'
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
,
found
=
found
)
except
ValidationFailure
,
e
:
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
,
found
=
found
)
row
=
save_request
(
dict
(
controls
),
request
)
if
not
row
:
request
.
session
.
flash
(
'Data PAP tidak ditemukan'
,
'error'
)
values
=
{}
values
[
'npwpd'
]
=
a
[
'npwpd'
]
values
[
'm_pjk_bln'
]
=
a
[
'm_pjk_bln'
]
values
[
'm_pjk_thn'
]
=
a
[
'm_pjk_thn'
]
form
.
set_appstruct
(
values
)
return
dict
(
form
=
form
)
return
route_list
(
request
)
else
:
request
.
session
.
flash
(
'Data PAP ditemukan.'
)
found
=
1
# print '----------------Row Hasil Select--------------------',row
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
row
.
npwpd
,
nk
=
row
.
m_pjk_bln
,
em
=
row
.
m_pjk_thn
))
elif
'createva'
in
request
.
POST
:
val
=
dict
(
request
.
POST
.
items
())
val
.
update
(
dict
(
client_type
=
3
,
invoice_no
=
val
[
'kd_bayar'
],
product_code
=
"98"
,
description
=
val
[
'keterangan'
],
customer_name
=
val
[
'nm_perus'
],
customer_email
=
"-"
,
customer_phone
=
"-"
,
expired_date
=
ymdhms
(
datetime
.
now
()),
))
val
[
'amount'
]
=
(
val
[
'bea_pok_pjk'
]
+
val
[
'bea_den_pjk'
])
cekpap
=
Pap
.
query
()
.
filter
(
Pap
.
kd_bayar
==
val
[
'kd_bayar'
])
.
first
()
if
not
cekpap
:
cekpap
=
Pap
()
cekpap
.
from_dict
(
val
)
DBSession
.
add
(
cekpap
)
DBSession
.
flush
()
row
=
BJBVA
.
create_va
(
val
,
rpc_params
())
if
row
:
request
.
session
.
flash
(
'BJBVA No.
%
s sudah ditambahkan.'
%
row
.
va_number
)
else
:
request
.
session
.
flash
(
'BJBVA gagal ditambahkan.'
)
form
=
get_form
(
request
,
VASchema
)
val
[
'va'
]
=
row
.
va_number
form
.
set_appstruct
(
val
)
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
val
[
'npwpd'
],
nk
=
val
[
'm_pjk_bln'
],
em
=
val
[
'm_pjk_thn'
]))
elif
'createqris'
in
request
.
POST
:
val
=
dict
(
request
.
POST
.
items
())
val
.
update
(
dict
(
client_type
=
3
,
invoice_no
=
val
[
'kd_bayar'
],
product_code
=
"98"
,
description
=
val
[
'keterangan'
],
customer_name
=
val
[
'nm_perus'
],
customer_email
=
"-"
,
customer_phone
=
"-"
,
expired_date
=
ymdhms
(
datetime
.
now
()),
))
val
[
'amount'
]
=
(
val
[
'bea_pok_pjk'
]
+
val
[
'bea_den_pjk'
])
cekpap
=
Pap
.
query
()
.
filter
(
Pap
.
kd_bayar
==
val
[
'kd_bayar'
])
.
first
()
if
not
cekpap
:
cekpap
=
Pap
()
cekpap
.
from_dict
(
val
)
DBSession
.
add
(
cekpap
)
DBSession
.
flush
()
row
=
BJBQRIS
.
create_va
(
val
,
rpc_params
())
if
row
:
request
.
session
.
flash
(
'BJBQRIS No.
%
s sudah ditambahkan.'
%
row
.
va_number
)
else
:
request
.
session
.
flash
(
'BJBQRIS gagal ditambahkan.'
)
form
=
get_form
(
request
,
QRISSchema
)
val
[
'qris'
]
=
row
.
va_number
form
.
set_appstruct
(
val
)
return
HTTPFound
(
location
=
request
.
route_url
(
'pap-edit'
,
nr
=
val
[
'npwpd'
],
nk
=
val
[
'm_pjk_bln'
],
em
=
val
[
'm_pjk_thn'
]))
return
route_list
(
request
)
elif
SESS_EDIT_FAILED
in
request
.
session
:
return
session_failed
(
request
,
SESS_EDIT_FAILED
)
values
=
{}
values
[
'npwpd'
]
=
row
and
row
.
npwpd
or
request
.
matchdict
[
'nr'
]
values
[
'm_pjk_bln'
]
=
row
and
row
.
m_pjk_bln
or
request
.
matchdict
[
'nk'
]
values
[
'm_pjk_thn'
]
=
row
and
row
.
m_pjk_thn
or
request
.
matchdict
[
'em'
]
values
[
'kd_status'
]
=
row
and
row
.
kd_status
or
0
values
[
'kd_bayar'
]
=
row
and
row
.
kd_bayar
or
None
values
[
'npwpd1'
]
=
row
and
row
.
npwpd
or
request
.
matchdict
[
'nr'
]
values
[
'nm_perus'
]
=
row
and
row
.
nm_perus
or
None
values
[
'al_perus'
]
=
row
and
row
.
al_perus
or
None
values
[
'm_pjk_bln1'
]
=
row
and
row
.
m_pjk_bln
or
request
.
matchdict
[
'nk'
]
values
[
'm_pjk_thn1'
]
=
row
and
row
.
m_pjk_thn
or
request
.
matchdict
[
'em'
]
values
[
'tgl_tetap'
]
=
row
and
row
.
tgl_tetap
or
None
values
[
'tgl_jt_tempo'
]
=
row
and
row
.
tgl_jt_tempo
or
None
values
[
'keterangan'
]
=
row
and
row
.
keterangan
or
None
values
[
'vol_air'
]
=
row
and
row
.
vol_air
or
0
values
[
'npa'
]
=
row
and
row
.
npa
or
0
values
[
'bea_pok_pjk'
]
=
row
and
row
.
bea_pok_pjk
or
0
values
[
'bea_den_pjk'
]
=
row
and
row
.
bea_den_pjk
or
0
form
.
set_appstruct
(
values
)
return
dict
(
form
=
form
,
private_key
=
private_key
,
data_key
=
data_key
,
found
=
found
)
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