Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Owo Sugiana
/
sismiop-models
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 606e521f
authored
Apr 06, 2023
by
Owo Sugiana
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Bug fixed payment Kota Sukabumi
1 parent
420ae25c
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
116 additions
and
25 deletions
sismiop/scripts/inquiry.py
sismiop/services/sukabumi_kota.py
sismiop/scripts/inquiry.py
View file @
606e521
...
@@ -10,6 +10,9 @@ import sismiop.services.base
...
@@ -10,6 +10,9 @@ import sismiop.services.base
from
sismiop.services.base
import
thousand
from
sismiop.services.base
import
thousand
registry
=
dict
()
def
show_val
(
label
,
value
):
def
show_val
(
label
,
value
):
if
value
is
None
:
if
value
is
None
:
value
=
''
value
=
''
...
@@ -75,6 +78,14 @@ def show_inquiry(inq):
...
@@ -75,6 +78,14 @@ def show_inquiry(inq):
show_field
(
inq
.
invoice
,
'pbb_terhutang_sppt'
)
show_field
(
inq
.
invoice
,
'pbb_terhutang_sppt'
)
show_field
(
inq
.
invoice
,
'faktor_pengurang_sppt'
)
show_field
(
inq
.
invoice
,
'faktor_pengurang_sppt'
)
for
pay
in
inq
.
query_payments
():
for
pay
in
inq
.
query_payments
():
if
registry
[
'module_name'
]
==
'sukabumi_kota'
:
show_fields
(
pay
,
[
'PEMBAYARAN_SPPT_KE'
,
'KD_KANWIL'
,
'KD_KANTOR'
,
'KD_KANWIL_BANK'
,
'KD_KPPBB_BANK'
,
'KD_BANK_TUNGGAL'
,
'KD_BANK_PERSEPSI'
,
'KD_TP'
,
'TGL_REKAM_BYR_SPPT'
,
'TGL_PEMBAYARAN_SPPT'
,
'JML_SPPT_YG_DIBAYAR'
,
'JML_PBB_YG_DIBAYAR'
,
'DENDA_SPPT'
])
else
:
show_fields
(
show_fields
(
pay
,
[
'pembayaran_sppt_ke'
,
'kd_kanwil'
,
'kd_kantor'
,
pay
,
[
'pembayaran_sppt_ke'
,
'kd_kanwil'
,
'kd_kantor'
,
'kd_kanwil_bank'
,
'kd_kppbb_bank'
,
'kd_bank_tunggal'
,
'kd_kanwil_bank'
,
'kd_kppbb_bank'
,
'kd_bank_tunggal'
,
...
@@ -97,17 +108,28 @@ def show_attr(obj, attr, label):
...
@@ -97,17 +108,28 @@ def show_attr(obj, attr, label):
show_rp
(
label
,
n
)
show_rp
(
label
,
n
)
def
show_payment
(
module_name
,
inq
,
pay
):
def
show_payment
(
inq
,
pay
):
if
registry
[
'module_name'
]
==
'sukabumi_kota'
:
print
(
'Berhasil dibayar pada urutan ke-{}'
.
format
(
pay
.
PEMBAYARAN_SPPT_KE
))
print
(
'Tabel PEMBAYARAN_SPPT'
)
show_fields
(
pay
,
[
'kd_kanwil'
,
'kd_kantor'
,
'kd_bank'
,
'kd_kanwil_bank'
,
'kd_kppbb_bank'
,
'kd_bank_tunggal'
,
'kd_bank_persepsi'
,
'kd_tp'
,
'jml_sppt_yg_dibayar'
,
'jml_pbb_yg_dibayar'
,
'denda_sppt'
])
else
:
print
(
print
(
'Berhasil dibayar pada urutan ke-{}'
.
format
(
'Berhasil dibayar pada urutan ke-{}'
.
format
(
pay
.
pembayaran_sppt_ke
))
pay
.
pembayaran_sppt_ke
))
print
(
'Tabel pembayaran_sppt'
)
print
(
'Tabel pembayaran_sppt'
)
show_fields
(
show_fields
(
pay
,
[
'kd_kanwil'
,
'kd_kantor'
,
'kd_bank'
,
'kd_kanwil_bank'
,
pay
,
[
'kd_kanwil'
,
'kd_kantor'
,
'kd_bank'
,
'kd_kanwil_bank'
,
'kd_kppbb_bank'
,
'kd_bank_tunggal'
,
'kd_bank_persepsi'
,
'kd_tp
'
,
'kd_kppbb_bank'
,
'kd_bank_tunggal'
,
'kd_bank_persepsi
'
,
'jml_sppt_yg_dibayar'
,
'jml_pbb_yg_dibayar'
,
'denda_sppt
'
,
'kd_tp'
,
'jml_sppt_yg_dibayar'
,
'jml_pbb_yg_dibayar
'
,
'denda_sblm_diskon'
,
'discount_pokok'
,
'discount_denda
'
,
'denda_sppt'
,
'denda_sblm_diskon'
,
'discount_pokok
'
,
'discount'
])
'discount_denda'
,
'discount'
])
try
:
try
:
row
,
fields
=
inq
.
get_other_payment_table
(
pay
)
row
,
fields
=
inq
.
get_other_payment_table
(
pay
)
except
AttributeError
:
except
AttributeError
:
...
@@ -118,7 +140,15 @@ def show_payment(module_name, inq, pay):
...
@@ -118,7 +140,15 @@ def show_payment(module_name, inq, pay):
show_fields
(
row
,
fields
)
show_fields
(
row
,
fields
)
def
show_reversal
(
module_name
,
inq
,
pay
):
def
show_reversal
(
inq
,
pay
):
if
registry
[
'module_name'
]
==
'sukabumi_kota'
:
print
(
'Pembayaran ke-{} berhasil dibatalkan'
.
format
(
pay
.
PEMBAYARAN_SPPT_KE
))
print
(
'Tabel PEMBAYARAN_SPPT'
)
show_fields
(
pay
,
[
'JML_SPPT_YG_DIBAYAR'
,
'JML_PBB_YG_DIBAYAR'
,
'DENDA_SPPT'
])
else
:
print
(
print
(
'Pembayaran ke-{} berhasil dibatalkan'
.
format
(
'Pembayaran ke-{} berhasil dibatalkan'
.
format
(
pay
.
pembayaran_sppt_ke
))
pay
.
pembayaran_sppt_ke
))
...
@@ -151,18 +181,19 @@ def main(argv=sys.argv):
...
@@ -151,18 +181,19 @@ def main(argv=sys.argv):
conf_file
=
option
.
conf
conf_file
=
option
.
conf
conf
=
ConfigParser
()
conf
=
ConfigParser
()
conf
.
read
(
conf_file
)
conf
.
read
(
conf_file
)
module_name
=
conf
.
get
(
'main'
,
'module'
)
cf
=
dict
(
conf
.
items
(
'main'
))
registry
[
'module_name'
]
=
module_name
=
cf
[
'module'
]
module
=
__import__
(
'sismiop.services.'
+
module_name
)
module
=
__import__
(
'sismiop.services.'
+
module_name
)
sub_module
=
getattr
(
module
.
services
,
module_name
)
sub_module
=
getattr
(
module
.
services
,
module_name
)
Inquiry
=
sub_module
.
Inquiry
Inquiry
=
sub_module
.
Inquiry
Reversal
=
sub_module
.
Reversal
Reversal
=
sub_module
.
Reversal
db_url
=
c
onf
.
get
(
'main'
,
'db_url'
)
db_url
=
c
f
[
'db_url'
]
engine
=
create_engine
(
db_url
)
engine
=
create_engine
(
db_url
)
engine
.
echo
=
option
.
sql_debug
engine
.
echo
=
option
.
sql_debug
session_factory
=
sessionmaker
(
bind
=
engine
)
session_factory
=
sessionmaker
(
bind
=
engine
)
sismiop
.
services
.
base
.
DBSession
=
DBSession
=
session_factory
()
sismiop
.
services
.
base
.
DBSession
=
DBSession
=
session_factory
()
register
(
sismiop
.
services
.
base
.
DBSession
)
register
(
sismiop
.
services
.
base
.
DBSession
)
persen_denda
=
conf
.
getfloat
(
'main'
,
'persen_denda'
)
persen_denda
=
float
(
cf
[
'persen_denda'
]
)
with
transaction
.
manager
:
with
transaction
.
manager
:
inq
=
Inquiry
(
inq
=
Inquiry
(
invoice_id
,
persen_denda
,
tgl_bayar
=
tgl_bayar
,
debug
=
True
)
invoice_id
,
persen_denda
,
tgl_bayar
=
tgl_bayar
,
debug
=
True
)
...
@@ -184,22 +215,29 @@ def main(argv=sys.argv):
...
@@ -184,22 +215,29 @@ def main(argv=sys.argv):
if
not
inq
.
is_available
():
if
not
inq
.
is_available
():
print
(
'Tagihan tidak diperkenankan dibayar melalui jalur ini.'
)
print
(
'Tagihan tidak diperkenankan dibayar melalui jalur ini.'
)
return
return
tp
=
dict
(
kd_tp
=
conf
.
get
(
'main'
,
'kd_tp'
))
if
cf
[
'module'
]
==
'sukabumi_kota'
:
if
conf
.
has_option
(
'main'
,
'kd_kantor'
):
tp
=
dict
(
KD_KANWIL_BANK
=
cf
[
'kd_kanwil_bank'
],
KD_KPPBB_BANK
=
cf
[
'kd_kppbb_bank'
],
KD_BANK_TUNGGAL
=
cf
[
'kd_bank_tunggal'
],
KD_BANK_PERSEPSI
=
cf
[
'kd_bank_persepsi'
],
KD_TP
=
cf
[
'kd_tp'
])
else
:
tp
=
dict
(
kd_tp
=
cf
[
'kd_tp'
])
if
cf
.
get
(
'kd_kantor'
):
tp
.
update
(
dict
(
tp
.
update
(
dict
(
kd_kanwil
=
conf
.
get
(
'main'
,
'kd_kanwil'
)
,
kd_kanwil
=
cf
[
'kd_kanwil'
]
,
kd_kantor
=
conf
.
get
(
'main'
,
'kd_kantor'
)
))
kd_kantor
=
cf
[
'kd_kantor'
]
))
if
conf
.
has_option
(
'main'
,
'kd_kanwil_bank'
):
if
cf
.
get
(
'kd_kanwil_bank'
):
tp
.
update
(
dict
(
tp
.
update
(
dict
(
kd_kanwil_bank
=
conf
.
get
(
'main'
,
'kd_kanwil_bank'
)
,
kd_kanwil_bank
=
cf
[
'kd_kanwil_bank'
]
,
kd_kppbb_bank
=
conf
.
get
(
'main'
,
'kd_kppbb_bank'
)
))
kd_kppbb_bank
=
cf
[
'kd_kppbb_bank'
]
))
if
conf
.
has_option
(
'main'
,
'kd_bank_tunggal'
):
if
cf
.
get
(
'kd_bank_tunggal'
):
tp
.
update
(
dict
(
tp
.
update
(
dict
(
kd_bank_tunggal
=
conf
.
get
(
'main'
,
'kd_bank_tunggal'
),
kd_bank_tunggal
=
cf
[
'kd_bank_tunggal'
],
kd_bank_persepsi
=
conf
.
get
(
'main'
,
'kd_bank_persepsi'
)))
kd_bank_persepsi
=
cf
[
'kd_bank_persepsi'
]))
nip
=
conf
.
get
(
'main'
,
'nip_pencatat'
)
pay
=
inq
.
do_payment
(
tp
,
cf
[
'nip_pencatat'
])
pay
=
inq
.
do_payment
(
tp
,
nip
)
show_payment
(
inq
,
pay
)
show_payment
(
module_name
,
inq
,
pay
)
if
option
.
reversal
:
if
option
.
reversal
:
rev
=
Reversal
(
invoice_id
)
rev
=
Reversal
(
invoice_id
)
pay
=
rev
.
payment
pay
=
rev
.
payment
...
@@ -207,7 +245,7 @@ def main(argv=sys.argv):
...
@@ -207,7 +245,7 @@ def main(argv=sys.argv):
print
(
ERR_PAYMENT_NOT_FOUND
)
print
(
ERR_PAYMENT_NOT_FOUND
)
return
return
rev
.
do_reversal
()
rev
.
do_reversal
()
show_reversal
(
module_name
,
inq
,
pay
)
show_reversal
(
inq
,
pay
)
if
option
.
update_status_bayar
:
if
option
.
update_status_bayar
:
if
inq
.
total
==
0
:
if
inq
.
total
==
0
:
if
inq
.
invoice
.
status_pembayaran_sppt
==
'0'
:
if
inq
.
invoice
.
status_pembayaran_sppt
==
'0'
:
...
...
sismiop/services/sukabumi_kota.py
View file @
606e521
from
datetime
import
datetime
from
sqlalchemy
import
func
from
sqlalchemy
import
func
from
..models.sukabumi_kota
import
(
from
..models.sukabumi_kota
import
(
Objek
,
Objek
,
...
@@ -12,7 +13,10 @@ from .default import (
...
@@ -12,7 +13,10 @@ from .default import (
Inquiry
as
BaseInquiry
,
Inquiry
as
BaseInquiry
,
Reversal
as
BaseReversal
,
Reversal
as
BaseReversal
,
)
)
from
.base
import
get_db_session
from
.base
import
(
get_db_session
,
Query
,
)
def
get_nop
(
row
):
def
get_nop
(
row
):
...
@@ -156,14 +160,63 @@ class Inquiry(BaseInquiry):
...
@@ -156,14 +160,63 @@ class Inquiry(BaseInquiry):
def
get_propinsi_model
(
self
):
# Override
def
get_propinsi_model
(
self
):
# Override
return
Propinsi
return
Propinsi
def
invoice2payment
(
self
):
Payment
=
self
.
get_payment_model
()
q
=
self
.
query_payment
()
q
=
q
.
order_by
(
Payment
.
PEMBAYARAN_SPPT_KE
.
desc
())
return
q
.
first
()
def
do_payment
(
self
,
bank_fields
,
nip_pencatat
):
DBSession
=
get_db_session
()
bayar
=
self
.
invoice2payment
()
if
bayar
:
ke
=
bayar
.
PEMBAYARAN_SPPT_KE
+
1
else
:
ke
=
1
inv
=
self
.
invoice
d
=
dict
(
KD_PROPINSI
=
inv
.
KD_PROPINSI
,
KD_DATI2
=
inv
.
KD_DATI2
,
KD_KECAMATAN
=
inv
.
KD_KECAMATAN
,
KD_KELURAHAN
=
inv
.
KD_KELURAHAN
,
KD_BLOK
=
inv
.
KD_BLOK
,
NO_URUT
=
inv
.
NO_URUT
,
KD_JNS_OP
=
inv
.
KD_JNS_OP
,
THN_PAJAK_SPPT
=
inv
.
THN_PAJAK_SPPT
,
PEMBAYARAN_SPPT_KE
=
ke
,
TGL_REKAM_BYR_SPPT
=
datetime
.
now
(),
TGL_PEMBAYARAN_SPPT
=
self
.
tgl_bayar
,
NIP_REKAM_BYR_SPPT
=
nip_pencatat
,
JML_SPPT_YG_DIBAYAR
=
self
.
total
,
DENDA_SPPT
=
self
.
denda
)
Payment
=
self
.
get_payment_model
()
for
key
,
value
in
bank_fields
.
items
():
d
[
key
]
=
value
bayar
=
Payment
(
**
d
)
DBSession
.
add
(
bayar
)
self
.
invoice
.
STATUS_PEMBAYARAN_SPPT
=
'1'
# Lunas
DBSession
.
add
(
self
.
invoice
)
return
bayar
class
Reversal
(
Inquiry
):
def
__init__
(
self
,
invoice_id
):
Query
.
__init__
(
self
,
invoice_id
)
self
.
payment
=
None
if
not
self
.
invoice
:
return
if
self
.
invoice
.
STATUS_PEMBAYARAN_SPPT
!=
'1'
:
return
self
.
payment
=
self
.
invoice2payment
()
class
Reversal
(
BaseReversal
):
def
get_invoice_model
(
self
):
# Override
def
get_invoice_model
(
self
):
# Override
return
Sppt
return
Sppt
def
get_payment_model
(
self
):
# Override
def
get_payment_model
(
self
):
# Override
return
PembayaranSppt
return
PembayaranSppt
def
do_reversal
(
self
):
DBSession
=
get_db_session
()
self
.
payment
.
JML_SPPT_YG_DIBAYAR
=
self
.
payment
.
DENDA_SPPT
=
0
DBSession
.
add
(
self
.
payment
)
self
.
invoice
.
STATUS_PEMBAYARAN_SPPT
=
'0'
DBSession
.
add
(
self
.
invoice
)
class
AvailableInvoice
(
BaseAvailableInvoice
):
class
AvailableInvoice
(
BaseAvailableInvoice
):
def
get_inquiry_class
(
self
):
# Override
def
get_inquiry_class
(
self
):
# Override
...
...
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